torque/dist/torque.full.js
Pablo Alonso Garcia deced717fd Dist files
2017-03-27 13:03:30 +02:00

18 lines
570 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.torque=e()}}(function(){var define,module,exports;return function e(t,n,r){function i(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(s)return s(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return i(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var s=typeof require=="function"&&require;for(var o=0;o<r.length;o++)i(r[o]);return i}({1:[function(e,t,n){var r=function(e,t){if(e<0)throw new Error("start must be a positive number");if(e>=t)throw new Error("start must be smaller than end");this.start=e,this.end=t};r.prototype={diff:function(){return this.end-this.start},isLast:function(e){return(e|0)===this.end}},t.exports=r},{}],2:[function(e,t,n){(function(n){function u(e,t){if(!t.steps)throw new Error("steps option missing");this.options=t,this.running=!1,this._tick=this._tick.bind(this),this._t0=+(new Date),this.callback=e,this._time=0,this.itemsReady=!1,this.options=r.extend({animationDelay:0,maxDelta:.2,loop:t.loop===undefined?!0:t.loop},this.options),this.steps(t.steps)}var r=e("./"),i=e("./animator-steps-range"),s=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame||function(e){return n.setTimeout(e,1e3/60)},o=n.cancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelAnimationFrame||n.msCancelAnimationFrame||function(e){clearTimeout(e)};u.prototype={start:function(){this.running=!0,s(this._tick),this.options.onStart&&this.options.onStart(),this.stepsRange().diff()===1&&(this.running=!1)},isRunning:function(){return this.running},stop:function(){this.pause(),this.time(this.stepsRange().start),this.options.onStop&&this.options.onStop()},time:function(e){if(!arguments.length)return this._time;this._time=e;var t=this.range(this.domain(this._time));this.callback(t)},toggle:function(){this.running?this.pause():this.start()},rescale:function(){return this.domainInv=r.math.linear(this.options.animationDelay,this.options.animationDelay+this.options.animationDuration),this.domain=this.domainInv.invert(),this.range=r.math.linear(0,this._defaultStepsRange.end),this.rangeInv=this.range.invert(),this.time(this._time),this.running?this.start():this.pause(),this},duration:function(e){return arguments.length?(this.options.animationDuration=e,this.time()>e&&this.time(0),this.rescale(),this):this.options.animationDuration},steps:function(e){return this.options.steps=e,this._defaultStepsRange=new i(0,e),this.rescale()},stepsRange:function(e,t){if(arguments.length===2){if(e<this._defaultStepsRange.start)throw new Error("start must be within default steps range");if(t>this._defaultStepsRange.end)throw new Error("end must be within default steps range");this._customStepsRange=new i(e,t),this.options.onStepsRange&&this.options.onStepsRange();var n=this.step()|0;(n<e||n>t)&&this.step(e)}return this._customStepsRange||this._defaultStepsRange},removeCustomStepsRange:function(){this._customStepsRange=undefined,this.options.onStepsRange&&this.options.onStepsRange()},step:function(e){if(arguments.length===0)return this.range(this.domain(this._time));this._time=this.domainInv(this.rangeInv(e))},pause:function(){this.running=!1,o(this._tick),this.options.onPause&&this.options.onPause()},_tick:function(){var e=+(new Date),t=(e-this._t0)*.001;t=Math.min(this.options.maxDelta,t),this._t0=e,this._time+=t;var n=this.stepsRange();n.isLast(this.step())&&(this.options.loop?this.step(n.start):(this.time(this.options.animationDuration),this.pause())),this.running&&(this.time(this._time),s(this._tick))}},t.exports=u}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./":11,"./animator-steps-range":1}],3:[function(e,t,n){var r={version:"1.0.0",style:{"comp-op":{css:"comp-op","default-value":"src-over","default-meaning":"add the current layer on top of other layers",doc:"Composite operation. This defines how this layer should behave relative to layers atop or below it.",type:["src","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","darken","lighten"]}},layer:{"buffer-size":{"default-value":"0",type:"float","default-meaning":"No buffer will be used",doc:"Extra tolerance around the Layer extent (in pixels) used to when querying and (potentially) clipping the layer data during rendering"},"-torque-clear-color":{css:"-torque-clear-color",type:"color","default-value":"rgba(255, 255, 255, 0)","default-meaning":"full clear",doc:"color used to clear canvas on each frame"},"-torque-frame-count":{css:"-torque-frame-count","default-value":"128",type:"number","default-meaning":"the data is broken into 128 time frames",doc:"Number of animation steps/frames used in the animation. If the data contains a fewere number of total frames, the lesser value will be used."},"-torque-resolution":{css:"-torque-resolution","default-value":"2",type:"number","default-meaning":"",doc:"Spatial resolution in pixels. A resolution of 1 means no spatial aggregation of the data. Any other resolution of N results in spatial aggregation into cells of NxN pixels. The value N must be power of 2"},"-torque-animation-duration":{css:"-torque-animation-duration","default-value":"30",type:"number","default-meaning":"the animation lasts 30 seconds",doc:"Animation duration in seconds"},"-torque-aggregation-function":{css:"-torque-aggregation-function","default-value":"count(cartodb_id)",type:"string","default-meaning":"the value for each cell is the count of points in that cell",doc:"A function used to calculate a value from the aggregate data for each cell. See -torque-resolution"},"-torque-time-attribute":{css:"-torque-time-attribute","default-value":"time",type:"string","default-meaning":"the data column in your table that is of a time based type",doc:"The table column that contains the time information used create the animation"},"-torque-data-aggregation":{css:"-torque-data-aggregation","default-value":"linear",type:["cumulative"],"default-meaning":"previous values are discarded",doc:"A linear animation will discard previous values while a cumulative animation will accumulate them until it restarts"}},symbolizers:{"*":{"comp-op":{css:"comp-op","default-value":"src-over","default-meaning":"add the current layer on top of other layers",doc:"Composite operation. This defines how this layer should behave relative to layers atop or below it.",type:["src","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","darken","lighten"]},opacity:{css:"opacity",type:"float",doc:"An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited back to main buffer)","default-value":1,"default-meaning":"no separate buffer will be used and no alpha will be applied to the style after rendering"}},trail:{steps:{css:"trail-steps",type:"float","default-value":1,"default-meaning":"no trail steps",doc:"How many steps of trails are going to be rendered"}},polygon:{fill:{css:"polygon-fill",type:"color","default-value":"rgba(128,128,128,1)","default-meaning":"gray and fully opaque (alpha = 1), same as rgb(128,128,128)",doc:"Fill color to assign to a polygon"},"fill-opacity":{css:"polygon-opacity",type:"float",doc:"The opacity of the polygon","default-value":1,"default-meaning":"opaque"}},line:{stroke:{css:"line-color","default-value":"rgba(0,0,0,1)",type:"color","default-meaning":"black and fully opaque (alpha = 1), same as rgb(0,0,0)",doc:"The color of a drawn line"},"stroke-width":{css:"line-width","default-value":1,type:"float",doc:"The width of a line in pixels"},"stroke-opacity":{css:"line-opacity","default-value":1,type:"float","default-meaning":"opaque",doc:"The opacity of a line"},"stroke-linejoin":{css:"line-join","default-value":"miter",type:["miter","round","bevel"],doc:"The behavior of lines when joining"},"stroke-linecap":{css:"line-cap","default-value":"butt",type:["butt","round","square"],doc:"The display of line endings"}},markers:{file:{css:"marker-file",doc:"An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.","default-value":"","default-meaning":"An ellipse or circle, if width equals height",type:"uri"},opacity:{css:"marker-opacity",doc:"The overall opacity of the marker, if set, overrides both the opacity of both the fill and stroke","default-value":1,"default-meaning":"The stroke-opacity and fill-opacity will be used",type:"float"},"fill-opacity":{css:"marker-fill-opacity",doc:"The fill opacity of the marker","default-value":1,"default-meaning":"opaque",type:"float"},stroke:{css:"marker-line-color",doc:"The color of the stroke around a marker shape.","default-value":"black",type:"color"},"stroke-width":{css:"marker-line-width",doc:"The width of the stroke around a marker shape, in pixels. This is positioned on the boundary, so high values can cover the area itself.",type:"float"},"stroke-opacity":{css:"marker-line-opacity","default-value":1,"default-meaning":"opaque",doc:"The opacity of a line",type:"float"},fill:{css:"marker-fill","default-value":"blue",doc:"The color of the area of the marker.",type:"color"},"marker-type":{css:"marker-type",type:["rectangle","ellipse"],"default-value":"ellipse",doc:"The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an rectangle or an ellipse (a circle if height is equal to width)"},width:{css:"marker-width","default-value":10,doc:"The width of the marker, if using one of the default types.",type:"float"}},point:{file:{css:"point-file",type:"uri",required:!1,"default-value":"none",doc:"Image file to represent a point"},opacity:{css:"point-opacity",type:"float","default-value":1,"default-meaning":"Fully opaque",doc:"A value from 0 to 1 to control the opacity of the point"}}},colors:{aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50],transparent:[0,0,0,0]}};t.exports={version:{latest:r,"1.0.0":r}}},{}],4:[function(e,t,n){(function(n){function i(){}var r=n.carto||e("carto");i.prototype={},i.optionsFromLayer=function(e){var t={};if(!e)return t;var n={"buffer-size":"buffer-size","-torque-frame-count":"steps","-torque-resolution":"resolution","-torque-animation-duration":"animationDuration","-torque-aggregation-function":"countby","-torque-time-attribute":"column","-torque-data-aggregation":"data_aggregation"};for(var r in n){var i=e.eval(r);if(i!==undefined){var s=n[r];t[s]=i}}return t},i.optionsFromCartoCSS=function(e){var t=(new r.RendererJS).render(e),n=t.findLayer({name:"Map"});return i.optionsFromLayer(n)},t.exports.TorqueLayer=i}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{carto:47}],5:[function(e,t,n){(function(e){function r(){var e=arguments,t=e[0];for(var n=1;n<e.length;++n){var r=e[n];for(var i in r)t[i]=r[i]}return t}function i(e){return r({},e)}function s(e){return typeof e=="function"||!1}function o(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)=="[object Array]"}function a(){return!!document.createElement("canvas")}function f(){return typeof navigator!="undefined"?navigator.userAgent:""}var n={};n.on=function(e,t){var n=this._evt_callbacks=this._evt_callbacks||{},r=n[e]||(n[e]=[]);return r.push(t),this},n.trigger=function(e){var t=this._evt_callbacks&&this._evt_callbacks[e];for(var n=0;t&&n<t.length;++n)t[n].apply(this,Array.prototype.slice.call(arguments,1));return this},n.fire=n.trigger,n.off=function(e,t){var n=this._evt_callbacks&&this._evt_callbacks[e];if(n&&!t)return delete this._evt_callbacks[e],this;var r=[];for(var i=0;n&&i<n.length;++i)n[i]===t&&r.push(i);while((i=r.pop())!==undefined)n.splice(i,1);return this},n.callbacks=function(e){return this._evt_callbacks&&this._evt_callbacks[e]||[]};var u={Uint8Array:typeof e.Uint8Array!="undefined"?e.Uint8Array:Array,Uint8ClampedArray:typeof e.Uint8ClampedArray!="undefined"?e.Uint8ClampedArray:Array,Uint32Array:typeof e.Uint32Array!="undefined"?e.Uint32Array:Array,Int16Array:typeof e.Int16Array!="undefined"?e.Int16Array:Array,Int32Array:typeof e.Int32Array!="undefined"?e.Int32Array:Array},l={sprites_to_images:f().indexOf("Safari")===-1&&f().indexOf("Firefox")===-1};t.exports={Event:n,extend:r,clone:i,isFunction:s,isArray:o,types:u,isBrowserSupported:a,flags:l}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{}],6:[function(e,t,n){function r(e){function n(e,t){return function(){t.apply(e)}}this.isAdded_=!1,this.isAnimated_=!1,this.paneName_=r.DEFAULT_PANE_NAME_,this.updateHandler_=null,this.resizeHandler_=null,this.topLeft_=null,this.centerListener_=null,this.resizeListener_=null,this.needsResize_=!0,this.requestAnimationFrameId_=null;var t=document.createElement("canvas");t.style.position="absolute",t.style.top=0,t.style.left=0,t.style.pointerEvents="none",this.canvas=t,this.repositionFunction_=n(this,this.repositionCanvas_),this.resizeFunction_=n(this,this.resize_),this.requestUpdateFunction_=n(this,this.update_),e&&this.setOptions(e)}r.prototype=new google.maps.OverlayView,r.DEFAULT_PANE_NAME_="overlayLayer",r.CSS_TRANSFORM_=function(){var e=document.createElement("div"),t=["transform","WebkitTransform","MozTransform","OTransform","msTransform"];for(var n=0;n<t.length;n++){var r=t[n];if(e.style[r]!==undefined)return r}return t[0]}(),r.prototype.requestAnimFrame_=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},r.prototype.cancelAnimFrame_=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(e){},r.prototype.setOptions=function(e){e.animate!==undefined&&this.setAnimate(e.animate),e.paneName!==undefined&&this.setPane(e.paneName),e.updateHandler!==undefined&&this.setUpdateHandler(e.updateHandler),e.resizeHandler!==undefined&&this.setResizeHandler(e.resizeHandler),e.readyHandler&&(this.readyHandler=e.readyHandler)},r.prototype.setAnimate=function(e){this.isAnimated_=!!e,this.isAnimated_&&this.scheduleUpdate()},r.prototype.isAnimated=function(){return this.isAnimated_},r.prototype.setPaneName=function(e){this.paneName_=e,this.setPane_()},r.prototype.setOpacity=function(e){this.canvas.style.opacity=e},r.prototype.getOpacity=function(){return this.canvas.style.opacity},r.prototype.getPaneName=function(){return this.paneName_},r.prototype.setPane_=function(){if(!this.isAdded_)return;var e=this.getPanes();if(!e[this.paneName_])throw new Error('"'+this.paneName_+'" is not a valid MapPane name.');e[this.paneName_].appendChild(this.canvas)},r.prototype.setResizeHandler=function(e){this.resizeHandler_=e},r.prototype.setUpdateHandler=function(e){this.updateHandler_=e},r.prototype.onAdd=function(){if(this.isAdded_)return;this.isAdded_=!0,this.setPane_(),this.resizeListener_=google.maps.event.addListener(this.getMap(),"resize",this.resizeFunction_),this.centerListener_=google.maps.event.addListener(this.getMap(),"center_changed",this.repositionFunction_),this.resize_(),this.repositionCanvas_(),this.readyHandler&&this.readyHandler()},r.prototype.onRemove=function(){if(!this.isAdded_)return;this.isAdded_=!1,this.topLeft_=null,this.canvas.parentElement.removeChild(this.canvas),this.centerListener_&&(google.maps.event.removeListener(this.centerListener_),this.centerListener_=null),this.resizeListener_&&(google.maps.event.removeListener(this.resizeListener_),this.resizeListener_=null),this.requestAnimationFrameId_&&(this.cancelAnimFrame_.call(window,this.requestAnimationFrameId_),this.requestAnimationFrameId_=null)},r.prototype.resize_=function(){if(!this.isAdded_)return;var e=this.getMap(),t=e.getDiv().offsetWidth,n=e.getDiv().offsetHeight,r=this.canvas.width,i=this.canvas.height;if(r!==t||i!==n)this.canvas.width=t,this.canvas.height=n,this.canvas.style.width=t+"px",this.canvas.style.height=n+"px",this.needsResize_=!0,this.scheduleUpdate()},r.prototype.draw=function(){this.repositionCanvas_()},r.prototype.repositionCanvas_=function(){var e=this.getMap().getBounds();this.topLeft_=new google.maps.LatLng(e.getNorthEast().lat(),e.getSouthWest().lng());var t=this.getProjection(),n=t.fromLatLngToDivPixel(this.topLeft_),i=(1<<this.getMap().getZoom())*256;Math.abs(n.x)>i&&(n.x-=i),this.canvas.style[r.CSS_TRANSFORM_]="translate("+Math.round(n.x)+"px,"+Math.round(n.y)+"px)",this.scheduleUpdate()},r.prototype.update_=function(){this.requestAnimationFrameId_=null;if(!this.isAdded_)return;this.isAnimated_&&this.scheduleUpdate(),this.needsResize_&&this.resizeHandler_&&(this.needsResize_=!1,this.resizeHandler_()),this.updateHandler_&&this.updateHandler_()},r.prototype.getTopLeft=function(){return this.topLeft_},r.prototype.scheduleUpdate=function(){this.isAdded_&&!this.requestAnimationFrameId_&&(this.requestAnimationFrameId_=this.requestAnimFrame_.call(window,this.requestUpdateFunction_))},t.exports=r},{}],7:[function(e,t,n){function r(e,t){this.tileSize=new google.maps.Size(256,256),this.maxZoom=19,this.name="Tile #s",this.alt="Canvas tile layer",this.tiles={},this.canvas_setup=e,this.render=t,t||(this.render=e)}r.prototype.create_tile_canvas=function(e,t,n){var r=n.createElement("canvas"),i=n.createElement("canvas");r.style.border=i.style.border="none",r.style.margin=i.style.margin="0",r.style.padding=i.style.padding="0";var s=r.getContext("2d");s.width=r.width=this.tileSize.width,s.height=r.height=this.tileSize.height;var o=i.getContext("2d");i.width=o.width=this.tileSize.width,i.height=o.height=this.tileSize.height;var u=e.x+"_"+e.y+"_"+t;return r.setAttribute("id",u),i.setAttribute("id",u),u in this.tiles&&delete this.tiles[u],this.tiles[u]={canvas:r,ctx:s,hit_canvas:i,hit_ctx:o,coord:e,zoom:t,primitives:null},this.canvas_setup&&this.canvas_setup(this.tiles[u],e,t),r},r.prototype.each=function(e){for(var t in this.tiles){var n=this.tiles[t];e(n)}},r.prototype.recreate=function(){for(var e in this.tiles){var t=this.tiles[e];this.canvas_setup(t,t.coord,t.zoom)}},r.prototype.redraw_tile=function(e){this.render(e,e.coord,e.zoom)},r.prototype.redraw=function(){for(var e in this.tiles){var t=this.tiles[e];this.render(t,t.coord,t.zoom)}},r.prototype.getTile=function(e,t,n){return this.create_tile_canvas(e,t,n)},r.prototype.releaseTile=function(e){var t=e.getAttribute("id");delete this.tiles[t]},t.exports=r},{}],8:[function(e,t,n){function r(){}r.prototype={_initTileLoader:function(e,t){this._map=e,this._projection=t,this._tiles={},this._tilesLoading={},this._tilesToLoad=0,this._updateTiles=this._updateTiles.bind(this),this._listeners=[],this._listeners.push(google.maps.event.addListener(this._map,"dragend",this._updateTiles),google.maps.event.addListener(this._map,"zoom_changed",this._updateTiles)),this.tileSize=256,this._updateTiles()},_removeTileLoader:function(){this._listeners.forEach(function(e){google.maps.event.removeListener(e)}),this._removeTiles()},_removeTiles:function(){for(var e in this._tiles)this._removeTile(e)},_reloadTiles:function(){this._removeTiles(),this._updateTiles()},_updateTiles:function(){if(!this._map)return;var e=this._map.getBounds(),t=this._map.getZoom(),n=this.tileSize,r=1<<t,i=new google.maps.LatLng(e.getNorthEast().lat(),e.getSouthWest().lng()),s=new google.maps.LatLng(e.getSouthWest().lat(),e.getNorthEast().lng());this._projection=this._map.getProjection();var o=this._projection.fromLatLngToPoint(i),u=this._projection.fromLatLngToPoint(s),a=new google.maps.Point(Math.floor(o.x*r/n),Math.floor(o.y*r/n)),f=new google.maps.Point(Math.floor(u.x*r/n),Math.floor(u.y*r/n));this._addTilesFromCenterOut(a,f),this._removeOtherTiles(a,f)},_removeOtherTiles:function(e,t){var n,r,i,s,o=this._map.getZoom();for(s in this._tiles)this._tiles.hasOwnProperty(s)&&(n=s.split(":"),r=parseInt(n[0],10),i=parseInt(n[1],10),z=parseInt(n[2],10),(z!==o||r<e.x||r>t.x||i<e.y||i>t.y)&&this._removeTile(s))},_removeTile:function(e){this.onTileRemoved&&this.onTileRemoved(this._tiles[e]),delete this._tiles[e],delete this._tilesLoading[e]},_tileKey:function(e){return e.x+":"+e.y+":"+e.zoom},_tileShouldBeLoaded:function(e){var t=this._tileKey(e);return!(t in this._tiles)&&!(t in this._tilesLoading)},_tileLoaded:function(e,t){this._tilesToLoad--;var n=e.x+":"+e.y+":"+e.zoom;this._tiles[n]=t,delete this._tilesLoading[n],this._tilesToLoad===0&&this.onTilesLoaded&&this.onTilesLoaded()},getTilePos:function(e){var t=1<<this._map.getZoom();e={x:(e.x%t+t)%t,y:e.y},e=new google.maps.Point(e.x*this.tileSize,e.y*this.tileSize);var n=this._map.getBounds(),r=new google.maps.LatLng(n.getNorthEast().lat(),n.getSouthWest().lng()),i=this._map.getProjection().fromLatLngToPoint(r);return zoom=1<<this._map.getZoom(),i.x=i.x*zoom,i.y=i.y*zoom,new google.maps.Point(e.x-i.x,e.y-i.y)},_addTilesFromCenterOut:function(e,t){function f(e){var t=e.x-r.x,n=e.y-r.y;return t*t+n*n}var n=[],r=new google.maps.Point((e.x+t.x)*.5,(e.y+t.y)*.5),i=this._map.getZoom(),s,o,u;for(s=e.y;s<=t.y;s++)for(o=e.x;o<=t.x;o++)u=new google.maps.Point(o,s),u.zoom=i,this._tileShouldBeLoaded(u)&&n.push(u);var a=n.length;if(a===0)return;n.sort(function(e,t){return f(e)-f(t)}),this._tilesToLoad+=a;for(o=0;o<a;o++){var l=n[o],c=this._tileKey(l);this._tilesLoading[c]=l,this.onTileAdded&&this.onTileAdded(l)}this.onTilesLoading&&this.onTilesLoading()}},t.exports=r},{}],9:[function(e,t,n){var r={};typeof google!="undefined"&&typeof google.maps!="undefined"&&(r=e("./torque"),r.GMapsTileLoader=e("./gmaps_tileloader_mixin")),t.exports=r},{"./gmaps_tileloader_mixin":8,"./torque":10}],10:[function(e,t,n){(function(n){function a(e){var t=this;if(!i.isBrowserSupported())throw new Error("browser is not supported by torque");this.keys=[0],Object.defineProperty(this,"key",{get:function(){return this.getKey()}}),this.shader=null,this.ready=!1,this.options=i.extend({},e),this.options=i.extend({provider:"windshaft",renderer:"point",resolution:2,steps:100,visible:!0},this.options),e.cartocss&&i.extend(this.options,i.common.TorqueLayer.optionsFromCartoCSS(e.cartocss)),e.tileJSON&&(this.options.provider="tileJSON"),this.hidden=!this.options.visible,this.animator=new i.Animator(function(e){var n=e|0;t.getKey()!==n&&t.setKey(n)},i.extend(i.clone(this.options),{onPause:function(){t.fire("pause")},onStop:function(){t.fire("stop")},onStart:function(){t.fire("play")},onStepsRange:function(){t.fire("change:stepsRange",t.animator.stepsRange())}})),this.play=this.animator.start.bind(this.animator),this.stop=this.animator.stop.bind(this.animator),this.pause=this.animator.pause.bind(this.animator),this.toggle=this.animator.toggle.bind(this.animator),this.setDuration=this.animator.duration.bind(this.animator),this.isRunning=this.animator.isRunning.bind(this.animator),s.call(this,{animate:!1,updateHandler:this.render,readyHandler:this.initialize})}function f(e){this.options=i.extend({},e),o.call(this,this._loadTile.bind(this),this.drawTile.bind(this)),this.initialize(e)}var r=n.carto||e("carto"),i=e("../"),s=e("./CanvasLayer"),o=e("./canvas_tile_layer"),u=e("./gmaps_tileloader_mixin");a.prototype=i.extend({},s.prototype,u.prototype,i.Event,{providers:{sql_api:i.providers.json,url_template:i.providers.JsonArray,windshaft:i.providers.windshaft,tileJSON:i.providers.tileJSON},renderers:{point:i.renderer.Point,pixel:i.renderer.Rectangle},initialize:function(){var e=this;this.onTileAdded=this.onTileAdded.bind(this),this.options.ready=function(){e.fire("change:bounds",{bounds:e.provider.getBounds()}),e.animator.steps(e.provider.getSteps()),e.animator.rescale(),e.fire("change:steps",{steps:e.provider.getSteps()}),e.setKeys(e.getKeys())},this.provider=new this.providers[this.options.provider](this.options),this.renderer=new this.renderers[this.options.renderer](this.getCanvas(),this.options),this.renderer.options.errorCallback=this.options.errorCallback,this._cacheListener=google.maps.event.addListener(this.map,"zoom_changed",function(){e.renderer&&e.renderer.clearSpriteCache()}),this._initTileLoader(this.map,this.getProjection()),this.shader&&this.renderer.setShader(this.shader)},hide:function(){return this.hidden?this:(this.pause(),this.clear(),this.hidden=!0,this)},show:function(){return this.hidden?(this.hidden=!1,this.play(),this.options.steps===1&&this.redraw(),this):this},setSQL:function(e){if(this.provider.options.named_map)throw new Error("SQL queries on named maps are read-only");if(!this.provider||!this.provider.setSQL)throw new Error("this provider does not support SQL");return this.provider.setSQL(e),this._reloadTiles(),this},setBlendMode:function(e){this.renderer&&this.renderer.setBlendMode(e),this.redraw()},setSteps:function(e){this.provider&&this.provider.setSteps(e),this.animator&&this.animator.steps(e),this._reloadTiles()},setColumn:function(e,t){this.provider&&this.provider.setColumn(e,t),this._reloadTiles()},getTimeBounds:function(){return this.provider&&this.provider.getKeySpan()},getCanvas:function(){return this.canvas},onTileAdded:function(e){var t=this;this.provider.getTileData(e,e.zoom,function(n){if(e.zoom!==t.map.getZoom())return;t._tileLoaded(e,n),t.fire("tileLoaded"),n&&t.redraw()})},clear:function(){var e=this.canvas;e.width=e.width},render:function(){if(this.hidden)return;var e,t,n,r=this.canvas;this.renderer.clearCanvas();var i=r.getContext("2d");for(e in this._tiles)t=this._tiles[e],t&&(n=this.getTilePos(t.coord),i.setTransform(1,0,0,1,n.x,n.y),this.renderer.renderTile(t,this.keys));this.renderer.applyFilters()},getActivePointsBBox:function(e){var t=[],n=this.options.resolution*(256/this.options.resolution-1);for(var r in this._tiles){var i=this._tiles[r];t=t.concat(this.renderer.getActivePointsBBox(i,e))}return t},setKey:function(e){this.setKeys([e])},getKeys:function(){return this.keys},setKeys:function(e){this.keys=e,this.animator.step(this.getKey()),this.redraw(),this.fire("change:time",{time:this.getTime(),step:this.getKey()})},getKey:function(){return this.keys[0]},setStep:function(e){if(e===undefined||e.length!==undefined)throw new Error("setTime only accept scalars");this.setKey(e)},renderRange:function(e,t){this.pause();var n=[];for(var r=e;r<=t;r++)n.push(r);this.setKeys(n)},resetRenderRange:function(){this.stop(),this.play()},stepToTime:function(e){if(!this.provider)return 0;var t=this.provider.getKeySpan(),n=t.start+(t.end-t.start)*(e/this.provider.getSteps());return new Date(n)},timeToStep:function(e){typeof e=="Date"&&(e=e.getTime());if(!this.provider)return 0;var t=this.provider.getKeySpan(),n=this.provider.getSteps()*(e-t.start)/(t.end-t.start);return n},getStep:function(){return this.getKey()},getTime:function(){return this.stepToTime(this.getKey())},setCartoCSS:function(e){if(!this.renderer)throw new Error("renderer is not valid");if(this.provider&&this.provider.options.named_map)return console.log("Torque layer: CartoCSS style on named maps is read-only"),!1;var t=(new r.RendererJS).render(e);this.shader=t,this.renderer&&this.renderer.setShader(t);var n=i.common.TorqueLayer.optionsFromLayer(t.findLayer({name:"Map"}));return this.provider&&this.provider.setCartoCSS&&this.provider.setCartoCSS(e),this.provider&&this.provider.setOptions(n)&&this._reloadTiles(),i.extend(this.options,n),n.animationDuration&&this.animator.duration(n.animationDuration),this.redraw(),this},redraw:function(){this.scheduleUpdate()},onRemove:function(){this.fire("remove"),s.prototype.onRemove.call(this),this.animator.stop(),this._removeTileLoader(),google.maps.event.removeListener(this._cacheListener)},getValues:function(e){var t=[];e=e===undefined?this.getKey():e;var n,r;for(n in this._tiles)r=this._tiles[n],this.renderer.getValues(r,e,t);return t},getValueForPos:function(e,t,n){n=n===undefined?this.getKey():n;var r,i,s,o=null,u,a;for(r in this._tiles){i=this._tiles[r],s=this.getTilePos(i.coord),u=e-s.x,a=t-s.y,u>=0&&a>=0&&u<this.renderer.TILE_SIZE&&a<=this.renderer.TILE_SIZE&&(o=this.renderer.getValueFor(i,n,u,a));if(o!==null)return o}return null},pointCount:function(e){var t,n;e=e===undefined?this.key:e;var r=0;for(t in this._tiles)n=this._tiles[t],n&&(r+=n.timeCount[e]);return r},getValueForBBox:function(e,t,n,r){var i=e+n,s=t+r,o=0;for(_y=t;t<s;t+=this.options.resolution)for(_x=e;e<i;e+=this.options.resolution){var u=this.getValueForPos(_x,_y);if(u){var a=u.bbox,f=this.getProjection(),l=f.fromLatLngToContainerPixel(new google.maps.LatLng(a[1].lat,a[1].lon));l.x<i&&l.y<s&&(o+=u.value)}}return o},error:function(e){return this.options.errorCallback=e,this}}),f.prototype=i.extend({},o.prototype,{providers:{sql_api:i.providers.json,url_template:i.providers.JsonArray},renderers:{point:i.renderer.Point,pixel:i.renderer.Rectangle},initialize:function(e){var t=this;this.keys=[0],this.options.renderer=this.options.renderer||"pixel",this.options.provider=this.options.provider||"sql_api",this.provider=new this.providers[this.options.provider](e),this.renderer=new this.renderers[this.options.renderer](null,e)},_tileLoaded:function(e,t){e.data=t,this.drawTile(e)},_loadTile:function(e,t,n){var r=this,i=1<<n,s={x:(t
.x%i+i)%i,y:t.y};this.provider.getTileData(s,n,function(t){r._tileLoaded(e,t)})},drawTile:function(e){var t=e.canvas;if(!e.data)return;t.width=t.width,this.renderer.setCanvas(t);var n=this.renderer.accumulate(e.data,this.getKey());this.renderer.renderTileAccum(n,0,0)},setKey:function(e){this.keys=[e],this.redraw()},setCartoCSS:function(e){if(!this.renderer)throw new Error("renderer is not valid");return this.renderer.setCartoCSS(e)},setStepsRange:function(e,t){this.animator.stepsRange(e,t)},removeStepsRange:function(){this.animator.removeCustomStepsRange()},getStepsRange:function(){return this.animator.stepsRange()}}),t.exports={GMapsTiledTorqueLayer:f,GMapsTorqueLayer:a}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../":11,"./CanvasLayer":6,"./canvas_tile_layer":7,"./gmaps_tileloader_mixin":8,carto:47}],11:[function(e,t,n){t.exports=e("./core"),t.exports.Animator=e("./animator"),t.exports.cartocss_reference=e("./cartocss_reference"),t.exports.common=e("./common"),t.exports.math=e("./math"),t.exports.Mercator=e("./mercator"),t.exports.net=e("./request"),t.exports.renderer=e("./renderer"),t.exports.providers=e("./provider"),e("./leaflet");var r=e("./gmaps");t.exports.GMapsTileLoader=r.GMapsTileLoader,t.exports.GMapsTorqueLayer=r.GMapsTorqueLayer,t.exports.GMapsTiledTorqueLayer=r.GMapsTiledTorqueLayer,e("./ol")},{"./animator":2,"./cartocss_reference":3,"./common":4,"./core":5,"./gmaps":9,"./leaflet":13,"./math":16,"./mercator":17,"./ol":19,"./provider":23,"./renderer":30,"./request":34}],12:[function(e,t,n){e("./leaflet_tileloader_mixin"),L.CanvasLayer=L.Layer.extend({includes:[L.Mixin.Events,L.Mixin.TileLoader],options:{minZoom:0,maxZoom:28,tileSize:256,subdomains:"abc",errorTileUrl:"",attribution:"",zoomOffset:0,opacity:1,unloadInvisibleTiles:L.Browser.mobile,updateWhenIdle:L.Browser.mobile,tileLoader:!1,zoomAnimation:!0},initialize:function(e){var t=this;e=e||{},this.render=this.render.bind(this),L.Util.setOptions(this,e),this._canvas=this._createCanvas(),this.options.zoomAnimation&&(this._backCanvas=this._createCanvas()),this._ctx=this._canvas.getContext("2d"),this.currentAnimationFrame=-1,this.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},this.cancelAnimationFrame=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)}},_createCanvas:function(){var e;e=document.createElement("canvas"),e.style.position="absolute",e.style.top=0,e.style.left=0,e.style.pointerEvents="none",e.style.zIndex=this.options.zIndex||0;var t="leaflet-tile-container";return this.options.zoomAnimation&&(t+=" leaflet-zoom-animated"),e.setAttribute("class",t),e},onAdd:function(e){this._map=e;var t=this._map._panes.tilePane,n=L.DomUtil.create("div","leaflet-layer");n.appendChild(this._canvas),this.options.zoomAnimation&&(n.appendChild(this._backCanvas),this._backCanvas.style.display="none"),t.appendChild(n),this._container=n,e.dragging._draggable.on("predrag",function(){var t=e.dragging._draggable;L.DomUtil.setPosition(this._canvas,{x:-t._newPos.x,y:-t._newPos.y})},this),e.on({viewreset:this._reset},this),e.on("move",this.redraw,this),e.on("resize",this._reset,this),this.options.zoomAnimation&&e.on({zoomanim:this._animateZoom,zoomend:this._endZoomAnim,moveend:this._reset},this),this.options.tileLoader&&this._initTileLoader(),this._reset()},_animateZoom:function(e){this._animating||(this._animating=!0);var t=this._backCanvas;t.width=this._canvas.width,t.height=this._canvas.height;var n=this._canvas._leaflet_pos||{x:0,y:0};t.getContext("2d").drawImage(this._canvas,0,0),L.DomUtil.setPosition(t,L.DomUtil.getPosition(this._canvas)),this._canvas.style.display="none",t.style.display="block";var r=this._map,i=r.getZoomScale(e.zoom),s=r._latLngToNewLayerPoint(r.getCenter(),e.zoom,e.center),o=r._latLngToNewLayerPoint(e.center,e.zoom,e.center),u={x:s.x-o.x+n.x,y:s.y-o.y+n.y},a=t,f=L.DomUtil.TRANSFORM;setTimeout(function(){a.style[f]="translate("+u.x+"px, "+u.y+"px) scale("+e.scale+") "},0)},_endZoomAnim:function(){this._animating=!1,this._canvas.style.display="block",this._backCanvas.style.display="none",this._backCanvas.style[L.DomUtil.TRANSFORM]=""},getCanvas:function(){return this._canvas},getAttribution:function(){return this.options.attribution},draw:function(){return this._reset()},onRemove:function(e){this._container.parentNode.removeChild(this._container),e.off({viewreset:this._reset,move:this.redraw,moveend:this._reset,resize:this._reset,zoomanim:this._animateZoom,zoomend:this._endZoomAnim},this)},addTo:function(e){return e.addLayer(this),this},error:function(e){return this.provider.options.errorCallback=e,this},setOpacity:function(e){return this.options.opacity=e,this._updateOpacity(),this},setZIndex:function(e){e=e!==void 0?e:1,this._container.style.zIndex=e,this._canvas.style.zIndex=e,this.options.zoomAnimation&&(this._backCanvas.style.zIndex=e)},bringToFront:function(){return this},bringToBack:function(){return this},_reset:function(){var e=this._map.getSize();this._canvas.width=e.x,this._canvas.height=e.y;var t=L.DomUtil.getPosition(this._map.getPanes().mapPane);t&&L.DomUtil.setPosition(this._canvas,{x:-t.x,y:-t.y}),this.onResize(),this._render()},_updateOpacity:function(){},_render:function(){this.currentAnimationFrame>=0&&this.cancelAnimationFrame.call(window,this.currentAnimationFrame),this.currentAnimationFrame=this.requestAnimationFrame.call(window,this.render)},redraw:function(e){var t=L.DomUtil.getPosition(this._map.getPanes().mapPane);t&&L.DomUtil.setPosition(this._canvas,{x:-t.x,y:-t.y}),e?this.render():this._render()},onResize:function(){},render:function(){throw new Error("render function should be implemented")}})},{"./leaflet_tileloader_mixin":14}],13:[function(e,t,n){typeof L!="undefined"&&e("./torque")},{"./torque":15}],14:[function(e,t,n){L.Mixin.TileLoader={_initTileLoader:function(){this._tilesLoading={},this._tilesToLoad=0,this._map.on({moveend:this._updateTiles},this),this._updateTiles()},_removeTileLoader:function(){this._map.off({moveend:this._updateTiles},this),this._removeTiles()},_updateTiles:function(){if(!this._map)return;var e=this._map.getPixelBounds(),t=this._map.getZoom(),n=this.options.tileSize;if(t>this.options.maxZoom||t<this.options.minZoom)return;var r=new L.Point(Math.floor(e.min.x/n),Math.floor(e.min.y/n)),i=new L.Point(Math.floor(e.max.x/n),Math.floor(e.max.y/n)),s=new L.Bounds(r,i);this._addTilesFromCenterOut(s),this._removeOtherTiles(s)},_removeTiles:function(e){for(var t in this._tiles)this._removeTile(t)},_reloadTiles:function(){this._removeTiles(),this._updateTiles()},_removeOtherTiles:function(e){var t,n,r,i,s,o=this._map.getZoom();for(s in this._tiles)this._tiles.hasOwnProperty(s)&&(t=s.split(":"),n=parseInt(t[0],10),r=parseInt(t[1],10),i=parseInt(t[2],10),(o!==i||n<e.min.x||n>e.max.x||r<e.min.y||r>e.max.y)&&this._removeTile(s))},_removeTile:function(e){this.fire("tileRemoved",this._tiles[e]),delete this._tiles[e],delete this._tilesLoading[e]},_tileKey:function(e){return e.x+":"+e.y+":"+e.zoom},_tileShouldBeLoaded:function(e){var t=this._tileKey(e);return!(t in this._tiles)&&!(t in this._tilesLoading)},_tileLoaded:function(e,t){this._tilesToLoad--;var n=e.x+":"+e.y+":"+e.zoom;this._tiles[n]=t,delete this._tilesLoading[n],this._tilesToLoad===0&&this.fire("tilesLoaded")},getTilePos:function(e){e=new L.Point(e.x,e.y);var t=this._map._getTopLeftPoint(this._map.getCenter()),n=this.options.tileSize;return e.multiplyBy(n).subtract(t)},_addTilesFromCenterOut:function(e){var t=[],n=e.getCenter(),r=this._map.getZoom(),i,s,o;for(i=e.min.y;i<=e.max.y;i++)for(s=e.min.x;s<=e.max.x;s++)o=new L.Point(s,i),o.zoom=r,this._tileShouldBeLoaded(o)&&t.push(o);var u=t.length;if(u===0)return;t.sort(function(e,t){return e.distanceTo(n)-t.distanceTo(n)}),this._tilesToLoad+=u;for(s=0;s<u;s++){var a=t[s],f=this._tileKey(a);this._tilesLoading[f]=a,this.fire("tileAdded",a)}this.fire("tilesLoading")}}},{}],15:[function(e,t,n){(function(t){var n=t.carto||e("carto"),r=e("../");e("./canvas_layer"),L.TorqueLayer=L.CanvasLayer.extend({providers:{sql_api:r.providers.json,url_template:r.providers.JsonArray,windshaft:r.providers.windshaft,tileJSON:r.providers.tileJSON},renderers:{point:r.renderer.Point,pixel:r.renderer.Rectangle},initialize:function(e){var t=this;if(!r.isBrowserSupported())throw new Error("browser is not supported by torque");e.tileLoader=!0,this.keys=[0],this._tiles={},Object.defineProperty(this,"key",{get:function(){return this.getKey()}}),this.prevRenderedKey=0;if(e.cartocss){var n=e.cartocss.replace(/\n/g,"").match(/Map\s*?\{.*?}/g)[0];r.extend(e,r.common.TorqueLayer.optionsFromCartoCSS(n))}e.resolution=e.resolution||2,e.steps=e.steps||100,e.visible=e.visible===undefined?!0:e.visible,this.hidden=!e.visible,this.animator=new r.Animator(function(e){var n=e|0;t.getKey()!==n&&t.setKey(n,{direct:!0})},r.extend(r.clone(e),{onPause:function(){t.fire("pause")},onStop:function(){t.fire("stop")},onStart:function(){t.fire("play")},onStepsRange:function(){t.fire("change:stepsRange",t.animator.stepsRange())}})),this.play=this.animator.start.bind(this.animator),this.stop=this.animator.stop.bind(this.animator),this.pause=this.animator.pause.bind(this.animator),this.toggle=this.animator.toggle.bind(this.animator),this.setDuration=this.animator.duration.bind(this.animator),this.isRunning=this.animator.isRunning.bind(this.animator),L.CanvasLayer.prototype.initialize.call(this,e),this.options.renderer=this.options.renderer||"point",this.options.provider=this.options.provider||"windshaft",this.options.tileJSON&&(this.options.provider="tileJSON"),this.provider=new this.providers[this.options.provider](e),e.layer=this,this.renderer=new this.renderers[this.options.renderer](this.getCanvas(),e),e.ready=function(){t.fire("change:bounds",{bounds:t.provider.getBounds()}),t.animator.steps(t.provider.getSteps()),t.animator.rescale(),t.fire("change:steps",{steps:t.provider.getSteps()}),t.setKeys(t.getKeys())},this.on("tileLoaded",function(){t.renderer.setCartoCSS(t.renderer.style)}),this.renderer.on("allIconsLoaded",this.render.bind(this)),this.on("tileAdded",function(e){var n=this.provider.getTileData(e,e.zoom,function(n){if(e.zoom!==t._map.getZoom())return;t._tileLoaded(e,n),t._clearTileCaches(),n&&t.redraw(),t.fire("tileLoaded")})},this)},_clearTileCaches:function(){var e,t;for(e in this._tiles)t=this._tiles[e],t&&t._tileCache&&(t._tileCache=null)},_clearCaches:function(){this.renderer&&this.renderer.clearSpriteCache(),this._clearTileCaches()},onAdd:function(e){e.on({zoomend:this._clearCaches,zoomstart:this._pauseOnZoom},this),e.on({zoomend:this._resumeOnZoom},this),L.CanvasLayer.prototype.onAdd.call(this,e)},onRemove:function(e){this.fire("remove"),this._removeTileLoader(),e.off({zoomend:this._clearCaches,zoomstart:this._pauseOnZoom},this),e.off({zoomend:this._resumeOnZoom},this),L.CanvasLayer.prototype.onRemove.call(this,e)},_pauseOnZoom:function(){this.wasRunning=this.isRunning(),this.wasRunning&&this.pause()},_resumeOnZoom:function(){this.wasRunning&&this.play()},hide:function(){return this.hidden?this:(this.pause(),this.clear(),this.hidden=!0,this)},show:function(){return this.hidden?(this.hidden=!1,this.play(),this.options.steps===1&&this.redraw(),this):this},setSQL:function(e){if(this.provider.options.named_map)throw new Error("SQL queries on named maps are read-only");if(!this.provider||!this.provider.setSQL)throw new Error("this provider does not support SQL");return this.provider.setSQL(e),this._reloadTiles(),this},setBlendMode:function(e){this.renderer.setBlendMode(e),this.redraw()},setSteps:function(e){this.provider.setSteps(e),this._reloadTiles()},setColumn:function(e,t){this.provider.setColumn(e,t),this._reloadTiles()},getTimeBounds:function(){return this.provider&&this.provider.getKeySpan()},clear:function(){var e=this.getCanvas();e.width=e.width},render:function(){if(this.hidden)return;var e,t,n,r=this.getCanvas();this.renderer.clearCanvas();var i=r.getContext("2d");for(e in this._tiles)t=this._tiles[e],t&&(this.animator.isRunning()&&(t._tileCache=null),n=this.getTilePos(t.coord),i.setTransform(1,0,0,1,n.x,n.y),t._tileCache?this.renderer._ctx.drawImage(t._tileCache,0,0):this.renderer.renderTile(t,this.keys));this.renderer.applyFilters();if(!this.animator.isRunning()&&this.getKey()===this.prevRenderedKey){var s=this.renderer.TILE_SIZE;for(e in this._tiles){t=this._tiles[e];if(t&&!t._tileCache){var o=t._tileCache=document.createElement("canvas");o.width=o.height=s,n=this.getTilePos(t.coord);var u=Math.max(0,n.x),a=Math.max(0,n.y),f=Math.min(s,this.getCanvas().width-u),l=Math.min(s,this.getCanvas().height-a);f>0&&l>0&&o.getContext("2d").drawImage(this.getCanvas(),u,a,f,l,u-n.x,a-n.y,f,l)}}}this.prevRenderedKey=this.getKey()},setKey:function(e,t){this.setKeys([e],t)},getKeys:function(){return this.keys},setKeys:function(e,t){this.keys=e,this.animator.step(this.getKey()),this._clearTileCaches(),this.redraw(t&&t.direct),this.fire("change:time",{time:this.getTime(),step:this.getKey(),start:this.getKey(),end:this.getLastKey()})},getKey:function(){return this.keys[0]},getLastKey:function(){return this.keys[this.keys.length-1]},setStep:function(e){if(e===undefined||e.length!==undefined)throw new Error("setTime only accept scalars");this.setKey(e)},renderRange:function(e,t){this.pause();var n=[];for(var r=e;r<=t;r++)n.push(r);this.setKeys(n)},resetRenderRange:function(){this.stop(),this.play()},stepToTime:function(e){var t=this.provider.getKeySpan(),n=t.start+(t.end-t.start)*(e/this.provider.getSteps());return new Date(n)},timeToStep:function(e){typeof e=="Date"&&(e=e.getTime());if(!this.provider)return 0;var t=this.provider.getKeySpan(),n=this.provider.getSteps()*(e-t.start)/(t.end-t.start);return n},getStep:function(){return this.getKey()},getTime:function(){return this.stepToTime(this.getKey())},getTimeSpan:function(){return this.provider.getKeySpan()},setCartoCSS:function(e){if(!this.renderer)throw new Error("renderer is not valid");if(this.provider&&this.provider.options.named_map)return console.log("Torque layer: CartoCSS style on named maps is read-only"),!1;this.renderer.setCartoCSS(e,function(){var t=r.common.TorqueLayer.optionsFromLayer(this.renderer._shader.findLayer({name:"Map"}));return this.provider.setCartoCSS&&this.provider.setCartoCSS(e),this.provider.setOptions(t)&&this._reloadTiles(),r.extend(this.options,t),t.animationDuration&&this.animator.duration(t.animationDuration),this._clearCaches(),this.redraw(),this}.bind(this))},getActivePointsBBox:function(e){var t=[];for(var n in this._tiles){var r=this._tiles[n];t=t.concat(this.renderer.getActivePointsBBox(r,e))}return t},getValues:function(e){var t=[];e=e===undefined?this.getKey():e;var n,r;for(n in this._tiles)r=this._tiles[n],this.renderer.getValues(r,e,t);return t},getValueForPos:function(e,t,n){n=n===undefined?this.getKey():n;var r,i,s,o=null,u,a;for(r in this._tiles){i=this._tiles[r],s=this.getTilePos(i.coord),u=e-s.x,a=t-s.y,u>=0&&a>=0&&u<this.renderer.TILE_SIZE&&a<=this.renderer.TILE_SIZE&&(o=this.renderer.getValueFor(i,n,u,a));if(o!==null)return o}return null},getValueForBBox:function(e,t,n,r){var i=e+n,s=t+r,o=e,u=0;for(_y=t;_y<s;_y+=this.options.resolution)for(o=e;o<i;o+=this.options.resolution){var a=this.getValueForPos(o,_y);if(a){var f=a.bbox,l=this._map.latLngToContainerPoint([f[1].lat,f[1].lon]);l.x<i&&l.y<s&&(u+=a.value)}}return u},pointCount:function(e){var t,n;e=e===undefined?this.key:e;var r=0;for(t in this._tiles)n=this._tiles[t],n&&(r+=n.timeCount[e]);return r},invalidate:function(){this.provider.reload()},setStepsRange:function(e,t){this.animator.stepsRange(e,t)},removeStepsRange:function(){this.animator.removeCustomStepsRange()},getStepsRange:function(){return this.animator.stepsRange()},onRemove:function(e){L.CanvasLayer.prototype.onRemove.apply(this,arguments),this.animator.stop()}})}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../":11,"./canvas_layer":12,carto:47}],16:[function(e,t,n){function r(e,t){return function(n){return Math.max(Math.min(n,t),e)}}function i(e,t){var n=r(0,1);return function(r){return n((r-e)/(t-e))}}function s(e,t){function s(r){return n(e*(1-r)+r*t)}var n=r(e,t);return s.invert=function(){return i(e,t)},s}t.exports={clamp:r,linear:s,invLinear:i}},{}],17:[function(e,t,n){function i(e,t,n){return t!==null&&(e=Math.max(e,t)),n!==null&&(e=Math.min(e,n)),e}function s(e){return e*(Math.PI/180)}function o(e){return e/(Math.PI/180)}var r=function(e,t){this.x=e||0,this.y=t||0},u=function(){this._tileSize=256,this._pixelOrigin=new r(this._tileSize/2,this._tileSize/2),this._pixelsPerLonDegree=this._tileSize/360,this._pixelsPerLonRadian=this._tileSize/(2*Math.PI)};u.prototype._fromLatLonToPoint=function(e,t){var n=new r(0,0),o=this._pixelOrigin;n.x=o.x+t*this._pixelsPerLonDegree;var u=i(Math.sin(s(e)),-0.9999,.9999);return n.y=o.y+.5*Math.log((1+u)/(1-u))*-this._pixelsPerLonRadian,n},u.prototype._fromPointToLatLon=function(e){var t=this,n=t._pixelOrigin,r=(e.x-n.x)/t._pixelsPerLonDegree,i=(e.y-n.y)/-t._pixelsPerLonRadian,s=o(2*Math.atan(Math.exp(i))-Math.PI/2);return{lat:s,lon:r}},u.prototype._tilePixelPos=function(e,t){return{x:e*this._tileSize,y:t*this._tileSize}},u.prototype.tilePixelBBox=function(e,t,n,i,s,o){o=o||1;var u=1<<n,a=o/u;return i=(e*this._tileSize+i)/u,s=(t*this._tileSize+s)/u,[this._fromPointToLatLon(new r(i,s+a)),this._fromPointToLatLon(new r(i+a,s))]},u.prototype.tileBBox=function(e,t,n,i){var s=1<<n;i=i||0;var o=(this._tileSize+i*2)/s,u=(e*this._tileSize-i)/s,a=(t*this._tileSize-i)/s;return[this._fromPointToLatLon(new r(u,a+o)),this._fromPointToLatLon(new r(u+o,a))]},u.prototype.latLonToTilePoint=function(e,t,n,i,s){var o=1<<s,u=this._fromLatLonToPoint(e,t),a=new r(u.x*o,u.y*o),f=this._tilePixelPos(n,i);return new r(Math.round(a.x-f.x),Math.round(a.y-f.y))},t.exports=u},{}],18:[function(e,t,n){e("./ol_tileloader_mixin"),ol.CanvasLayer=function(e){this.root_=document.createElement("div"),this.root_.setAttribute("class","ol-heatmap-layer"),this.options={subdomains:"abc",errorTileUrl:"",attribution:"",opacity:1,tileLoader:!1,tileSize:256},e=e||{},torque.extend(this.options,e),ol.TileLoader.call(this,this.options.tileSize,this.options.maxZoom),this.render=this.render.bind(this),this._canvas=this._createCanvas(),this.root_.appendChild(this._canvas),this._ctx=this._canvas.getContext("2d"),this.currentAnimationFrame=-1,this.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},this.cancelAnimationFrame=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)},e.map&&this.setMap(e.map)},ol.inherits(ol.CanvasLayer,ol.TileLoader),ol.CanvasLayer.prototype.setMap=function(e){this._map&&(this._map.unByKey(this.pointdragKey_),this._map.unByKey(this.sizeChangedKey_),this._map.unByKey(this.moveendKey_),this._map.getView().unByKey(this.centerChanged_)),this._map=e;if(e){var t=this._map.getViewport().getElementsByClassName("ol-overlaycontainer")[0];t.appendChild(this.root_),this.pointdragKey_=e.on("pointerdrag",this._render,this),this.moveendKey_=e.on("moveend",this._render,this),this.centerChanged_=e.getView().on("change:center",this._render,this),this.sizeChangedKey_=e.on("change:size",this._reset,this),this.options.tileLoader&&ol.TileLoader.prototype._initTileLoader.call(this,e),this._reset()}},ol.CanvasLayer.prototype._createCanvas=function(){var e;return e=document.createElement("canvas"),e.style.position="absolute",e.style.top=0,e.style.left=0,e.style.pointerEvents="none",e.style.zIndex=this.options.zIndex||0,e},ol.CanvasLayer.prototype._reset=function(){this._resize()},ol.CanvasLayer.prototype._resize=function(){var e=this._map.getSize(),t=e[0],n=e[1],r=this._canvas.width,i=this._canvas.height;if(r!==t||i!==n)this._canvas.width=t,this._canvas.height=n,this._canvas.style.width=t+"px",this._canvas.style.height=n+"px",this.root_.style.width=t+"px",this.root_.style.height=n+"px",this._render()},ol.CanvasLayer.prototype._render=function(){this.currentAnimationFrame>=0&&this.cancelAnimationFrame.call(window,this.currentAnimationFrame),this.currentAnimationFrame=this.requestAnimationFrame.call(window,this.render)},ol.CanvasLayer.prototype.getCanvas=function(){return this._canvas},ol.CanvasLayer.prototype.getAttribution=function(){return this.options.attribution},ol.CanvasLayer.prototype.draw=function(){return this._render()},ol.CanvasLayer.prototype.redraw=function(e){e?this.render():this._render()},t.exports=ol.CanvasLayer},{"./ol_tileloader_mixin":20}],19:[function(e,t,n){typeof ol!="undefined"&&e("./torque")},{"./torque":21}],20:[function(e,t,n){ol.TileLoader=function(e,t){this._tileSize=e,this._tiles={},this._tilesLoading={},this._tilesToLoad=0,this._updateTiles=this._updateTiles.bind(this),this._tileGrid=ol.tilegrid.createXYZ({maxZoom:t,tileSize:e})},ol.TileLoader.prototype._initTileLoader=function(e){this._map=e,this._view=e.getView(),this._centerChangedId=this._view.on("change:center",function(e){this._updateTiles()},this),this._postcomposeKey=undefined,this._resolutionChangedId=this._view.on("change:resolution",function(e){this._currentResolution=this._view.getResolution();if(this._postcomposeKey)return;this.fire("mapZoomStart"),this._postcomposeKey=this._map.on("postcompose",function(e){e.frameState.viewState.resolution===this._currentResolution&&(this._updateTiles(),this._map.unByKey(this._postcomposeKey),this._postcomposeKey=undefined,this.fire("mapZoomEnd"))},this)},this),this._updateTiles()},ol.TileLoader.prototype._removeTileLoader=function(){this._view.unByKey(this._centerChangedId),this._view.unByKey(this._resolutionChangedId),this._removeTiles()},ol.TileLoader.prototype._removeTiles=function(){for(var e in this._tiles)this._removeTile(e)},ol.TileLoader.prototype._reloadTiles=function(){this._removeTiles(),this._updateTiles()},ol.TileLoader.prototype._updateTiles=function(){if(!this._map)return;var e=this._tileGrid.getZForResolution(this._view.getResolution()),t=this._view.calculateExtent(this._map.getSize()),n=this._requestTilesForExtentAndZ(t,e);this._removeOtherTiles(n)},ol.TileLoader.prototype._removeOtherTiles=function(e){var t,n,r,i,s,o=this._tileGrid.getZForResolution(this._view.getResolution());for(s in this._tiles)this._tiles.hasOwnProperty(s)&&(t=s.split(":"),n=parseInt(t[0],10),r=parseInt(t[1],10),i=parseInt(t[2],10),(i!==o||n<e.minX||n>e.maxX||-r-1<e.minY||-r-1>e.maxY)&&this._removeTile(s))},ol.TileLoader.prototype._removeTile=function(e){this.fire("tileRemoved",this._tiles[e]),delete this._tiles[e],delete this._tilesLoading[e]},ol.TileLoader.prototype._tileKey=function(e){return e.x+":"+e.y+":"+e.zoom},ol.TileLoader.prototype._tileShouldBeLoaded=function(e){var t=this._tileKey(e);return!(t in this._tiles)&&!(t in this._tilesLoading)},ol.TileLoader.prototype._removeFromTilesLoading=function(e){this._tilesToLoad--;var t=this._tileKey(e);delete this._tilesLoading[t],this._tilesToLoad===0&&this.fire("tilesLoaded")},ol.TileLoader.prototype._tileLoaded=function(e,t){var n=this._tileKey(e);this._tiles[n]=t},ol.TileLoader.prototype.getTilePos=function(e){var t=this._tileGrid.getZForResolution(this._view.getResolution()),n=this._tileGrid.getTileCoordExtent([t,e.x,-e.y-1]),r=this._map.getPixelFromCoordinate([n[0],n[3]]);return{x:r[0],y:r[1]}},ol.TileLoader.prototype._requestTilesForExtentAndZ=function(e,t){var n=[],r=[];this._tileGrid.forEachTileCoord(e,t,function(e){r.push(e);var t={x:e[1],y:-e[2]-1,zoom:e[0]};this._tileShouldBeLoaded(t)&&n.push(t)}.bind(this));var i=n.length;if(i>0){this._tilesToLoad+=i;for(var s=0;s<i;s++){var o=n[s],u=this._tileKey(o);this._tilesLoading[u]=o,this.fire("tileAdded",o)}this.fire("tilesLoading")}var a={minX:r[0][1],maxX:r[r.length-1][1],minY:r[0][2],maxY:r[r.length-1][2]};return a},t.exports=ol.TileLoader},{}],21:[function(e,t,n){(function(n){var r=n.carto||e("carto"),i=e("../");e("./canvas_layer"),ol.TorqueLayer=function(e){var t=this;if(!i.isBrowserSupported())throw new Error("browser is not supported by torque");e.tileLoader=!0,this.keys=[0],Object.defineProperty(this,"key",{get:function(){return this.getKey()}}),this.prevRenderedKey=0,e.cartocss&&i.extend(e,i.common.TorqueLayer.optionsFromCartoCSS(e.cartocss)),e.resolution=e.resolution||2,e.steps=e.steps||100,e.visible=e.visible===undefined?!0:e.visible,this.hidden=!e.visible,this.animator=new i.Animator(function(e){var n=e|0;t.getKey()!==n&&t.setKey(n,{direct:!0})},i.extend(i.clone(e),{onPause:function(){t.fire("pause")},onStop:function(){t.fire("stop")},onStart:function(){t.fire("play")},onStepsRange:function(){t.fire("change:stepsRange",t.animator.stepsRange())}})),this.play=this.animator.start.bind(this.animator),this.stop=this.animator.stop.bind(this.animator),this.pause=this.animator.pause.bind(this.animator),this.toggle=this.animator.toggle.bind(this.animator),this.setDuration=this.animator.duration.bind(this.animator),this.isRunning=this.animator.isRunning.bind(this.animator),ol.CanvasLayer.call(this,e),this.options.renderer=this.options.renderer||"point",this.options.provider=this.options.provider||"windshaft",this.options.tileJSON&&(this.options.provider="tileJSON"),this.provider=new this.providers[this.options.provider](e),this.renderer=new this.renderers[this.options.renderer](this.getCanvas(),e),e.ready=function(){t.fire("change:bounds",{bounds:t.provider.getBounds()}),t.animator.steps(t.provider.getSteps()),t.animator.rescale(),t.fire("change:steps",{steps:t.provider.getSteps()}),t.setKeys(t.getKeys())},this.renderer.on("allIconsLoaded",this.render.bind(this)),this.on("tileAdded",function(e){var n=this.provider.getTileData(e,e.zoom,function(n){t._removeFromTilesLoading(e);if(e.zoom!==t._tileGrid.getZForResolution(t._view.getResolution()))return;t._tileLoaded(e,n),t.fire("tileLoaded"),n&&t.redraw()})},this),this.on("mapZoomStart",function(){this.getCanvas().style.display="none",this._pauseOnZoom()},this),this.on("mapZoomEnd",function(){this.getCanvas().style.display="block",this._resumeOnZoom()},this)},ol.TorqueLayer.prototype=i.extend({},ol.CanvasLayer.prototype,i.Event,{providers:{sql_api:i.providers.json,url_template:i.providers.JsonArray,windshaft:i.providers.windshaft,tileJSON:i.providers.tileJSON},renderers:{point:i.renderer.Point,pixel:i.renderer.Rectangle},onAdd:function(e){ol.CanvasLayer.prototype.setMap.call(this,e)},onRemove:function(e){this.fire("remove"),this._removeTileLoader()},_pauseOnZoom:function(){this.wasRunning=this.isRunning(),this.wasRunning&&this.pause()},_resumeOnZoom:function(){this.wasRunning&&this.play()},hide:function(){return this.hidden?this:(this.pause(),this.clear(),this.hidden=!0,this)},show:function(){return this.hidden?(this.hidden=!1,this.play(),this.options.steps===1&&this.redraw(),this):this},setSQL:function(e){if(this.provider.options.named_map)throw new Error("SQL queries on named maps are read-only");if(!this.provider||!this.provider.setSQL)throw new Error("this provider does not support SQL");return this.provider.setSQL(e),this._reloadTiles(),this},setBlendMode:function(e){this.renderer.setBlendMode(e),this.redraw()},setSteps:function(e){this.provider.setSteps(e),this._reloadTiles()},setColumn:function(e,t){this.provider.setColumn(e,t),this._reloadTiles()},getTimeBounds:function(){return this.provider&&this.provider.getKeySpan()},clear:function(){var e=this.getCanvas();e.width=e.width},render:function(){if(this.hidden)return;var e,t,n,r=this.getCanvas();this.renderer.clearCanvas();var i=r.getContext("2d");for(e in this._tiles)t=this._tiles[e],t&&(n=this.getTilePos(t.coord),i.setTransform(1,0,0,1,n.x,n.y),this.renderer.renderTile(t,this.keys));this.renderer.applyFilters()},setKey:function(e,t){this.setKeys([e],t)},getKeys:function(){return this.keys},setKeys:function(e,t){this.keys=e,this.animator.step(this.getKey()),this.redraw(t&&t.direct),this.fire("change:time",{time:this.getTime(),step:this.getKey(),start:this.getKey(),end:this.getLastKey()})},getKey:function(){return this.keys[0]},getLastKey:function(){return this.keys[this.keys.length-1]},setStep:function(e){if(e===undefined||e.length!==undefined)throw new Error("setTime only accept scalars");this.setKey(e)},renderRange:function(e,t){this.pause();var n=[];for(var r=e;r<=t;r++)n.push(r);this.setKeys(n)},resetRenderRange:function(){this.stop(),this.play()},stepToTime:function(e){var t=this.provider.getKeySpan(),n=t.start+(t.end-t.start)*(e/this.provider.getSteps());return new Date(n)},timeToStep:function(e){typeof e=="Date"&&(e=e.getTime());if(!this.provider)return 0;var t=this.provider.getKeySpan(),n=this.provider.getSteps()*(e-t.start)/(t.end-t.start);return n},getStep:function(){return this.getKey()},getTime:function(){return this.stepToTime(this.getKey())},getTimeSpan:function(){return this.provider.getKeySpan()},setCartoCSS:function(e){if(this.provider.options.named_map)throw new Error("CartoCSS style on named maps is read-only");if(!this.renderer)throw new Error("renderer is not valid");var t=(new r.RendererJS).render(e);this.renderer.setShader(t);var n=i.common.TorqueLayer.optionsFromLayer(t.findLayer({name:"Map"}));return this.provider.setCartoCSS&&this.provider.setCartoCSS(e),this.provider.setOptions(n)&&this._reloadTiles(),i.extend(this.options,n),n.animationDuration&&this.animator.duration(n.animationDuration),this.redraw(),this},getActivePointsBBox:function(e){var t=[];for(var n in this._tiles){var r=this._tiles[n];t=t.concat(this.renderer.getActivePointsBBox(r,e))}return t},getValues:function(e){var t=[];e=e===undefined?this.getKey():e;var n,r;for(n in this._tiles)r=this._tiles[n],this.renderer.getValues(r,e,t);return t},getValueForPos:function(e,t,n){n=n===undefined?this.getKey():n;var r,i,s,o=null,u,a;for(r in this._tiles){i=this._tiles[r],s=this.getTilePos(i.coord),u=e-s.x,a=t-s.y,u>=0&&a>=0&&u<this.renderer.TILE_SIZE&&a<=this.renderer.TILE_SIZE&&(o=this.renderer.getValueFor(i,n,u,a));if(o!==null)return o}return null},getValueForBBox:function(e,t,n,r){var i=e+n,s=t+r,o=e,u=0;for(_y=t;_y<s;_y+=this.options.resolution)for(o=e;o<i;o+=this.options.resolution){var a=this.getValueForPos(o,_y);if(a){var f=a.bbox,l=this._map.latLngToContainerPoint([f[1].lat,f[1].lon]);l.x<i&&l.y<s&&(u+=a.value)}}return u},pointCount:function(e){var t,n;e=e===undefined?this.key:e;var r=0;for(t in this._tiles)n=this._tiles[t],n&&(r+=n.timeCount[e]);return r},invalidate:function(){this.provider.reload()},setStepsRange:function(e,t){this.animator.stepsRange(e,t)},removeStepsRange:function(){this.animator.removeCustomStepsRange()},getStepsRange:function(){return this.animator.stepsRange()}}),t.exports=ol.TorqueLayer}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../":11,"./canvas_layer":18,carto:47}],22:[function(e,t,n){function i(){}function s(e){this.t0=null,this.name=e,this.count=0}var r=1024;i.metrics={},i.get=function(e){return i.metrics[e]||{max:0,min:Number.MAX_VALUE,avg:0,total:0,count:0,history:typeof Float32Array!="undefined"?new Float32Array(r):[]}},i.new_value=function(e,t){var n=i.metrics[e]=i.get(e);n.max=Math.max(n.max,t),n.min=Math.min(n.min,t),n.total+=t,++n.count,n.avg=n.total/n.count,n.history[n.count%r]=t},i.print_stats=function(){for(k in i.metrics){var e=i.metrics[k];console.log(" === "+k+" === "),console.log(" max: "+e.max),console.log(" min: "+e.min),console.log(" avg: "+e.avg),console.log(" count: "+e.count),console.log(" total: "+e.total)}},s.prototype={start:function(){return this.t0=+(new Date),this},_elapsed:function(){return+(new Date)-this.t0},end:function(){this.t0!==null&&(i.new_value(this.name,this._elapsed()),this.t0=null)},inc:function(e){e=e===undefined?1:e,i.new_value(this.name,i.get(this.name).count+(e?e:0))},dec:function(e){e=e===undefined?1:e,this.inc(-e)},mark:function(){++this.count;if(this.t0===null){this.start();return}var e=this._elapsed();e>1&&(i.new_value(this.name,this.count),this.count=0,this.start())}},i.metric=function(e){return new s(e)},t.exports=i},{}],23:[function(e,t,n){t.exports={json:e("./json"),JsonArray:e("./jsonarray"),windshaft:e("./windshaft"),tileJSON:e("./tilejson")}},{"./json":24,"./jsonarray":25,"./tilejson":26,"./windshaft":27}],24:[function(e,t,n){function a(e){for(var t=1;t<arguments.length;++t){var n=arguments[t];for(var r in n)e=e.replace(RegExp("\\{"+r+"\\}","g"),n[r])}return e
}var r=e("../"),i=e("../profiler"),s=r.types.Uint8Array,o=r.types.Int32Array,u=r.types.Uint32Array,f=function(e){this._ready=!1,this._tileQueue=[],this.options=e,this.options.is_time=this.options.is_time===undefined?!0:this.options.is_time,this.options.tiler_protocol=e.tiler_protocol||"http",this.options.tiler_domain=e.tiler_domain||"cartodb.com",this.options.tiler_port=e.tiler_port||80,this.options.data_aggregation&&(this.options.cumulative=this.options.data_aggregation==="cumulative");if(e.resolution===undefined)throw new Error("resolution should be provided");if(e.steps===undefined)throw new Error("steps should be provided");e.start===undefined?this._fetchKeySpan():this._setReady(!0)};f.prototype={proccessTile:function(e,t,n){var r,a=new s(e.length),f=new s(e.length),l=i.metric("ProviderJSON:mem"),c=i.metric("ProviderJSON:point_count"),h=i.metric("ProviderJSON:process_time").start(),p=0,d=-1;for(r=0;r<e.length;++r){var v=e[r];p+=v.dates__uint16.length;for(var m=0;m<v.dates__uint16.length;++m)d=Math.max(d,v.dates__uint16[m])}this.options.cumulative&&(p=(1+d)*e.length);var g=this.options.cumulative?u:s,y=new o(d+1),b=new o(d+1),w=new(this.options.valueDataType||g)(p),E=new u(p);l.inc(4*d+4*d+p+p*4),c.inc(e.length);var S={};for(var r=0;r<e.length;++r){var v=e[r];a[r]=v.x__uint8*this.options.resolution,v.y__uint8===-1?f[r]=0:f[r]=v.y__uint8*this.options.resolution;var p=v.dates__uint16,x=v.vals__uint8;if(!this.options.cumulative)for(var T=0,N=p.length;T<N;++T){var C=S[p[T]]||(S[p[T]]=[]);this.options.cumulative&&(x[T]+=prev_val),prev_val=x[T],C.push([r,x[T]])}else{var k={};for(var T=0,N=p.length;T<N;++T)k[p[T]]=x[T];var L=0;for(var T=p[0];T<=d;++T){var C=S[T]||(S[T]=[]),A=k[T];A&&(L+=A),C.push([r,L])}}}var O=0,M=0,_=0;for(var _=0;_<=d;++_){var D=0,P=S[_];if(P)for(var r=0;r<P.length;++r){var C=P[r];++D,E[O]=C[0],w[O]=C[1],++O}y[_]=M,b[_]=D,M+=D}return h.end(),{x:a,y:f,z:n,coord:{x:t.x,y:t.y,z:n},timeCount:b,timeIndex:y,renderDataPos:E,renderData:w,maxDate:d}},_host:function(){var e=this.options,t=e.sql_api_port,n=(e.user_name||e.user)+"."+(e.sql_api_domain||"cartodb.com")+(t?":"+t:""),r=e.sql_api_protocol||"http";return this.options.url||r+"://"+n+"/api/v2/sql"},url:function(e){var t=this.options,n=t.sql_api_protocol||"http";if(!this.options.cdn_url)return this._host();var r=n+"://";e&&(r+=e+".");var i=t.cdn_url;if(!i.http&&!i.https)throw new Error("cdn_host should contain http and/or https entries");return r+=i[n]+"/"+(t.user_name||t.user)+"/api/v2/sql",r},_hash:function(e){var t=0;if(!e||e.length==0)return t;for(var n=0,r=e.length;n<r;++n)t=(t<<5)-t+e.charCodeAt(n)|0;return t},_extraParams:function(){if(this.options.extra_params){var e=[];for(var t in this.options.extra_params){var n=this.options.extra_params[t];n&&e.push(t+"="+encodeURIComponent(n))}return e.join("&")}return null},isHttps:function(){return this.options.sql_api_protocol&&this.options.sql_api_protocol==="https"},sql:function(e,t,n){n=n||{};var i=this.options.subdomains||"0123";this.isHttps()&&(i=[null]);var s;n.no_cdn?s=this._host():s=this.url(i[Math.abs(this._hash(e))%i.length]);var o=this._extraParams();r.net.get(s+"?q="+encodeURIComponent(e)+(o?"&"+o:""),function(e){n.parseJSON&&(e=JSON.parse(e&&e.responseText)),t&&t(e)})},getTileData:function(e,t,n){this._ready?this._getTileData(e,t,n):this._tileQueue.push([e,t,n])},_setReady:function(e){this._ready=!0,this._processQueue(),this.options.ready&&this.options.ready()},_processQueue:function(){var e;while(e=this._tileQueue.pop())this._getTileData.apply(this,e)},_getTileData:function(e,t,n){var r=i.metric("ProviderJSON:tile_fetch_time").start();this.table=this.options.table;var s=1<<t,o=this.options.column;this.options.is_time&&(o=a("date_part('epoch', {column})",this.options));var u="WITH par AS ( SELECT CDB_XYZ_Resolution({zoom})*{resolution} as res, 256/{resolution} as tile_size, CDB_XYZ_Extent({x}, {y}, {zoom}) as ext ),cte AS ( SELECT ST_SnapToGrid(i.the_geom_webmercator, p.res) g, {countby} c, floor(({column_conv} - {start})/{step}) d FROM ({_sql}) i, par p WHERE i.the_geom_webmercator && p.ext GROUP BY g, d) SELECT (st_x(g)-st_xmin(p.ext))/p.res x__uint8, (st_y(g)-st_ymin(p.ext))/p.res y__uint8, array_agg(c) vals__uint8, array_agg(d) dates__uint16 FROM cte, par p where (st_y(g)-st_ymin(p.ext))/p.res < tile_size and (st_x(g)-st_xmin(p.ext))/p.res < tile_size GROUP BY x__uint8, y__uint8",f=a(u,this.options,{zoom:t,x:e.x,y:e.y,column_conv:o,_sql:this.getSQL()}),l=this;this.sql(f,function(i){if(i){var s=JSON.parse(i.responseText).rows;n(l.proccessTile(s,e,t))}else n(null);r.end()})},getKeySpan:function(){return{start:this.options.start*1e3,end:this.options.end*1e3,step:this.options.step,steps:this.options.steps,columnType:this.options.is_time?"date":"number"}},setColumn:function(e,t){this.options.column=e,this.options.is_time=t===undefined?!0:!1,this.reload()},setResolution:function(e){this.options.resolution=e},setOptions:function(e){var t=!1;e.resolution!==undefined&&e.resolution!==this.options.resolution&&(this.options.resolution=e.resolution,t=!0),e.steps!==undefined&&e.steps!==this.options.steps&&(this.setSteps(e.steps,{silent:!0}),t=!0),e.column!==undefined&&e.column!==this.options.column&&(this.options.column=e.column,t=!0),e.countby!==undefined&&e.countby!==this.options.countby&&(this.options.countby=e.countby,t=!0);if(e.data_aggregation!==undefined){var n=e.data_aggregation==="cumulative";this.options.cumulative!==n&&(this.options.cumulative=n,t=!0)}return t&&this.reload(),t},reload:function(){this._ready=!1,this._fetchKeySpan()},setSQL:function(e){this.options.sql!=e&&(this.options.sql=e,this.reload())},getSteps:function(){return Math.min(this.options.steps,this.options.data_steps)},setSteps:function(e,t){t=t||{},this.options.steps!==e&&(this.options.steps=e,this.options.step=(this.options.end-this.options.start)/this.getSteps(),this.options.step=this.options.step||1,t.silent||this.reload())},getBounds:function(){return this.options.bounds},getSQL:function(){return this.options.sql||"select * from "+this.options.table},_tilerHost:function(){var e=this.options,t=e.user_name||e.user;return e.tiler_protocol+"://"+(t?t+".":"")+e.tiler_domain+(e.tiler_port!=""?":"+e.tiler_port:"")},_fetchUpdateAt:function(e){var t=this,n={version:"1.0.1",stat_tag:this.options.stat_tag||"torque",layers:[{type:"cartodb",options:{cartocss_version:"2.1.1",cartocss:"#layer {}",sql:this.getSQL()}}]},i=this._tilerHost()+"/tiles/layergroup",s=this._extraParams();s&&(s=s.replace("api_key=","map_key=")),i=i+"?config="+encodeURIComponent(JSON.stringify(n))+"&callback=?"+(s?"&"+s:""),r.net.jsonp(i,function(n){var r=a("select * from ({sql}) __torque_wrap_sql limit 0",{sql:t.getSQL()});t.sql(r,function(t){n&&t&&e({updated_at:n.last_updated,fields:t.fields})},{parseJSON:!0})})},_fetchKeySpan:function(){var e=this,t,n,r,i;this._fetchUpdateAt(function(s){if(!s)return;e.options.extra_params=e.options.extra_params||{},e.options.extra_params.last_updated=s.updated_at||0,e.options.extra_params.cache_policy="persist",e.options.is_time=s.fields[e.options.column].type==="date";var o=e.options.column;e.options.is_time?(r="date_part('epoch', max({column}))",i="date_part('epoch', min({column}))",o=a("date_part('epoch', {column})",e.options)):(r="max({column})",i="min({column})"),t=a(r,{column:e.options.column}),n=a(i,{column:e.options.column});var u=" SELECT st_xmax(st_envelope(st_collect(the_geom))) xmax, st_ymax(st_envelope(st_collect(the_geom))) ymax, st_xmin(st_envelope(st_collect(the_geom))) xmin, st_ymin(st_envelope(st_collect(the_geom))) ymin, count(*) as num_steps, {max_col} max_date, {min_col} min_date FROM ({sql}) __torque_wrap_sql ",f=a(u,{max_col:t,min_col:n,column:o,sql:e.getSQL()});e.sql(f,function(t){t=t.rows[0],e.options.start=t.min_date,e.options.end=t.max_date,e.options.step=(t.max_date-t.min_date)/Math.min(e.options.steps,t.num_steps>>0),e.options.data_steps=t.num_steps>>0,e.options.step=e.options.step||1,e.options.bounds=[[t.ymin,t.xmin],[t.ymax,t.xmax]],e._setReady(!0)},{parseJSON:!0,no_cdn:!0})},{parseJSON:!0,no_cdn:!0})}},t.exports=f},{"../":11,"../profiler":22}],25:[function(e,t,n){function f(e,t){for(var n=1;n<arguments.length;++n){var t=arguments[n];for(var r in t)e=e.replace(RegExp("\\{"+r+"\\}","g"),t[r])}return e}var i=e("../"),s=e("../profiler"),o=i.types.Uint8Array,u=i.types.Int32Array,a=i.types.Uint32Array,l=function(e){this.options=e};l.prototype={aggregateByKey:function(e){function t(e){var t=3,n=e.data[2],r={};for(var i=0;i<n;++i)r[e.data[t+i]]=e.data[t+n+i];return r}var n={};for(r=0;r<e.length;++r){var i=t(e[r]);for(var s in i)n[s]=n[s]||0,n[s]+=i[s]}return n},proccessTile:function(e,t,n){function l(e){var t=3,n={x:e.data[0]*f.options.resolution,y:e.data[1]*f.options.resolution,valuesCount:e.data[2],times:[],values:[]};for(var r=0;r<n.valuesCount;++r)n.times.push(e.data[t+r]),n.values.push(e.data[t+n.valuesCount+r]);if(f.options.cumulative)for(var r=1;r<n.valuesCount;++r)n.values[r]+=n.values[r-1];return n}var r,i=new o(e.length),s=new o(e.length),f=this;for(r=0;r<e.length;++r)e[r]=l(e[r]);var c=0,h=0;for(r=0;r<e.length;++r){var p=e[r];c+=p.times.length;for(var d=0;d<p.times.length;++d)h=Math.max(h,p.times[d])}var v=new u(h+1),m=new u(h+1),g=new(this.options.valueDataType||o)(c),y=new a(c),b={};for(var r=0;r<e.length;++r){var p=e[r];i[r]=p.x,s[r]=p.y;var c=p.times,w=p.values;for(var E=0,S=c.length;E<S;++E){var x=b[c[E]]||(b[c[E]]=[]);x.push([r,w[E]])}}var T=0,N=0,C=0;for(var C=0;C<=h;++C){var k=0,L=b[C];if(L)for(var r=0;r<L.length;++r){var x=L[r];++k,y[T]=x[0],g[T]=x[1],++T}v[C]=N,m[C]=k,N+=k}return{x:i,y:s,coord:{x:t.x,y:t.y,z:n},timeCount:m,timeIndex:v,renderDataPos:y,renderData:g}},url:function(){return this.options.url},tileUrl:function(e,t){var n=this.url(),r=(this.options.subdomains||"abcd")[(e.x+e.y+t)%4];return n.replace("{x}",e.x).replace("{y}",e.y).replace("{z}",t).replace("{s}",r)},getTile:function(e,t,n){var r=this.tileUrl(e,t),o=this,u=s.metric("jsonarray:fetch time");u.start(),i.net.get(r,function(e){u.end(),e&&(e=JSON.parse(e.responseText)),n(e)})},getTileData:function(e,t,n){var r=this.tileUrl(e,t),o=this,u=s.metric("jsonarray:fetch time");u.start(),i.net.get(r,function(r){u.end();var i=null,a=s.metric("jsonarray:processing time"),f=s.metric("jsonarray:parsing time");try{a.start(),f.start();var l=JSON.parse(r.responseText||r.response).rows;f.end(),i=o.proccessTile(l,e,t),a.end()}catch(c){console.error("problem parsing JSON on ",e,t)}n(i)})}},t.exports=l},{"../":11,"../profiler":22}],26:[function(e,t,n){function a(e){for(var t=1;t<arguments.length;++t){var n=arguments[t];for(var r in n)e=e.replace(RegExp("\\{"+r+"\\}","g"),n[r])}return e}var r=e("../"),i=r.types.Uint8Array,s=r.types.Int32Array,o=r.types.Uint32Array,u=r.types.Uint8ClampedArray,f=function(e){this._ready=!1,this._tileQueue=[],this.options=e,this.options.coordinates_data_type=this.options.coordinates_data_type||i,this.options.data_aggregation&&(this.options.cumulative=this.options.data_aggregation==="cumulative");if(this.options.auth_token){var t=this.options.extra_params||(this.options.extra_params={});t.auth_token=this.options.auth_token}this.options.no_fetch_map||this._fetchMap()};f.prototype={NAME:"tileJSON",proccessTile:function(e,t,n){var r,i=new this.options.coordinates_data_type(e.length),a=new this.options.coordinates_data_type(e.length),f=0,l=-1;for(r=0;r<e.length;++r){var c=e[r];f+=c.dates__uint16.length;for(var h=0;h<c.dates__uint16.length;++h)l=Math.max(l,c.dates__uint16[h])}this.options.cumulative&&(f=(1+l)*e.length);var p=this.options.cumulative?o:u,d=new s(l+1),v=new s(l+1),m=new(this.options.valueDataType||p)(f),g=new o(f),y={};for(var r=0;r<e.length;++r){var c=e[r];i[r]=c.x__uint8*this.options.resolution,a[r]=c.y__uint8*this.options.resolution;var f=c.dates__uint16,b=c.vals__uint8;if(!this.options.cumulative)for(var w=0,E=f.length;w<E;++w){var S=y[f[w]]||(y[f[w]]=[]);this.options.cumulative&&(b[w]+=prev_val),prev_val=b[w],S.push([r,b[w]])}else{var x={};for(var w=0,E=f.length;w<E;++w)x[f[w]]=b[w];var T=0;for(var w=f[0];w<=l;++w){var S=y[w]||(y[w]=[]),N=x[w];N&&(T+=N),S.push([r,T])}}}var C=0,k=0,L=0;for(var L=0;L<=l;++L){var A=0,O=y[L];if(O)for(var r=0;r<O.length;++r){var S=O[r];++A,g[C]=S[0],m[C]=S[1],++C}d[L]=k,v[L]=A,k+=A}return{x:i,y:a,z:n,coord:{x:t.x,y:t.y,z:n},timeCount:v,timeIndex:d,renderDataPos:g,renderData:m,maxDate:l}},setSteps:function(e,t){t=t||{},this.options.steps!==e&&(this.options.steps=e,this.options.step=(this.options.end-this.options.start)/this.getSteps(),this.options.step=this.options.step||1,t.silent||this.reload())},setOptions:function(e){var t=!1;e.resolution!==undefined&&e.resolution!==this.options.resolution&&(this.options.resolution=e.resolution,t=!0),e.steps!==undefined&&e.steps!==this.options.steps&&(this.setSteps(e.steps,{silent:!0}),t=!0),e.column!==undefined&&e.column!==this.options.column&&(this.options.column=e.column,t=!0),e.countby!==undefined&&e.countby!==this.options.countby&&(this.options.countby=e.countby,t=!0);if(e.data_aggregation!==undefined){var n=e.data_aggregation==="cumulative";this.options.cumulative!==n&&(this.options.cumulative=n,t=!0)}return t&&this.reload(),t},_extraParams:function(e){e=r.extend(r.extend({},e),this.options.extra_params);if(e){var t=[];for(var n in e){var i=e[n];if(i)if(r.isArray(i))for(var s=0,o=i.length;s<o;s++)t.push(n+"[]="+encodeURIComponent(i[s]));else t.push(n+"="+encodeURIComponent(i))}return t.join("&")}return null},getTileData:function(e,t,n){this._ready?this._getTileData(e,t,n):this._tileQueue.push([e,t,n])},_setReady:function(e){this._ready=!0,this._processQueue(),this.options.ready&&this.options.ready()},_processQueue:function(){var e;while(e=this._tileQueue.pop())this._getTileData.apply(this,e)},_getTileData:function(e,t,n){var i=this,s=this.options.subdomains||"0123",o=Math.pow(2,t),u=(e.x%o+o)%o,a=Math.abs(u+e.y)%s.length,f=this._extraParams(),l=this.templateUrl.replace("{x}",u).replace("{y}",e.y).replace("{z}",t).replace("{s}",s[a]);l+=f,r.net.get(l,function(r){if(r&&r.responseText){var s=JSON.parse(r.responseText);n(i.proccessTile(s,e,t))}else n(null)})},getKeySpan:function(){return{start:this.options.start,end:this.options.end,step:this.options.step,steps:this.options.steps,columnType:this.options.column_type}},setColumn:function(e,t){this.options.column=e,this.options.is_time=t===undefined?!0:!1,this.reload()},reload:function(){this._ready=!1,this._fetchMap()},getSteps:function(){return Math.min(this.options.steps,this.options.data_steps)},getBounds:function(){return this.options.bounds},getSQL:function(){return this.options.sql||"select * from "+this.options.table},setSQL:function(e){this.options.sql!=e&&(this.options.sql=e,this.reload())},_isUserTemplateUrl:function(e){return e&&e.indexOf("{user}")!==-1},isHttps:function(){return this.options.maps_api_template.indexOf("https")===0},_fetchMap:function(e){var t=this;r.net.get(this.options.tileJSON,function(e){e=JSON.parse(e.response);if(e){if(e.errors){t.options.errorCallback&&t.options.errorCallback(e.errors);return}for(var n in e)t.options[n]=e[n];t.templateUrl=e.tiles[0],t.templateUrl.indexOf("http")!==0&&(t.templateUrl=t.options.tileJSON.substring(0,t.options.tileJSON.lastIndexOf("/")+1)+t.templateUrl),t._setReady(!0)}})}},t.exports=f},{"../":11}],27:[function(e,t,n){function f(e){for(var t=1;t<arguments.length;++t){var n=arguments[t];for(var r in n)e=e.replace(RegExp("\\{"+r+"\\}","g"),n[r])}return e}var r=e("../"),i=e("../profiler"),s=r.types.Uint8Array,o=r.types.Int32Array,u=r.types.Uint32Array,a=r.types.Uint8ClampedArray,l=function(e){this._ready=!1,this._tileQueue=[],this.options=e,this.options.is_time=this.options.is_time===undefined?!0:this.options.is_time,this.options.tiler_protocol=e.tiler_protocol||"http",this.options.tiler_domain=e.tiler_domain||"cartodb.com",this.options.tiler_port=e.tiler_port||80,e.maps_api_template?this.options.maps_api_template=e.maps_api_template:this._buildMapsApiTemplate(this.options),this.options.coordinates_data_type=this.options.coordinates_data_type||s,this.options.data_aggregation&&(this.options.cumulative=this.options.data_aggregation==="cumulative");if(this.options.auth_token){var t=this.options.extra_params||(this.options.extra_params={});t.auth_token=this.options.auth_token}this.options.no_fetch_map||this._fetchMap()};l.prototype={proccessTile:function(e,t,n){var r,s=new this.options.coordinates_data_type(e.length),f=new this.options.coordinates_data_type(e.length),l=i.metric("torque.provider.windshaft.mem"),c=i.metric("torque.provider.windshaft.points"),h=i.metric("torque.provider.windshaft.process_time").start(),p=0,d=-1;for(r=0;r<e.length;++r){var v=e[r];p+=v.dates__uint16.length;for(var m=0;m<v.dates__uint16.length;++m)d=Math.max(d,v.dates__uint16[m])}this.options.cumulative&&(p=(1+d)*e.length);var g=this.options.cumulative?u:a,y=new o(d+1),b=new o(d+1),w=new(this.options.valueDataType||g)(p),E=new u(p);l.inc(4*d+4*d+p+p*4),c.inc(e.length);var S={};for(var r=0;r<e.length;++r){var v=e[r];s[r]=v.x__uint8*this.options.resolution,f[r]=v.y__uint8*this.options.resolution;var p=v.dates__uint16,x=v.vals__uint8;if(!this.options.cumulative)for(var T=0,N=p.length;T<N;++T){var C=S[p[T]]||(S[p[T]]=[]);this.options.cumulative&&(x[T]+=prev_val),prev_val=x[T],C.push([r,x[T]])}else{var k={};for(var T=0,N=p.length;T<N;++T)k[p[T]]=x[T];var L=0;for(var T=p[0];T<=d;++T){var C=S[T]||(S[T]=[]),A=k[T];A&&(L+=A),C.push([r,L])}}}var O=0,M=0,_=0;for(var _=0;_<=d;++_){var D=0,P=S[_];if(P)for(var r=0;r<P.length;++r){var C=P[r];++D,E[O]=C[0],w[O]=C[1],++O}y[_]=M,b[_]=D,M+=D}return h.end(),{x:s,y:f,z:n,coord:{x:t.x,y:t.y,z:n},timeCount:b,timeIndex:y,renderDataPos:E,renderData:w,maxDate:d}},setSteps:function(e,t){t=t||{},this.options.steps!==e&&(this.options.steps=e,this.options.step=(this.options.end-this.options.start)/this.getSteps(),this.options.step=this.options.step||1,t.silent||this.reload())},setOptions:function(e){var t=!1;e.resolution!==undefined&&e.resolution!==this.options.resolution&&(this.options.resolution=e.resolution,t=!0),e.steps!==undefined&&e.steps!==this.options.steps&&(this.setSteps(e.steps,{silent:!0}),t=!0),e.column!==undefined&&e.column!==this.options.column&&(this.options.column=e.column,t=!0),e.countby!==undefined&&e.countby!==this.options.countby&&(this.options.countby=e.countby,t=!0);if(e.data_aggregation!==undefined){var n=e.data_aggregation==="cumulative";this.options.cumulative!==n&&(this.options.cumulative=n,t=!0)}return t&&this.reload(),t},_extraParams:function(e){e=r.extend(r.extend({},e),this.options.extra_params);if(e){var t=[];for(var n in e){var i=e[n];if(i)if(r.isArray(i))for(var s=0,o=i.length;s<o;s++)t.push(n+"[]="+encodeURIComponent(i[s]));else t.push(n+"="+encodeURIComponent(i))}return t.join("&")}return null},getTileData:function(e,t,n){this._ready?this._getTileData(e,t,n):this._tileQueue.push([e,t,n])},_setReady:function(e){this._ready=!0,this._processQueue(),this.options.ready&&this.options.ready()},_processQueue:function(){var e;while(e=this._tileQueue.pop())this._getTileData.apply(this,e)},_getTileData:function(e,t,n){var s=this,o=i.metric("torque.provider.windshaft.tile.fetch").start(),u=this.options.subdomains||"0123",a=Math.pow(2,t),f=(e.x%a+a)%a,l=Math.abs(f+e.y)%u.length,c=this.templateUrl.replace("{x}",f).replace("{y}",e.y).replace("{z}",t).replace("{s}",u[l]),h=this._extraParams();r.net.get(c+(h?"?"+h:""),function(r){o.end();if(r&&r.responseText){var u=JSON.parse(r.responseText);n(s.proccessTile(u,e,t))}else i.metric("torque.provider.windshaft.tile.error").inc(),n(null)})},getKeySpan:function(){return{start:this.options.start,end:this.options.end,step:this.options.step,steps:this.options.steps,columnType:this.options.column_type}},setColumn:function(e,t){this.options.column=e,this.options.is_time=t===undefined?!0:!1,this.reload()},reload:function(){this._ready=!1,this._fetchMap()},getSteps:function(){return Math.min(this.options.steps,this.options.data_steps)},getBounds:function(){return this.options.bounds},getSQL:function(){return this.options.sql||"select * from "+this.options.table},setSQL:function(e){this.options.sql!=e&&(this.options.sql=e,this.reload())},_buildMapsApiTemplate:function(e){var t=e.user_name||e.user;e.maps_api_template=e.tiler_protocol+"://"+(t?"{user}.":"")+e.tiler_domain+(e.tiler_port!=""?":"+e.tiler_port:"")},_tilerHost:function(){var e=this.options,t=e.user_name||e.user;return e.maps_api_template.replace("{user}",t)},url:function(){var e=this.options,t=e.cdn_url,n=!t||t&&!t.http&&!t.https;if(e.no_cdn||n)return this._tilerHost();var r=this.isHttps()?"https":"http",i=r+"://";this.isHttps()||(i+="{s}.");var s=t[r];this._isUserTemplateUrl(s)||(s+="/{user}");var o=e.user_name||e.user;return i+=s.replace("{user}",o),i},_isUserTemplateUrl:function(e){return e&&e.indexOf("{user}")!==-1},isHttps:function(){return this.options.maps_api_template.indexOf("https")===0},_generateCartoCSS:function(){var e={"-torque-frame-count":this.options.steps,"-torque-resolution":this.options.resolution,"-torque-aggregation-function":"'"+this.options.countby+"'","-torque-time-attribute":"'"+this.options.column+"'","-torque-data-aggregation":this.options.cumulative?"cumulative":"linear"},t="Map{";for(var n in e)t+=n+":"+e[n]+";";return t+"}"},_fetchMap:function(e){var t=this,n={},s=this.options.dynamic_cdn?this.url().replace("{s}","0"):this._tilerHost(),o=s+"/api/v1/map",u=this.options.named_map,a={};u?(o=s+"/api/v1/map/named/"+u.name+"/jsonp",typeof u.params!="undefined"&&(n=u.params)):n={version:"1.0.1",stat_tag:this.options.stat_tag||"torque",layers:[{type:"torque",options:{cartocss_version:"1.0.0",cartocss:this._generateCartoCSS(),sql:this.getSQL()}}]},this.options.stat_tag&&(a.stat_tag=this.options.stat_tag),extra=this._extraParams(a),extra&&(extra=extra.replace("api_key=","map_key=")),o=o+"?config="+encodeURIComponent(JSON.stringify(n))+"&callback=?"+(extra?"&"+extra:"");var f=i.metric("torque.provider.windshaft.layergroup.time").start();r.net.jsonp(o,function(e){f.end();if(e){if(e.errors){t.options.errorCallback&&t.options.errorCallback(e.errors);return}var n=Object.keys(e.metadata.torque)[0],r=e.metadata.torque[n];for(var s in r)t.options[s]=r[s];if(e.cdn_url){var o=t.options.cdn_url=t.options.cdn_url||{};o.http=e.cdn_url.http||o.http,o.https=e.cdn_url.https||o.https}t.templateUrl=t.url()+"/api/v1/map/"+e.layergroupid+"/"+n+"/{z}/{x}/{y}.json.torque",t._setReady(!0)}else i.metric("torque.provider.windshaft.layergroup.error").inc()},{callbackName:t.options.instanciateCallback})}},t.exports=l},{"../":11,"../profiler":22}],28:[function(e,t,n){function o(e,t){e.fillStyle=t["marker-fill"];var n=t["marker-width"];e.beginPath(),e.arc(0,0,n,0,r,!0,!0),e.closePath(),t["marker-opacity"]!==undefined&&(t["marker-fill-opacity"]=t["marker-line-opacity"]=t["marker-opacity"]),t["marker-fill"]&&(e.globalAlpha=t["marker-fill-opacity"]>=0?t["marker-fill-opacity"]:1,e.globalAlpha>0&&e.fill()),t["marker-line-color"]&&t["marker-line-width"]&&t["marker-line-width"]>i&&(e.globalAlpha=t["marker-line-opacity"]>=0?t["marker-line-opacity"]:1,t["marker-line-width"]!==undefined&&(e.lineWidth=t["marker-line-width"]),e.strokeStyle=t["marker-line-color"],e.globalAlpha>0&&e.stroke())}function u(e,t){e.fillStyle=t["marker-fill"];var n=t["marker-width"],r=n*2;if(t["marker-fill"]){if(t["marker-fill-opacity"]!==undefined||t["marker-opacity"]!==undefined)e.globalAlpha=t["marker-fill-opacity"]||t["marker-opacity"];e.fillRect(-n,-n,r,r)}e.globalAlpha=1,t["marker-line-color"]&&t["marker-line-width"]&&(t["marker-line-opacity"]&&(e.globalAlpha=t["marker-line-opacity"]),t["marker-line-width"]&&(e.lineWidth=t["marker-line-width"]),e.strokeStyle=t["marker-line-color"],e.globalAlpha>0&&e.strokeRect(-n,-n,r,r))}function a(e,t,n){if(t.complete){if(n["marker-fill-opacity"]!==undefined||n["marker-opacity"]!==undefined)e.globalAlpha=n["marker-fill-opacity"]||n["marker-opacity"];e.drawImage(t,0,0,Math.min(t.width,s),Math.min(t.height,s))}}var r=Math.PI*2,i=.05,s=255;t.exports={renderPoint:o,renderSprite:a,renderRectangle:u,MAX_SPRITE_RADIUS:s}},{}],29:[function(e,t,n){function s(e){this.tiles=e}var r=e("d3"),i=e("turf-jenks");t.exports=s,s.prototype.getName=function(){return"TorqueDataSource"},s.prototype.getRamp=function(e,t,n,i){var s=[],o=null,u=Object.keys(this.tiles).map(function(e){return this.tiles[e].renderData}.bind(this)).reduce(function(e,t,n){for(var n=0;n<t.length;n++)e.push(t[n]);return e},[]),a=r.extent(u);if(!n||n==="equal"||n==="jenks"){var f=r.scale.linear().domain([0,t]).range(a);s=r.range(t).map(f)}else if(n==="quantiles")s=r.scale.quantile().range(r.range(t)).domain(u).quantiles();else if(n==="headstails"){var l=u.sort(function(e,t){return e-t});if(l.length<t)o="Number of bins should be lower than total number of rows";else if(l.length===t)s=l;else{var c=r.mean(l);s.push(c);for(var h=1;h<t;h++)s.push(r.mean(l.filter(function(e){return e>s[length-1]})))}}else o=new Error("Quantification method "+n+" is not supported");i(o,s)}},{d3:83,"turf-jenks":164}],30:[function(e,t,n){t.exports={cartocss:e("./cartocss_render"),Point:e("./point"),Rectangle:e("./rectangle")}},{"./cartocss_render":28,"./point":31,"./rectangle":32}],31:[function(e,t,n){(function(n){function p(e){return h[e]||e}function d(e,t){if(!e)throw new Error("canvas can't be undefined");this.options=t,this.layer=t.layer,this._canvas=e,this._ctx=e.getContext("2d"),this._sprites=[],this._shader=null,this._icons={},this._iconsToLoad=0,this._filters=new u(this._canvas,{canvasClass:t.canvasClass}),this.style=this.options.cartocss||c,this.setCartoCSS(this.style),this.TILE_SIZE=256,this._style=null,this._gradients={},this._forcePoints=!1}var r=e("../"),i=e("./cartocss_render"),s=e("../profiler"),o=n.carto||e("carto"),u=e("./torque_filters"),a=e("turbo-carto"),f=e("./datasource"),l=Math.PI*2,c=["#layer {"," marker-fill: #662506;"," marker-width: 4;"," [value > 1] { marker-fill: #FEE391; }"," [value > 2] { marker-fill: #FEC44F; }"," [value > 3] { marker-fill: #FE9929; }"," [value > 4] { marker-fill: #EC7014; }"," [value > 5] { marker-fill: #CC4C02; }"," [value > 6] { marker-fill: #993404; }"," [value > 7] { marker-fill: #662506; }","}"].join("\n"),h={difference:"difference",src:"source-over",exclusion:"exclusion",dst:"destination-in",multiply:"multiply",contrast:"contrast","src-over":"source-over",screen:"screen",invert:"invert","dst-over":"destination-over",overlay:"overlay","invert-rgb":"invert","src-in":"source-in",darken:"darken","dst-in":"destination-in",lighten:"lighten","src-out":"source-out","color-dodge":"color-dodge",hue:"hue","dst-out":"destination-out","color-burn":"color-burn",saturation:"saturation","src-atop":"source-atop","hard-light":"hard-light",color:"color","dst-atop":"destination-atop","soft-light":"soft-light",xor:"xor"};r.extend(d.prototype,r.Event,{clearCanvas:function(){if(this._Map){var e=this._canvas,t=this._Map["-torque-clear-color"],n=this._ctx;if(t==="rgba(255, 255, 255, 0)"||!t)n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,e.width,e.height),n.restore();else{n.setTransform(1,0,0,1,0,0);var r=this._Map["comp-op"];n.globalCompositeOperation=p(r)||r,n.fillStyle=t,n.fillRect(0,0,e.width,e.height)}}},setCanvas:function(e){this._canvas=e,this._ctx=e.getContext("2d")},setCartoCSS:function(e,t){var n=this;this.style=e;if(d.isTurboCarto(e)){var r=new f(n.layer._tiles);a(e,r,function(e,r){n.setShader((new o.RendererJS).render(r)),n.layer.redraw(),n.layer.animator.start(),t&&t()})}else n.setShader((new o.RendererJS).render(e)),t&&t()},setShader:function(e){this._sprites=[],this._shader=e,this._Map=this._shader.getDefault().getStyle({},{zoom:0});var t=this._shader.getImageURLs();this._preloadIcons(t)},clearSpriteCache:function(){this._sprites=[]},generateSprite:function(e,t,n){var o=this,u=s.metric("torque.renderer.point.generateSprite").start(),a=e.getStyle({value:t},n);if(this._style===null||this._style!==a)this._style=a;var f=a["marker-width"];if(!f)return null;if(a["marker-opacity"]===0&&!a["marker-line-opacity"])return null;var l=this._createCanvas(),c=l.getContext("2d"),h=a["marker-file"]||a["point-file"],p=h&&this._qualifyURL(h);if(p&&this._iconsToLoad<=0&&this._icons[p]){var d=this._icons[p],v=Math.min(a["marker-width"]*2||d.width,i.MAX_SPRITE_RADIUS*2),m=Math.min((a["marker-height"]||v)*(d.width/d.height),i.MAX_SPRITE_RADIUS*2);l.width=c.width=v,l.height=c.height=m,c.scale(v/d.width,m/d.height),i.renderSprite(c,d,a)}else{var g=(a["marker-line-width"]||0)+f*2,y=c.width=l.width=c.height=l.height=Math.ceil(g);c.translate(y/2,y/2);var b=a["marker-type"];b&&b==="rectangle"?i.renderRectangle(c,a):i.renderPoint(c,a)}u.end(!0);if(r.flags.sprites_to_images){var w=this._createImage();return w.src=l.toDataURL(),w}return l},renderTile:function(e,t,n){if(this._iconsToLoad>0)return this.on("allIconsLoaded",function(){this.renderTile.apply(this,[e,t,n])}),!1;typeof t.length=="undefined"&&(t=[t]);var r=s.metric("torque.renderer.point.renderLayers").start(),i=this._shader.getLayers();for(var o=0,u=i.length;o<u;++o){var a=i[o];if(a.name()!=="Map"){var f=this._sprites[o]||(this._sprites[o]={});for(var l=0;l<a.frames().length;++l){var c=a.frames()[l],h=f[c]||(f[c]=[]);for(var p=0,d=t.length;p<d;p++)this._renderTile(e,t[p]-c,c,h,a)}}}return r.end(!0),n&&n(null)},_createCanvas:function(){return this.options.canvasClass?new this.options.canvasClass:document.createElement("canvas")},_createImage:function(){return this.options.imageClass?new this.options.imageClass:new Image},_setImageSrc:function(e,t,n){this.options.setImageSrc?this.options.setImageSrc(e,t,n):(e.onload=function(){n(null)},e.onerror=function(){n(new Error("Could not load image"))},e.src=t)},_qualifyURL:function(e){if(typeof this.options.qualifyURL!="undefined")return this.options.qualifyURL(e);var t=document.createElement("a");return t.href=e,t.href},_renderTile:function(e,t,n,i,o,u){if(!this._canvas)return;var a=s.metric("torque.renderer.point.renderTile").start(),f=this._ctx,l=p(o.eval("comp-op"))||this.options.blendmode;l&&(f.globalCompositeOperation=l),this.options.cumulative&&t>e.maxDate&&(t=e.maxDate);var c=this.options.resolution*(this.TILE_SIZE/this.options.resolution-1),h=e.timeCount[t],d=this.options.resolution/2;if(h){var v=e.timeIndex[t];for(var m=0;m<h;++m){var g=e.renderDataPos[v+m],y=e.renderData[v+m];if(y){var b=i[y];b===undefined&&(b=i[y]=this.generateSprite(o,y,r.extend({zoom:e.z,"frame-offset":n},u)));if(b){var w=e.x[g]-(b.width>>1)+d,E=c-e.y[g]+d;f.drawImage(b,w,E-(b.height>>1))}}}}a.end(!0)},setBlendMode:function(e){this.options.blendmode=e},getActivePointsBBox:function(e,t){var n=[],i=new r.Mercator,s=this.options.resolution*(this.TILE_SIZE/this.options.resolution-1),o=e.timeCount[t],u=e.timeIndex[t];for(var a=0;a<o;++a){var f=e.renderDataPos[u+a],l=e.renderData[u+a];if(l){var c=e.x[f],h=s-e.y[f];n.push(i.tilePixelBBox(e.coord.x,e.coord.y,e.coord.z,c,h))}}return n},getValues:function(e,t,n){n=n||[];var r=e.timeCount[t],i=e.timeIndex[t];for(var s=0;s<r;++s){var o=e.renderDataPos[i+s];n.push(e.renderData[i+s])}return n},getValueFor:function(e,t,n,i){var s=new r.Mercator,o=this.options.resolution,u=o>>1,a=this.options.resolution*(this.TILE_SIZE/this.options.resolution-1),f=e.timeCount[t],l=e.timeIndex[t];for(var c=0;c<f;++c){var h=e.renderDataPos[l+c],p=e.renderData[l+c];if(p){var d=e.x[h],v=a-e.y[h],m=n+u-d,g=i+u-v;if(m>=0&&m<o&&g>=0&&g<o)return{value:p,bbox:s.tilePixelBBox(e.coord.x,e.coord.y,e.coord.z,d-u,v-u,o)}}}return null},_preloadIcons:function(e){var t=this;if(e.length>0&&!this._forcePoints){var n=Object.keys(e.reduce(function(e,n){var r=t._qualifyURL(n);return t._icons[r]||(e[r]=!0),e},{})),r=t._shader.getLayers().some(function(e){return typeof e.shader["image-filters"]!="undefined"});this._iconsToLoad+=n.length,n.forEach(function(e){t._icons[e]=null;var n=t._createImage();r&&(n.crossOrigin="Anonymous"),t._setImageSrc(n,e,function(i){i?(t._forcePoints=!0,t.clearSpriteCache(),t._iconsToLoad=0,t.fire("allIconsLoaded"),r&&console.info("Only CORS-enabled, or same domain image-files can be used in combination with image-filters"),console.error("Couldn't get marker-file "+e)):(t._icons[e]=n,t._iconsToLoad--,t._iconsToLoad<=0&&(t.clearSpriteCache(),t.fire("allIconsLoaded")))})})}else this.fire("allIconsLoaded")},applyFilters:function(){if(this._style&&this._style["image-filters"]){function e(e){var t="";for(var n=0;n<e.args.length;n++){var r=e.args[n].rgb;t+=r[0]+":"+r[1]+":"+r[2]}return t}var t=this._gradients[e(this._style["image-filters"])];if(!t){function n(e){var t=e.toString(16);return t.length==1?"0"+t:t}function r(e,t,r){return"#"+n(e)+n(t)+n(r)}t={};var i=this._style["image-filters"].args,s=1/i.length;for(var o=0;o<i.length;o++){var u=s*o+s,a=i[o].rgb,f=r(a[0],a
[1],a[2]);t[u]=f}this._gradients[e(this._style["image-filters"])]=t}this._filters.gradient(t),this._filters.draw()}}}),d.isTurboCarto=function(e){var t=["ramp","colorbrewer","buckets"],n=t.map(function(e){return e+"("}).map(String.prototype.indexOf.bind(e)).every(function(e){return e===-1});return!n},t.exports=d}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../":11,"../profiler":22,"./cartocss_render":28,"./datasource":29,"./torque_filters":33,carto:47,"turbo-carto":155}],32:[function(e,t,n){(function(n){function o(e,t){this.options=t,r.tree.Reference.set(torque["torque-reference"]),this.setCanvas(e),this.setCartoCSS(this.options.cartocss||i)}var r=n.carto||e("carto"),i=["#layer {"," polygon-fill: #FFFF00;"," [value > 10] { polygon-fill: #FFFF00; }"," [value > 100] { polygon-fill: #FFCC00; }"," [value > 1000] { polygon-fill: #FE9929; }"," [value > 10000] { polygon-fill: #FF6600; }"," [value > 100000] { polygon-fill: #FF3300; }","}"].join("\n"),s=Math.PI*2;o.prototype={setCartoCSS:function(e){this._cartoCssStyle=(new r.RendererJS).render(e);if(this._cartoCssStyle.getLayers().length>1)throw new Error("only one CartoCSS layer is supported");this._shader=this._cartoCssStyle.getLayers()[0].shader},setCanvas:function(e){if(!e)return;this._canvas=e,this._ctx=e.getContext("2d")},accumulate:function(e,t){var n=Profiler.metric("RectangleRender:accumulate").start(),r,i,s,o,u,a,f,l,c=this.options.resolution,h=256/c,p=new Float32Array(h*h);typeof t!="object"&&(t=[t]);for(u=0;u<t.length;++u){a=t[u],f=e.timeCount[a];if(f){l=e.timeIndex[a];for(o=0;o<f;++o)s=e.renderDataPos[l+o],r=e.x[s]/c,i=e.y[s]/c,p[r*h+i]+=e.renderData[l+o]}}return n.end(),p},renderTileAccum:function(e,t,n){var r=Profiler.metric("RectangleRender:renderTileAccum").start(),i,s,o,u,a=this.options.resolution,f=this._ctx,l=256/a|0,c=l*l,h=this._colors;this.options.blendmode&&(f.globalCompositeOperation=this.options.blendmode);var p=this._shader["polygon-opacity"]||function(){return 1};for(var d=0;d<c;++d){var v=d,m=e[d];m&&(s=v/l|0,o=v%l,i=this._shader["polygon-fill"]({value:m},{zoom:0}),f.fillStyle=i,u=p({value:m},{zoom:0}),u===null&&(u=1),f.globalAlpha=u,f.fillRect(s*a,256-a-o*a,a,a))}r.end()},renderTile:function(e,t,n){if(!this._canvas)return;var r=this.options.resolution,i=this._ctx,s=this._colors,o=e.timeCount[t];if(o){var u=this._canvas.width,a=this._canvas.height,f=e.timeIndex[t];for(var l=0;l<activePixels;++l){var c=e.renderDataPos[f+l],h=e.renderData[f+l];if(h){var p=s[Math.min(h,s.length-1)],d=e.x[c],v=e.y[c];i.fillStyle=p,i.fillRect(d,v,r,r)}}}return n&&n(null)}},t.exports=o}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{carto:47}],33:[function(e,t,n){"use strict";function r(e,t){if(!(this instanceof r))return new r(e,t);t=t||{},this._canvas=e=typeof e=="string"?document.getElementById(e):e,this._ctx=e.getContext("2d"),this._width=e.width,this._height=e.height,this._max=1,this._data=[],this.canvasClass=t.canvasClass}r.prototype={defaultGradient:{.4:"blue",.6:"cyan",.7:"lime",.8:"yellow",1:"red"},gradient:function(e){var t=this._createCanvas(),n=t.getContext("2d"),r=n.createLinearGradient(0,0,0,256);t.width=1,t.height=256;for(var i in e)r.addColorStop(+i,e[i]);return n.fillStyle=r,n.fillRect(0,0,1,256),this._grad=n.getImageData(0,0,1,256).data,this},draw:function(){this._grad||this.gradient(this.defaultGradient);var e=this._ctx,t=e.getImageData(0,0,this._canvas.width,this._canvas.height);return this._colorize(t.data,this._grad),e.putImageData(t,0,0),this},_colorize:function(e,t){for(var n=3,r=e.length,i;n<r;n+=4)i=e[n]*4,i&&(e[n-3]=t[i],e[n-2]=t[i+1],e[n-1]=t[i+2])},_createCanvas:function(){return this.canvasClass?new this.canvasClass:document.createElement("canvas")}},t.exports=r},{}],34:[function(e,t,n){(function(n){function s(e,t,n){function u(){i.removeChild(s),clearTimeout(a),delete window[o]}n=n||{},n.timeout=n.timeout===undefined?1e4:n.timeout;var i=document.getElementsByTagName("head")[0],s=document.createElement("script"),o=n.callbackName||"torque_"+Date.now();r.isFunction(o)&&(o=o()),window[o]=function(){u(),t.apply(window,arguments)};var a=setTimeout(function(){u(),t.call(window,null)},n.timeout);e=e.replace("callback=?","callback="+o),s.type="text/javascript",s.src=e,s.async=!0,setTimeout(function(){i.appendChild(s)},0)}function o(e,t,r){function u(){var e=o.status,n,i=r.responseType==="arraybuffer"?o.response:o.responseText;!e&&i||e>=200&&e<300||e===304?t(o):t(null)}r=r||{method:"GET",data:null,responseType:"text"},i={url:e,callback:t};var s=XMLHttpRequest;n.XDomainRequest&&!("withCredentials"in s)&&/^(http(s)?:)?\/\//.test(e)&&(s=XDomainRequest);var o=new s;return o.open(r.method,e,!0),"onload"in o?o.onload=o.onerror=u:o.onreadystatechange=function(){o.readyState>3&&u()},o.onprogress=function(){},o.responseType=r.responseType,r.data&&(o.setRequestHeader("Content-type","application/json"),o.setRequestHeader("Accept","*")),o.send(r.data),o}function u(e,t,n){return o(e,n,{data:t,method:"POST"})}var r=e("./core"),i=null;t.exports={get:o,post:u,jsonp:s,lastCall:function(){return i}}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./core":5}],35:[function(e,t,n){},{}],36:[function(e,t,n){function u(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&(isNaN(t)||!isFinite(t))?t.toString():r.isFunction(t)||r.isRegExp(t)?t.toString():t}function a(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function f(e){return a(JSON.stringify(e.actual,u),128)+" "+e.operator+" "+a(JSON.stringify(e.expected,u),128)}function l(e,t,n,r,i){throw new o.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:i})}function c(e,t){e||l(e,!0,t,"==",o.ok)}function h(e,t){if(e===t)return!0;if(r.isBuffer(e)&&r.isBuffer(t)){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return r.isDate(e)&&r.isDate(t)?e.getTime()===t.getTime():r.isRegExp(e)&&r.isRegExp(t)?e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase:!r.isObject(e)&&!r.isObject(t)?e==t:d(e,t)}function p(e){return Object.prototype.toString.call(e)=="[object Arguments]"}function d(e,t){if(r.isNullOrUndefined(e)||r.isNullOrUndefined(t))return!1;if(e.prototype!==t.prototype)return!1;if(p(e))return p(t)?(e=i.call(e),t=i.call(t),h(e,t)):!1;try{var n=g(e),s=g(t),o,u}catch(a){return!1}if(n.length!=s.length)return!1;n.sort(),s.sort();for(u=n.length-1;u>=0;u--)if(n[u]!=s[u])return!1;for(u=n.length-1;u>=0;u--){o=n[u];if(!h(e[o],t[o]))return!1}return!0}function v(e,t){return!e||!t?!1:Object.prototype.toString.call(t)=="[object RegExp]"?t.test(e):e instanceof t?!0:t.call({},e)===!0?!0:!1}function m(e,t,n,i){var s;r.isString(n)&&(i=n,n=null);try{t()}catch(o){s=o}i=(n&&n.name?" ("+n.name+").":".")+(i?" "+i:"."),e&&!s&&l(s,n,"Missing expected exception"+i),!e&&v(s,n)&&l(s,n,"Got unwanted exception"+i);if(e&&s&&n&&!v(s,n)||!e&&s)throw s}var r=e("util/"),i=Array.prototype.slice,s=Object.prototype.hasOwnProperty,o=t.exports=c;o.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=f(this),this.generatedMessage=!0);var n=t.stackStartFunction||l;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,s=n.name,o=i.indexOf("\n"+s);if(o>=0){var u=i.indexOf("\n",o+1);i=i.substring(u+1)}this.stack=i}}},r.inherits(o.AssertionError,Error),o.fail=l,o.ok=c,o.equal=function(t,n,r){t!=n&&l(t,n,r,"==",o.equal)},o.notEqual=function(t,n,r){t==n&&l(t,n,r,"!=",o.notEqual)},o.deepEqual=function(t,n,r){h(t,n)||l(t,n,r,"deepEqual",o.deepEqual)},o.notDeepEqual=function(t,n,r){h(t,n)&&l(t,n,r,"notDeepEqual",o.notDeepEqual)},o.strictEqual=function(t,n,r){t!==n&&l(t,n,r,"===",o.strictEqual)},o.notStrictEqual=function(t,n,r){t===n&&l(t,n,r,"!==",o.notStrictEqual)},o.throws=function(e,t,n){m.apply(this,[!0].concat(i.call(arguments)))},o.doesNotThrow=function(e,t){m.apply(this,[!1].concat(i.call(arguments)))},o.ifError=function(e){if(e)throw e};var g=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}},{"util/":45}],37:[function(e,t,n){function u(e,t,n){if(this instanceof u){var r=typeof e,i;if(r==="number")i=e>0?e>>>0:0;else if(r==="string")t==="base64"&&(e=A(e)),i=u.byteLength(e,t);else{if(r!=="object"||e===null)throw new TypeError("must start with number, buffer, array or string");e.type==="Buffer"&&s(e.data)&&(e=e.data),i=+e.length>0?Math.floor(+e.length):0}if(this.length>o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");var a;u.TYPED_ARRAY_SUPPORT?a=u._augment(new Uint8Array(i)):(a=this,a.length=i,a._isBuffer=!0);var f;if(u.TYPED_ARRAY_SUPPORT&&typeof e.byteLength=="number")a._set(e);else if(M(e))if(u.isBuffer(e))for(f=0;f<i;f++)a[f]=e.readUInt8(f);else for(f=0;f<i;f++)a[f]=(e[f]%256+256)%256;else if(r==="string")a.write(e,0,t);else if(r==="number"&&!u.TYPED_ARRAY_SUPPORT&&!n)for(f=0;f<i;f++)a[f]=0;return a}return new u(e,t,n)}function a(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;var s=t.length;if(s%2!==0)throw new Error("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o<r;o++){var u=parseInt(t.substr(o*2,2),16);if(isNaN(u))throw new Error("Invalid hex string");e[n+o]=u}return o}function f(e,t,n,r){var i=j(D(t),e,n,r);return i}function l(e,t,n,r){var i=j(P(t),e,n,r);return i}function c(e,t,n,r){return l(e,t,n,r)}function h(e,t,n,r){var i=j(B(t),e,n,r);return i}function p(e,t,n,r){var i=j(H(t),e,n,r,2);return i}function d(e,t,n){return t===0&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function v(e,t,n){var r="",i="";n=Math.min(e.length,n);for(var s=t;s<n;s++)e[s]<=127?(r+=F(i)+String.fromCharCode(e[s]),i=""):i+="%"+e[s].toString(16);return r+F(i)}function m(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;i++)r+=String.fromCharCode(e[i]);return r}function g(e,t,n){return m(e,t,n)}function y(e,t,n){var r=e.length;if(!t||t<0)t=0;if(!n||n<0||n>r)n=r;var i="";for(var s=t;s<n;s++)i+=_(e[s]);return i}function b(e,t,n){var r=e.slice(t,n),i="";for(var s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+r[s+1]*256);return i}function w(e,t,n){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function E(e,t,n,r,i,s){if(!u.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");if(t>i||t<s)throw new TypeError("value is out of bounds");if(n+r>e.length)throw new TypeError("index out of range")}function S(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;i++)e[n+i]=(t&255<<8*(r?i:1-i))>>>(r?i:1-i)*8}function x(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;i++)e[n+i]=t>>>(r?i:3-i)*8&255}function T(e,t,n,r,i,s){if(t>i||t<s)throw new TypeError("value is out of bounds");if(n+r>e.length)throw new TypeError("index out of range")}function N(e,t,n,r,s){return s||T(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),i.write(e,t,n,r,23,4),n+4}function C(e,t,n,r,s){return s||T(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),i.write(e,t,n,r,52,8),n+8}function A(e){e=O(e).replace(L,"");while(e.length%4!==0)e+="=";return e}function O(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function M(e){return s(e)||u.isBuffer(e)||e&&typeof e=="object"&&typeof e.length=="number"}function _(e){return e<16?"0"+e.toString(16):e.toString(16)}function D(e){var t=[];for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<=127)t.push(r);else{var i=n;r>=55296&&r<=57343&&n++;var s=encodeURIComponent(e.slice(i,n+1)).substr(1).split("%");for(var o=0;o<s.length;o++)t.push(parseInt(s[o],16))}}return t}function P(e){var t=[];for(var n=0;n<e.length;n++)t.push(e.charCodeAt(n)&255);return t}function H(e){var t,n,r,i=[];for(var s=0;s<e.length;s++)t=e.charCodeAt(s),n=t>>8,r=t%256,i.push(r),i.push(n);return i}function B(e){return r.toByteArray(e)}function j(e,t,n,r,i){i&&(r-=r%i);for(var s=0;s<r;s++){if(s+n>=t.length||s>=e.length)break;t[s+n]=e[s]}return s}function F(e){try{return decodeURIComponent(e)}catch(t){return String.fromCharCode(65533)}}var r=e("base64-js"),i=e("ieee754"),s=e("is-array");n.Buffer=u,n.SlowBuffer=u,n.INSPECT_MAX_BYTES=50,u.poolSize=8192;var o=1073741823;u.TYPED_ARRAY_SUPPORT=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&typeof t.subarray=="function"&&(new Uint8Array(1)).subarray(1,1).byteLength===0}catch(n){return!1}}(),u.isBuffer=function(e){return e!=null&&!!e._isBuffer},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError("Arguments must be Buffers");var n=e.length,r=t.length;for(var i=0,s=Math.min(n,r);i<s&&e[i]===t[i];i++);return i!==s&&(n=e[i],r=t[i]),n<r?-1:r<n?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(e,t){if(!s(e))throw new TypeError("Usage: Buffer.concat(list[, length])");if(e.length===0)return new u(0);if(e.length===1)return e[0];var n;if(t===undefined){t=0;for(n=0;n<e.length;n++)t+=e[n].length}var r=new u(t),i=0;for(n=0;n<e.length;n++){var o=e[n];o.copy(r,i),i+=o.length}return r},u.byteLength=function(e,t){var n;e+="";switch(t||"utf8"){case"ascii":case"binary":case"raw":n=e.length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":n=e.length*2;break;case"hex":n=e.length>>>1;break;case"utf8":case"utf-8":n=D(e).length;break;case"base64":n=B(e).length;break;default:n=e.length}return n},u.prototype.length=undefined,u.prototype.parent=undefined,u.prototype.toString=function(e,t,n){var r=!1;t>>>=0,n=n===undefined||n===Infinity?this.length:n>>>0,e||(e="utf8"),t<0&&(t=0),n>this.length&&(n=this.length);if(n<=t)return"";for(;;)switch(e){case"hex":return y(this,t,n);case"utf8":case"utf-8":return v(this,t,n);case"ascii":return m(this,t,n);case"binary":return g(this,t,n);case"base64":return d(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return u.compare(this,e)===0},u.prototype.inspect=function(){var e="",t=n.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),"<Buffer "+e+">"},u.prototype.compare=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return u.compare(this,e)},u.prototype.get=function(e){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(e)},u.prototype.set=function(e,t){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(e,t)},u.prototype.write=function(e,t,n,r){if(isFinite(t))isFinite(n)||(r=n,n=undefined);else{var i=r;r=t,t=n,n=i}t=Number(t)||0;var s=this.length-t;n?(n=Number(n),n>s&&(n=s)):n=s,r=String(r||"utf8").toLowerCase();var o;switch(r){case"hex":o=a(this,e,t,n);break;case"utf8":case"utf-8":o=f(this,e,t,n);break;case"ascii":o=l(this,e,t,n);break;case"binary":o=c(this,e,t,n);break;case"base64":o=h(this,e,t,n);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":o=p(this,e,t,n);break;default:throw new TypeError("Unknown encoding: "+r)}return o},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},u.prototype.slice=function(e,t){var n=this.length;e=~~e,t=t===undefined?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);if(u.TYPED_ARRAY_SUPPORT)return u._augment(this.subarray(e,t));var r=t-e,i=new u(r,undefined,!0);for(var s=0;s<r;s++)i[s]=this[s+e];return i},u.prototype.readUInt8=function(e,t){return t||w(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||w(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||w(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||w(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},u.prototype.readUInt32BE=function(e,t){return t||w(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readInt8=function(e,t){return t||w(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},u.prototype.readInt16LE=function(e,t){t||w(e,2,this.length);var n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},u.prototype.readInt16BE=function(e,t){t||w(e,2,this.length);var n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},u.prototype.readInt32LE=function(e,t){return t||w(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||w(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||w(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||w(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||w(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||w(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e,this[t+1]=e>>>8):S(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=e):S(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e):x(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e):x(this,e,t,!1),t+4},u.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e,this[t+1]=e>>>8):S(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=e):S(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):x(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||E(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e):x(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return N(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return N(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return C(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return C(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){var i=this;n||(n=0),!r&&r!==0&&(r=this.length),t||(t=0);if(r===n)return;if(e.length===0||i.length===0)return;if(r<n)throw new TypeError("sourceEnd < sourceStart");if(t<0||t>=e.length)throw new TypeError("targetStart out of bounds");if(n<0||n>=i.length)throw new TypeError("sourceStart out of bounds");if(r<0||r>i.length)throw new TypeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var s=r-n;if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(var o=0;o<s;o++)e[o+t]=this[o+n];else e._set(this.subarray(n,n+s),t)},u.prototype.fill=function(e,t,n){e||(e=0),t||(t=0),n||(n=this.length);if(n<t)throw new TypeError("end < start");if(n===t)return;if(this.length===0)return;if(t<0||t>=this.length)throw new TypeError("start out of bounds");if(n<0||n>this.length)throw new TypeError("end out of bounds");var r;if(typeof e=="number")for(r=t;r<n;r++)this[r]=e;else{var i=D(e.toString()),s=i.length;for(r=t;r<n;r++)this[r]=i[r%s]}return this},u.prototype.toArrayBuffer=function(){if(typeof Uint8Array!="undefined"){if(u.TYPED_ARRAY_SUPPORT)return(new u(this)).buffer;var e=new Uint8Array(this.length);for(var t=0,n=e.length;t<n;t+=1)e[t]=this[t];return e.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var k=u.prototype;u._augment=function(e){return e.constructor=u,e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=k.get,e.set=k.set,e.write=k.write,e.toString=k.toString,e.toLocaleString=k.toString,e.toJSON=k.toJSON,e.equals=k.equals,e.compare=k.compare,e.copy=k.copy,e.slice=k.slice,e.readUInt8=k.readUInt8,e.readUInt16LE=k.readUInt16LE,e.readUInt16BE=k.readUInt16BE,e.readUInt32LE=k.readUInt32LE,e.readUInt32BE=k.readUInt32BE,e.readInt8=k.readInt8,e.readInt16LE=k.readInt16LE,e.readInt16BE=k.readInt16BE,e.readInt32LE=k.readInt32LE,e.readInt32BE=k.readInt32BE,e.readFloatLE=k.readFloatLE,e.readFloatBE=k.readFloatBE,e.readDoubleLE=k.readDoubleLE,e.readDoubleBE=k.readDoubleBE,e.writeUInt8=k.writeUInt8,e.writeUInt16LE=k.writeUInt16LE,e.writeUInt16BE=k.writeUInt16BE,e.writeUInt32LE=k.writeUInt32LE,e.writeUInt32BE=k.writeUInt32BE,e.writeInt8=k.writeInt8,e.writeInt16LE=k.writeInt16LE,e.writeInt16BE=k.writeInt16BE,e.writeInt32LE=k.writeInt32LE,e.writeInt32BE=k.writeInt32BE,e.writeFloatLE=k.writeFloatLE,e.writeFloatBE=k.writeFloatBE,e.writeDoubleLE=k.writeDoubleLE,e.writeDoubleBE=k.writeDoubleBE,e.fill=k.fill,e.inspect=k.inspect,e.toArrayBuffer=k.toArrayBuffer,e};var L=/[^+\/0-9A-z]/g},{"base64-js":38,ieee754:39,"is-array":40}],38:[function(e,t,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";(function(e){"use strict";function a(e){var t=e.charCodeAt(0);if(t===n)return 62;if(t===i)return 63;if(t<s)return-1;if(t<s+10)return t-s+26+26;if(t<u+26)return t-u;if(t<o+26)return t-o+26}function f(e){function c(e){u[l++]=e}var n,r,i,s,o,u;if(e.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var f=e.length;o="="===e.charAt(f-2)?2:"="===e.charAt(f-1)?1:0,u=new t(e.length*3/4-o),i=o>0?e.length-4:e.length;var l=0;for(n=0,r=0;n<i;n+=4,r+=3)s=a(e.charAt(n))<<18|a(e.charAt(n+1))<<12|a(e.charAt(n+2))<<6|a(e.charAt(n+3)),c((s&16711680)>>16),c((s&65280)>>8),c(s&255);return o===2?(s=a(e.charAt(n))<<2|a(e.charAt(n+1))>>4,c(s&255)):o===1&&(s=a(e.charAt(n))<<10|a(e.charAt(n+1))<<4|a(e.charAt(n+2))>>2,c(s>>8&255),c(s&255)),u}function l(e){function u(e){return r.charAt(e)}function a(e){return u(e>>18&63)+u(e>>12&63)+u(e>>6&63)+u(e&63)}var t,n=e.length%3,i="",s,o;for(t=0,o=e.length-n;t<o;t+=3)s=(e[t]<<16)+(e[t+1]<<8)+e[t+2],i+=a(s);switch(n){case 1:s=e[e.length-1],i+=u(s>>2),i+=u(s<<4&63),i+="==";break;case 2:s=(e[e.length-2]<<8)+e[e.length-1],i+=u(s>>10),i+=u(s>>4&63),i+=u(s<<2&63),i+="="}return i}var t=typeof Uint8Array!="undefined"?Uint8Array:Array,n="+".charCodeAt(0),i="/".charCodeAt(0),s="0".charCodeAt(0),o="a".charCodeAt(0),u="A".charCodeAt(0);e.toByteArray=f,e.fromByteArray=l})(typeof n=="undefined"?this.base64js={}:n)},{}],39:[function(e,t,n){n.read=function(e,t,n,r,i){var s,o,u=i*8-r-1,a=(1<<u)-1,f=a>>1,l=-7,c=n?i-1:0,h=n?-1:1,p=e[t+c];c+=h,s=p&(1<<-l)-1,p>>=-l,l+=u;for(;l>0;s=s*256+e[t+c],c+=h,l-=8);o=s&(1<<-l)-1,s>>=-l,l+=r;for(;l>0;o=o*256+e[t+c],c+=h,l-=8);if(s===0)s=1-f;else{if(s===a)return o?NaN:(p?-1:1)*Infinity;o+=Math.pow(2,r),s-=f}return(p?-1:1)*o*Math.pow(2,s-r)},n.write=function(e,t,n,r,i,s){var o,u,a,f=s*8-i-1,l=(1<<f)-1,c=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,d=r?1:-1,v=t<0||t===0&&1/t<0?1:0;t=Math.abs(t),isNaN(t)||t===Infinity?(u=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-o))<1&&(o--,a*=2),o+c>=1?t+=h/a:t+=h*Math.pow(2,1-c),t*a>=2&&(o++,a/=2),o+c>=l?(u=0,o=l):o+c>=1?(u=(t*a-1)*Math.pow(2,i),o+=c):(u=t*Math.pow(2,c-1)*Math.pow(2,i),o=0));for(;i>=8;e[n+p]=u&255,p+=d,u/=256,i-=8);o=o<<i|u,f+=i;for(;f>0;e[n+p]=o&255,p+=d,o/=256,f-=8);e[n+p-d]|=v*128}},{}],40:[function(e,t,n){var r=Array.isArray,i=Object.prototype.toString;t.exports=r||function(e){return!!e&&"[object Array]"==i.call(e)}},{}],41:[function(e,t,n){(function(e){function t(e,t){var n=0;for(var r=e.length-1;r>=0;r--){var i=e[r];i==="."?e.splice(r,1):i===".."?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function s(e,t){if(e.filter)return e.filter(t);var n=[];for(var r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(e){return r.exec(e).slice(1)};n.resolve=function(){var n="",r=!1;for(var i=arguments.length-1;i>=-1&&!r;i--){var o=i>=0?arguments[i]:e.cwd();if(typeof o!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!o)continue;n=o+"/"+n,r=o.charAt(0)==="/"}return n=t(s(n.split("/"),function(e){return!!e}),!r).join("/"),(r?"/":"")+n||"."},n.normalize=function(e){var r=n.isAbsolute(e),i=o(e,-1)==="/";return e=t(s(e.split("/"),function(e){return!!e}),!r).join("/"),!e&&!r&&(e="."),e&&i&&(e+="/"),(r?"/":"")+e},n.isAbsolute=function(e){return e.charAt(0)==="/"},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(s(e,function(e,t){if(typeof e!="string")throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){var t=0;for(;t<e.length;t++)if(e[t]!=="")break;var n=e.length-1;for(;n>=0;n--)if(e[n]!=="")break;return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);var i=r(e.split("/")),s=r(t.split("/")),o=Math.min(i.length,s.length),u=o;for(var a=0;a<o;a++)if(i[a]!==s[a]){u=a;break}var f=[];for(var a=u;a<i.length;a++)f.push("..");return f=f.concat(s.slice(u)),f.join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){var t=i(e),n=t[0],r=t[1];return!n&&!r?".":(r&&(r=r.substr(0,r.length-1)),n+r)},n.basename=function(e,t){var n=i(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return i(e)[3]};var o="ab".substr(-1)==="b"?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:42}],42:[function(e,t,n){function i(){}var r=t.exports={};r.nextTick=function(){var e=typeof window!="undefined"&&window.setImmediate,t=typeof window!="undefined"&&window.MutationObserver,n=typeof window!="undefined"&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};var r=[];if(t){var i=document.createElement("div"),s=new MutationObserver(function(){var e=r.slice();r.length=0,e.forEach(function(e){e()})});return s.observe(i,{attributes:!0}),function(t){r.length||i.setAttribute("yes","no"),r.push(t)}}return n?(window.addEventListener("message",function(e){var t=e.source;if((t===window||t===null)&&e.data==="process-tick"){e.stopPropagation();if(r.length>0){var n=r.shift();n()}}},!0),function(t){r.push(t),window.postMessage("process-tick","*")}):function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=i,r.addListener=i,r.once=i,r.off=i,r.removeListener=i,r.removeAllListeners=i,r.emit=i,r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")}},{}],43:[function(e,t,n){typeof Object.create=="function"?t.exports=function(t,n){t.super_=n,t.prototype=Object.create(n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,n){t.super_=n;var r=function(){};r.prototype=n.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],44:[function(e,t,n){t.exports=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}},{}],45:[function(e,t,n){(function(t,r){function u(e,t){var r={seen:[],stylize:f};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(t)?r.showHidden=t:t&&n._extend(r,t),T(r.showHidden)&&(r.showHidden=!1),T(r.depth)&&(r.depth=2),T(r.colors)&&(r.colors=!1),T(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),c(r,e,r.depth)}function a(e,t){var n=u.styles[t];return n?"["+u.colors[n][0]+"m"+e+"["+u.colors[n][1]+"m":e}function f(e,t){return e}function l(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function c(e,t,r){if(e.customInspect&&t&&A(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(r,e);return S(i)||(i=c(e,i,r)),i}var s=h(e,t);if(s)return s;var o=Object.keys(t),u=l(o);e.showHidden&&(o=Object.getOwnPropertyNames(t));if(L(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(t);if(o.length===0){if(A(t)){var a=t.name?": "+t.name:"";return e.stylize("[Function"+a+"]","special")}if(N(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(k(t))return e.stylize(Date.prototype.toString.call(t),"date");if(L(t))return p(t)}var f="",y=!1,b=["{","}"];g(t)&&(y=!0,b=["[","]"]);if(A(t)){var w=t.name?": "+t.name:"";f=" [Function"+w+"]"}N(t)&&(f=" "+RegExp.prototype.toString.call(t)),k(t)&&(f=" "+Date.prototype.toUTCString.call(t)),L(t)&&(f=" "+p(t));if(o.length!==0||!!y&&t.length!=0){if(r<0)return N(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var E;return y?E=d(e,t,r,u,o):E=o.map(function(n){return v(e,t,r,u,n,y)}),e.seen.pop(),m(E,f,b)}return b[0]+f+b[1]}function h(e,t){if(T(t))return e.stylize("undefined","undefined");if(S(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(E(t))return e.stylize(""+t,"number");if(y(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,i){var s=[];for(var o=0,u=t.length;o<u;++o)H(t,String(o))?s.push(v(e,t,n,r,String(o),!0)):s.push("");return i.forEach(function(i){i.match(/^\d+$/)||s.push(v(e,t,n,r,i,!0))}),s}function v(e,t,n,r,i,s){var o,u,a;a=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},a.get?a.set?u=e.stylize("[Getter/Setter]","special"):u=e.stylize("[Getter]","special"):a.set&&(u=e.stylize("[Setter]","special")),H(r,i)||(o="["+i+"]"),u||(e.seen.indexOf(a.value)<0?(b(n)?u=c(e,a.value,null):u=c(e,a.value,n-1),u.indexOf("\n")>-1&&(s?u=u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):u="\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special"));if(T(o)){if(s&&i.match(/^\d+$/))return u;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+u}function m(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(t===""?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function g(e){return Array.isArray(e)}function y(e){return typeof e=="boolean"}function b(e){return e===null}function w(e){return e==null}function E(e){return typeof e=="number"}function S(e){return typeof e=="string"}function x(e){return typeof e=="symbol"}function T(e){return e===void 0}function N(e){return C(e)&&M(e)==="[object RegExp]"}function C(e){return typeof e=="object"&&e!==null}function k(e){return C(e)&&M(e)==="[object Date]"}function L(e){return C(e)&&(M(e)==="[object Error]"||e instanceof Error)}function A(e){return typeof e=="function"}function O(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}function M(e){return Object.prototype.toString.call(e)}function _(e){return e<10?"0"+e.toString(10):e.toString(10)}function P(){var e=new Date,t=[_(e.getHours()),_(e.getMinutes()),_(e.getSeconds())].join(":");return[e.getDate(),D[e.getMonth()],t].join(" ")}function H(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var i=/%[sdj%]/g;n.format=function(e){if(!S(e)){var t=[];for(var n=0;n<arguments.length;n++)t.push(u(arguments[n]));return t.join(" ")}var n=1,r=arguments,s=r.length,o=String(e).replace(i,function(e){if(e==="%%")return"%"
;if(n>=s)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"};default:return e}});for(var a=r[n];n<s;a=r[++n])b(a)||!C(a)?o+=" "+a:o+=" "+u(a);return o},n.deprecate=function(e,i){function o(){if(!s){if(t.throwDeprecation)throw new Error(i);t.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}if(T(r.process))return function(){return n.deprecate(e,i).apply(this,arguments)};if(t.noDeprecation===!0)return e;var s=!1;return o};var s={},o;n.debuglog=function(e){T(o)&&(o=t.env.NODE_DEBUG||""),e=e.toUpperCase();if(!s[e])if((new RegExp("\\b"+e+"\\b","i")).test(o)){var r=t.pid;s[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else s[e]=function(){};return s[e]},n.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow","boolean":"yellow","undefined":"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=g,n.isBoolean=y,n.isNull=b,n.isNullOrUndefined=w,n.isNumber=E,n.isString=S,n.isSymbol=x,n.isUndefined=T,n.isRegExp=N,n.isObject=C,n.isDate=k,n.isError=L,n.isFunction=A,n.isPrimitive=O,n.isBuffer=e("./support/isBuffer");var D=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];n.log=function(){console.log("%s - %s",P(),n.format.apply(n,arguments))},n.inherits=e("inherits"),n._extend=function(e,t){if(!t||!C(t))return e;var n=Object.keys(t),r=n.length;while(r--)e[n[r]]=t[n[r]];return e}}).call(this,e("_process"),typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./support/isBuffer":44,_process:42,inherits:43}],46:[function(e,t,n){(function(e){function i(t){return e.functions.hsla(t.h,t.s,t.l,t.a)}function s(t){return t instanceof e.Dimension?parseFloat(t.unit=="%"?t.value/100:t.value):typeof t=="number"?t:NaN}function o(e){return Math.min(1,Math.max(0,e))}e.functions={rgb:function(e,t,n){return this.rgba(e,t,n,1)},rgba:function(t,n,r,i){var o=[t,n,r].map(function(e){return s(e)});return i=s(i),o.some(isNaN)||isNaN(i)?null:new e.Color(o,i)},stop:function(e){var t,n;return arguments.length>1&&(t=arguments[1]),arguments.length>2&&(n=arguments[2]),{is:"tag",val:e,color:t,mode:n,toString:function(r){return'\n <stop value="'+e.ev(r)+'"'+(t?' color="'+t.ev(r)+'" ':"")+(n?' mode="'+n.ev(r)+'" ':"")+"/>"}}},hsl:function(e,t,n){return this.hsla(e,t,n,1)},hsla:function(e,t,n,r){function u(e){return e=e<0?e+1:e>1?e-1:e,e*6<1?o+(i-o)*e*6:e*2<1?i:e*3<2?o+(i-o)*(2/3-e)*6:o}e=s(e)%360/360,t=s(t),n=s(n),r=s(r);if([e,t,n,r].some(isNaN))return null;var i=n<=.5?n*(t+1):n+t-n*t,o=n*2-i;return this.rgba(u(e+1/3)*255,u(e)*255,u(e-1/3)*255,r)},hue:function(t){return"toHSL"in t?new e.Dimension(Math.round(t.toHSL().h)):null},saturation:function(t){return"toHSL"in t?new e.Dimension(Math.round(t.toHSL().s*100),"%"):null},lightness:function(t){return"toHSL"in t?new e.Dimension(Math.round(t.toHSL().l*100),"%"):null},alpha:function(t){return"toHSL"in t?new e.Dimension(t.toHSL().a):null},saturate:function(e,t){if("toHSL"in e){var n=e.toHSL();return n.s+=t.value/100,n.s=o(n.s),i(n)}return null},desaturate:function(e,t){if("toHSL"in e){var n=e.toHSL();return n.s-=t.value/100,n.s=o(n.s),i(n)}return null},lighten:function(e,t){if("toHSL"in e){var n=e.toHSL();return n.l+=t.value/100,n.l=o(n.l),i(n)}return null},darken:function(e,t){if("toHSL"in e){var n=e.toHSL();return n.l-=t.value/100,n.l=o(n.l),i(n)}return null},fadein:function(e,t){if("toHSL"in e){var n=e.toHSL();return n.a+=t.value/100,n.a=o(n.a),i(n)}return null},fadeout:function(e,t){if("toHSL"in e){var n=e.toHSL();return n.a-=t.value/100,n.a=o(n.a),i(n)}return null},spin:function(e,t){if("toHSL"in e){var n=e.toHSL(),r=(n.h+t.value)%360;return n.h=r<0?360+r:r,i(n)}return null},replace:function(e,t,n){return e.is==="field"?e.toString+".replace("+t.toString()+", "+n.toString()+")":e.replace(t,n)},mix:function(t,n,r){var i=r.value/100,s=i*2-1,o=t.toHSL().a-n.toHSL().a,u=((s*o==-1?s:(s+o)/(1+s*o))+1)/2,a=1-u,f=[t.rgb[0]*u+n.rgb[0]*a,t.rgb[1]*u+n.rgb[1]*a,t.rgb[2]*u+n.rgb[2]*a],l=t.alpha*i+n.alpha*(1-i);return new e.Color(f,l)},greyscale:function(t){return this.desaturate(t,new e.Dimension(100))},"%":function(t){var n=Array.prototype.slice.call(arguments,1),r=t.value;for(var i=0;i<n.length;i++)r=r.replace(/%s/,n[i].value).replace(/%[da]/,n[i].toString());return r=r.replace(/%%/g,"%"),new e.Quoted(r)}};var t=["emboss","blur","gray","sobel","edge-detect","x-gradient","y-gradient","sharpen"];for(var n=0;n<t.length;n++){var r=t[n];e.functions[r]=function(t){return function(){return new e.ImageFilter(t)}}(r)}e.functions["agg-stack-blur"]=function(t,n){return new e.ImageFilter("agg-stack-blur",[t,n])},e.functions["scale-hsla"]=function(t,n,r,i,s,o,u,a){return new e.ImageFilter("scale-hsla",[t,n,r,i,s,o,u,a])}})(e("./tree"))},{"./tree":52}],47:[function(e,t,n){(function(t,r){function u(){if(t.browser)return e("../../package.json").version.split(".");if(parseInt(t.version.split(".")[1],10)>4)return e("../../package.json").version.split(".");var n=JSON.parse(s.readFileSync(o.join(r,"../../package.json")));return n.version.split(".")}function l(e,t){var n={bold:[1,22],inverse:[7,27],underline:[4,24],yellow:[33,39],green:[32,39],red:[31,39],grey:[90,39]};return"["+n[t][0]+"m"+e+"["+n[t][1]+"m"}var i=e("util"),s=e("fs"),o=e("path"),a={version:u(),Parser:e("./parser").Parser,Renderer:e("./renderer").Renderer,tree:e("./tree"),RendererJS:e("./renderer_js"),default_reference:e("./torque-reference"),writeError:function(e,t){var n="",r=e.extract,s=[];t=t||{};if(t.silent)return;t.indent=t.indent||"";if(!("index"in e)||!r)return i.error(t.indent+(e.stack||e.message));typeof r[0]=="string"&&s.push(l(e.line-1+" "+r[0],"grey")),r[1]===""&&typeof r[2]=="undefined"&&(r[1]="¶"),s.push(e.line+" "+r[1].slice(0,e.column)+l(l(r[1][e.column],"bold")+r[1].slice(e.column+1),"yellow")),typeof r[2]=="string"&&s.push(l(e.line+1+" "+r[2],"grey")),s=t.indent+s.join("\n"+t.indent)+"\n",n=t.indent+n+l(e.message,"red"),e.filename&&(n+=l(" in ","red")+e.filename),i.error(n,s),e.callLine&&(i.error(l("from ","red")+(e.filename||"")),i.error(l(e.callLine,"grey")+" "+e.callExtract)),e.stack&&i.error(l(e.stack,"red"))}};e("./tree/call"),e("./tree/color"),e("./tree/comment"),e("./tree/definition"),e("./tree/dimension"),e("./tree/element"),e("./tree/expression"),e("./tree/filterset"),e("./tree/filter"),e("./tree/field"),e("./tree/keyword"),e("./tree/layer"),e("./tree/literal"),e("./tree/operation"),e("./tree/quoted"),e("./tree/imagefilter"),e("./tree/reference"),e("./tree/rule"),e("./tree/ruleset"),e("./tree/selector"),e("./tree/style"),e("./tree/url"),e("./tree/value"),e("./tree/variable"),e("./tree/zoom"),e("./tree/invalid"),e("./tree/fontset"),e("./tree/frame_offset"),e("./functions");for(var f in a)n[f]=a[f]}).call(this,e("_process"),"/node_modules/carto/lib/carto")},{"../../package.json":82,"./functions":46,"./parser":48,"./renderer":49,"./renderer_js":50,"./torque-reference":51,"./tree":52,"./tree/call":53,"./tree/color":54,"./tree/comment":55,"./tree/definition":56,"./tree/dimension":57,"./tree/element":58,"./tree/expression":59,"./tree/field":60,"./tree/filter":61,"./tree/filterset":62,"./tree/fontset":63,"./tree/frame_offset":64,"./tree/imagefilter":65,"./tree/invalid":66,"./tree/keyword":67,"./tree/layer":68,"./tree/literal":69,"./tree/operation":70,"./tree/quoted":71,"./tree/reference":72,"./tree/rule":73,"./tree/ruleset":74,"./tree/selector":75,"./tree/style":76,"./tree/url":77,"./tree/value":78,"./tree/variable":79,"./tree/zoom":80,_process:42,fs:35,path:41,util:45}],48:[function(e,t,n){(function(t){var r=n,i=e("./tree"),s=t._||e("underscore");r.Parser=function(t){function v(){u=l[o],a=r,c=r}function m(){l[o]=u,r=a,c=r}function g(){r>c&&(l[o]=l[o].slice(r-c),c=r)}function y(e){var t,i,s,u,a,f,p;if(e instanceof Function)return e.call(h.parsers);if(typeof e=="string")t=n.charAt(r)===e?e:null,s=1,g();else{g(),t=e.exec(l[o]);if(!t)return null;s=t[0].length}if(t){var d=r+=s;f=r+l[o].length-s;while(r<f){u=n.charCodeAt(r);if(u!==32&&u!==10&&u!==9)break;r++}return l[o]=l[o].slice(s+(r-d)),c=r,l[o].length===0&&o<l.length-1&&o++,typeof t=="string"?t:t.length===1?t[0]:t}}function b(e){return typeof e=="string"?n.charAt(r)===e:!!e.test(l[o])}function w(e,t){return(e.slice(0,t).match(/\n/g)||"").length+1}function E(e){var r,i;s.defaults(e,{index:f,filename:t.filename,message:"Parse error.",line:0,column:-1}),e.filename&&p.env.inputs&&p.env.inputs[e.filename]?r=p.env.inputs[e.filename]:r=n,e.line=w(r,e.index);for(var o=e.index;o>=0&&r.charAt(o)!=="\n";o--)e.column++;return i=s.template("<%=filename%>:<%=line%>:<%=column%> <%=message%>"),new Error(i(e))}var n,r,o,u,a,f,l,c,h,p=this,d=function(){};return this.env=t=t||{},this.env.filename=this.env.filename||null,this.env.inputs=this.env.inputs||{},h={extractErrorLine:w,parse:function(e){var s,u,a,h,d,v,m=[],g,b=null;r=o=c=f=0,l=[],n=e.replace(/\r\n/g,"\n"),t.filename&&(p.env.inputs[t.filename]=n);var w=!1;l=function(e){var t=0,r=/(?:@\{[\w-]+\}|[^"'`\{\}\/\(\)\\])+/g,i=/\/\*(?:[^*]|\*+[^\/*])*\*+\/|\/\/.*/g,s=/"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'|`((?:[^`]|\\.)*)`/g,o=0,u,a=e[0],f;for(var l=0,c,h;l<n.length;){r.lastIndex=l,(u=r.exec(n))&&u.index===l&&(l+=u[0].length,a.push(u[0])),c=n.charAt(l),i.lastIndex=s.lastIndex=l;if(u=s.exec(n))if(u.index===l){l+=u[0].length,a.push(u[0]);continue}if(!f&&c==="/"){h=n.charAt(l+1);if(h==="/"||h==="*")if(u=i.exec(n))if(u.index===l){l+=u[0].length,a.push(u[0]);continue}}switch(c){case"{":if(!f){o++,a.push(c);break};case"}":if(!f){o--,a.push(c),e[++t]=a=[];break};case"(":if(!f){f=!0,a.push(c);break};case")":if(f){f=!1,a.push(c);break};default:a.push(c)}l++}return o!==0&&(b={index:l-1,type:"Parse",message:o>0?"missing closing `}`":"missing opening `{`"}),e.map(function(e){return e.join("")})}([[]]);if(b)throw E(b);s=new i.Ruleset([],y(this.parsers.primary)),s.root=!0,s.toList=function(){var e,t,n;return function(e){e.error=function(t){e.errors||(e.errors=new Error("")),e.errors.message?e.errors.message+="\n"+E(t).message:e.errors.message=E(t).message},e.frames=e.frames||[];var t=this.flatten([],[],e);return t.sort(S),t}}();var S=function(e,t){var n=e.specificity,r=t.specificity;return n[0]!=r[0]?r[0]-n[0]:n[1]!=r[1]?r[1]-n[1]:n[2]!=r[2]?r[2]-n[2]:r[3]-n[3]};return s},parsers:{primary:function(){var e,t=[];while((e=y(this.rule)||y(this.ruleset)||y(this.comment))||y(/^[\s\n]+/)||(e=y(this.invalid)))e&&t.push(e);return t},invalid:function(){var e=y(/^[^;\n]*[;\n]/);if(e)return new i.Invalid(e,a)},comment:function(){var e;if(n.charAt(r)!=="/")return;if(n.charAt(r+1)==="/")return new i.Comment(y(/^\/\/.*/),!0);if(e=y(/^\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/))return new i.Comment(e)},entities:{quoted:function(){if(n.charAt(r)!=='"'&&n.charAt(r)!=="'")return;var e=y(/^"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'/);if(e)return new i.Quoted(e[1]||e[2])},field:function(){if(!y("["))return;var e=y(/(^[^\]]+)/);if(!y("]"))return;if(e)return new i.Field(e[1])},comparison:function(){var e=y(/^=~|=|!=|<=|>=|<|>/);if(e)return e},keyword:function(){var e=y(/^[A-Za-z-]+[A-Za-z-0-9_]*/);if(e)return new i.Keyword(e)},call:function(){var e,t;if(!(e=/^([\w\-]+|%)\(/.exec(l[o])))return;e=e[1];if(e==="url")return null;r+=e.length,y("("),t=y(this.entities.arguments);if(!y(")"))return;if(e)return new i.Call(e,t,r)},arguments:function(){var e=[],t;while(t=y(this.expression)){e.push(t);if(!y(","))break}return e},literal:function(){return y(this.entities.dimension)||y(this.entities.keywordcolor)||y(this.entities.hexcolor)||y(this.entities.quoted)},url:function(){var e;if(n.charAt(r)!=="u"||!y(/^url\(/))return;return e=y(this.entities.quoted)||y(this.entities.variable)||y(/^[\-\w%@$\/.&=:;#+?~]+/)||"",y(")")?new i.URL(typeof e.value!="undefined"||e instanceof i.Variable?e:new i.Quoted(e)):new i.Invalid(e,a,"Missing closing ) in URL.")},variable:function(){var e,s=r;if(n.charAt(r)==="@"&&(e=y(/^@[\w-]+/)))return new i.Variable(e,s,t.filename)},hexcolor:function(){var e;if(n.charAt(r)==="#"&&(e=y(/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/)))return new i.Color(e[1])},keywordcolor:function(){var e=l[o].match(/^[a-z]+/);if(e&&e[0]in i.Reference.data.colors)return new i.Color(i.Reference.data.colors[y(/^[a-z]+/)])},dimension:function(){var e=n.charCodeAt(r);if(e>57||e<45||e===47)return;var t=y(/^(-?\d*\.?\d+(?:[eE][-+]?\d+)?)(\%|\w+)?/);if(t)return new i.Dimension(t[1],t[2],a)}},variable:function(){var e;if(n.charAt(r)==="@"&&(e=y(/^(@[\w-]+)\s*:/)))return e[1]},entity:function(){return y(this.entities.call)||y(this.entities.literal)||y(this.entities.field)||y(this.entities.variable)||y(this.entities.url)||y(this.entities.keyword)},end:function(){return y(";")||b("}")},element:function(){var e=y(/^(?:[.#][\w\-]+|\*|Map)/);if(e)return new i.Element(e)},attachment:function(){var e=y(/^::([\w\-]+(?:\/[\w\-]+)*)/);if(e)return e[1]},selector:function(){var e,t,s,o=[],u,f=new i.Filterset,l,c=[],h=i.FrameOffset.none;segments=0,conditions=0;while((s=y(this.element))||(l=y(this.zoom))||(fo=y(this.frame_offset))||(u=y(this.filter))||(e=y(this.attachment))){segments++;if(s)o.push(s);else if(l)c.push(l),conditions++;else if(fo)h=fo,conditions++;else if(u){var p=f.add(u);if(p)throw E({message:p,index:r-1});conditions++}else{if(t)throw E({message:"Encountered second attachment name.",index:r-1});t=e}var d=n.charAt(r);if(d==="{"||d==="}"||d===";"||d===",")break}if(segments)return new i.Selector(f,c,h,o,t,conditions,a)},filter:function(){v();var e,n,r;if(!y("["))return;if(e=y(/^[a-zA-Z0-9\-_]+/)||y(this.entities.quoted)||y(this.entities.variable)||y(this.entities.keyword)||y(this.entities.field)){e instanceof i.Quoted&&(e=new i.Field(e.toString()));if((n=y(this.entities.comparison))&&(r=y(this.entities.quoted)||y(this.entities.variable)||y(this.entities.dimension)||y(this.entities.keyword)||y(this.entities.field))){if(!y("]"))throw E({message:"Missing closing ] of filter.",index:a-1});return e.is||(e=new i.Field(e)),new i.Filter(e,n,r,a,t.filename)}}},frame_offset:function(){v();var e,t;if(y(/^\[\s*frame-offset/g)&&(e=y(this.entities.comparison))&&(t=y(/^\d+/))&&y("]"))return i.FrameOffset(e,t,a)},zoom:function(){v();var e,t;if(y(/^\[\s*zoom/g)&&(e=y(this.entities.comparison))&&(t=y(this.entities.variable)||y(this.entities.dimension))&&y("]"))return new i.Zoom(e,t,a);m()},block:function(){var e;if(y("{")&&(e=y(this.primary))&&y("}"))return e},ruleset:function(){var e=[],t,n,r,s,o=[];v();while(t=y(this.selector)){e.push(t);while(y(this.comment));if(!y(","))break;while(y(this.comment));}if(t)while(y(this.comment));if(e.length>0&&(s=y(this.block))){if(e.length===1&&e[0].elements.length&&e[0].elements[0].value==="Map"){var u=new i.Ruleset(e,s);return u.isMap=!0,u}return new i.Ruleset(e,s)}m()},rule:function(){var e,s,o=n.charAt(r);v();if(o==="."||o==="#")return;if(e=y(this.variable)||y(this.property)){s=y(this.value);if(s&&y(this.end))return new i.Rule(e,s,a,t.filename);f=r,m()}},font:function(){var e=[],t=[],n,r,s;while(s=y(this.entity))t.push(s);e.push(new i.Expression(t));if(y(","))while(s=y(this.expression)){e.push(s);if(!y(","))break}return new i.Value(e)},value:function(){var e,t=[];while(e=y(this.expression)){t.push(e);if(!y(","))break}if(t.length>1)return new i.Value(t.map(function(e){return e.value[0]}));if(t.length===1)return new i.Value(t)},sub:function(){var e,t=[];if(y("(")){while(e=y(this.expression)){t.push(e);if(!y(","))break}y(")")}if(t.length>1)return new i.Value(t.map(function(e){return e.value[0]}));if(t.length===1)return new i.Value(t)},multiplication:function(){var e,t,n,r;if(e=y(this.operand)){while((n=y("/")||y("*")||y("%"))&&(t=y(this.operand)))r=new i.Operation(n,[r||e,t],a);return r||e}},addition:function(){var e,t,s,o;if(e=y(this.multiplication)){while((s=y(/^[-+]\s+/)||n.charAt(r-1)!=" "&&(y("+")||y("-")))&&(t=y(this.multiplication)))o=new i.Operation(s,[o||e,t],a);return o||e}},operand:function(){return y(this.sub)||y(this.entity)},expression:function(){var e,t,n=[],r;while(e=y(this.addition)||y(this.entity))n.push(e);if(n.length>0)return new i.Expression(n)},property:function(){var e=y(/^(([a-z][-a-z_0-9]*\/)?\*?-?[-a-z_0-9]+)\s*:/);if(e)return e[1]}}},h}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./tree":52,underscore:166}],49:[function(e,t,n){(function(n){function s(e,t,n,r){var i=t.filters,s=t.rules,o,u,a;for(var f=0;f<e.length;f++)o=e[f].filters.cloneWith(i),o?(a=n[o],a?a.addRules(s):(u=e[f].clone(o),u.addRules(s)&&(n[o]=u,e.splice(f,0,u),f++))):o===null&&(e[f]=e[f].clone(),e[f].addRules(s));return e}function o(e,t){var n=+(new Date),r={},i={},o=[],u,a,f;e.forEach(function(e){e.filters.ev(t)});for(var l=0;l<e.length;l++){f=e[l].attachment,u=[e[l]],r[f]||(r[f]=[],r[f].attachment=f,i[f]={},o.push(r[f]));for(var c=l+1;c<e.length;c++)e[c].attachment===f&&(u=s(u,e[c],i[f],t));for(var h=0;h<u.length;h++)i[f][u[h].filters]=u[h],r[f].push(u[h])}return t.benchmark&&console.warn("Inheritance time: "+(new Date-n)+"ms"),o}function u(e,t){return t.index-e.index}function a(e,t){for(var n=0;n<e.length;n++){var r=e[n];r.index=Infinity;for(var i=0;i<r.length;i++){var s=r[i].rules;for(var o=0;o<s.length;o++){var a=s[o];a.index<r.index&&(r.index=a.index)}}}var f=e.slice();return f.sort(u),f}function f(e,t,n){var s={},o=i.tree.Reference.data.symbolizers.map;return r(e).each(function(e,t){t in o&&(s[t]=t+'="'+e+'"')}),t.filter(function(e){return e.elements.join("")==="Map"}).forEach(function(e){for(var t=0;t<e.rules.length;t++){var r=e.rules[t].name;r in o||n.error({message:"Rule "+r+" not allowed for Map.",index:e.rules[t].index}),s[r]=e.rules[t].ev(n).toXML(n)}}),s}var r=n._||e("underscore"),i=e("./index");i.Renderer=function(t,n){this.env=t||{},this.options=n||{},this.options.mapnik_version=this.options.mapnik_version||"3.0.0"},i.Renderer.prototype.renderMSS=function(t){var n=r.defaults(this.env,{benchmark:!1,validation_data:!1,effects:[]});if(!i.tree.Reference.setVersion(this.options.mapnik_version))throw new Error("Could not set mapnik version to "+this.options.mapnik_version);var s=[],u=[];n.benchmark&&console.time("Parsing MSS");var f=i.Parser(n).parse(t);n.benchmark&&console.timeEnd("Parsing MSS"),n.benchmark&&console.time("Rule generation");var l=f.toList(n);n.benchmark&&console.timeEnd("Rule generation"),n.benchmark&&console.time("Rule inheritance");var c=o(l,n);n.benchmark&&console.timeEnd("Rule inheritance"),n.benchmark&&console.time("Style sort");var h=a(c,n);n.benchmark&&console.timeEnd("Style sort"),n.benchmark&&console.time("Total Style generation");for(var p=0,d,v;p<h.length;p++){d=h[p],v="style"+(d.attachment!=="__default__"?"-"+d.attachment:""),u.push(v);var m=' Style "'+v+'" (#'+p+") toXML";n.benchmark&&console.time(m),s.push(i.tree.StyleXML(v,d.attachment,d,n)),n.benchmark&&console.timeEnd(m)}n.benchmark&&console.timeEnd("Total Style generation");if(n.errors)throw n.errors;return s.join("\n")},i.Renderer.prototype.render=function(t){function l(e,t){return function(e){return e.appliesTo(h.name,t)}}var n=r.defaults(this.env,{benchmark:!1,validation_data:!1,effects:[],ppi:90.714});if(!i.tree.Reference.setVersion(this.options.mapnik_version))throw new Error("Could not set mapnik version to "+this.options.mapnik_version);var s=[],u=r.chain(t.Stylesheet).map(function(e){if(typeof e=="string")throw new Error("Stylesheet object is expected not a string: '"+e+"'");n=r.extend(n,{filename:e.id});var t=+(new Date),s=i.Parser(n).parse(e.data);return n.benchmark&&console.warn("Parsing time: "+(new Date-t)+"ms"),s.toList(n)}).flatten().value(),c,h,p,d,v,m;for(var g=0;g<t.Layer.length;g++){h=t.Layer[g],c=[],p={},n.benchmark&&console.warn("processing layer: "+h.id);var y=(h["class"]||"").split(/\s+/g);for(var b=0;b<y.length;b++)p[y[b]]=!0;m=u.filter(l(h.name,p)),d=o(m,n),v=a(d,n);for(var w=0,E,S;w<v.length;w++){E=v[w],S=h.name+(E.attachment!=="__default__"?"-"+E.attachment:"");var x=i.tree.StyleXML(S,E.attachment,E,n);x&&(s.push(x),c.push(S))}s.push(i.tree.LayerXML(h,c))}s.unshift(n.effects.map(function(e){return e.toXML(n)}).join("\n"));var T=f(t,u,n);if(n.errors)throw n.errors;var N=r.reduce(t,function(e,t,n){if(!t&&t!==0)return e;switch(n){case"srs":case"Layer":case"Stylesheet":break;case"bounds":case"center":case"minzoom":case"maxzoom":case"version":e.push(' <Parameter name="'+n+'">'+t+"</Parameter>");break;case"name":case"description":case"legend":case"attribution":case"template":e.push(' <Parameter name="'+n+'"><![CDATA['+t+"]]></Parameter>");break;case"format":e.push(' <Parameter name="'+n+'">'+t+"</Parameter>");break;case"interactivity":e.push(' <Parameter name="interactivity_layer">'+t.layer+"</Parameter>"),e.push(' <Parameter name="interactivity_fields">'+t.fields+"</Parameter>");break;default:"string"==typeof t?e.push(' <Parameter name="'+n+'"><![CDATA['+t+"]]></Parameter>"):"number"==typeof t?e.push(' <Parameter name="'+n+'">'+t+"</Parameter>"):"boolean"==typeof t&&e.push(' <Parameter name="'+n+'">'+t+"</Parameter>")}return e},[]);N.length&&s.unshift("<Parameters>\n"+N.join("\n")+"\n</Parameters>\n");var C=r.map(T,function(e){return" "+e}).join("");return s.unshift('<?xml version="1.0" encoding="utf-8"?>\n<!DOCTYPE Map[]>\n<Map'+C+">\n"),s.push("</Map>"),s.join("\n")},t.exports=i,t.exports.addRules=s,t.exports.inheritDefinitions=o,t.exports.sortStyles=a}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"./index":47,underscore:166}],50:[function(require,module,exports){(function(global){(function(carto){function CartoCSS(e,t){this.options=t||{},this.imageURLs=[],e&&this.setStyle(e)}var tree=require("./tree"),_=global._||require("underscore");CartoCSS.Layer=function(e,t){this.options=t,this.shader=e},CartoCSS.Layer.prototype={fullName:function(){return this.shader.attachment},name:function(){return this.fullName().split("::")[0]},frames:function(){return this.shader.frames},attachment:function(){return this.fullName().split("::")[1]},eval:function(e){var t=this.shader[e];if(!t||!t.style)return;return t.style({},{zoom:0,"frame-offset":0})},getStyle:function(e,t){var n={};for(var r in this.shader)r!=="attachment"&&r!=="zoom"&&r!=="frames"&&r!=="symbolizers"&&(n[r]=this.shader[r].style(e,t));return n},getSymbolizers:function(){return this.shader.symbolizers},isVariable:function(){for(var e in this.shader)if(e!=="attachment"&&e!=="zoom"&&e!=="frames"&&e!=="symbolizers"&&!this.shader[e].constant)return!0;return!1},getShader:function(){return this.shader},filter:function(e,t,n){for(var r in this.shader){var i=this.shader[r](t,n);if(i)return!0}return!1},transformGeometry:function(e){return e},transformGeometries:function(e){return e}},CartoCSS.prototype={setStyle:function(e){var t=this.parse(e);if(!t)throw new Error(this.parse_env.errors);this.layers=t.map(function(e){return new CartoCSS.Layer(e)})},getLayers:function(){return this.layers},getDefault:function(){return this.findLayer({attachment:"__default__"})},findLayer:function(e){return _.find(this.layers,function(t){for(var n in e){var r=t[n];typeof r=="function"&&(r=r.call(t));if(e[n]!==r)return!1}return!0})},_createFn:function(e){var t=e.join("\n");return this.options.debug&&console.log(t),Function("data","ctx","var _value = null; "+t+"; return _value; ")},_compile:function(shader){typeof shader=="string"&&(shader=eval("(function() { return "+shader+"; })()")),this.shader_src=shader;for(var attr in shader){var c=mapper[attr];c&&(this.compiled[c]=eval("(function() { return shader[attr]; })();"))}},getImageURLs:function(){return this.imageURLs},parse:function(e){var t={frames:[],errors:[],error:function(e){this.errors.push(e)}};this.parse_env=t;var n=null;try{n=(new carto.Parser(t)).parse(e)}catch(r){t.errors.push(r.message);return}if(n){function i(e){return e.elements[0]+"::"+e.attachment}var s=n.toList(t);s.reverse();var o={};for(var u=0;u<s.length;++u){var a=s[u],f=i(a),l=o[f]=o[f]||{symbolizers:[]};for(var c=0;c<a.rules.length;c++)if(a.rules[c].name==="marker-file"||a.rules[c].name==="point-file"){var h=a.rules[c].value.value[0].value[0].value.value;this.imageURLs.push(h)}l.frames=[],l.zoom=tree.Zoom.all;var p=a.toJS(t);this.options.debug&&console.log("props",p);for(var d in p){var v=l[d]=l[d]||{constant:!1,symbolizer:null,js:[],index:0};v.js.push(p[d].map(function(e){return e.js}).join("\n")),v.symbolizer=_.first(p[d].map(function(e){return e.symbolizer})),v.index=_.max(p[d].map(function(e){return e.index}).concat(v.index)),v.constant=!_.any(p[d].map(function(e){return!e.constant}))}}var m=[];this.options.debug&&console.log(o);var g={};for(var u=0;u<s.length;++u){var a=s[u],y=i(a),l=o[y];if(!g[y]){this.options.debug&&console.log("**",y);for(var b in l)b!=="zoom"&&b!=="frames"&&b!=="symbolizers"&&(this.options.debug&&console.log("*",b),l[b].style=this._createFn(l[b].js),l.symbolizers.push(l[b].symbolizer),l.symbolizers=_.uniq(l.symbolizers));l.attachment=y,m.push(l),g[y]=!0}l.zoom|=a.zoom,l.frames.push(a.frame_offset)}for(u=0;u<m.length;++u)m[u].frames=_.uniq(m[u].frames);return m}return null}},carto.RendererJS=function(e){this.options=e||{},this.options.mapnik_version=this.options.mapnik_version||"latest"},carto.RendererJS.prototype.render=function(t,n){var r=require("./torque-reference");return tree.Reference.setData(r.version.latest),new CartoCSS(t,this.options)},typeof module!="undefined"&&(module.exports=carto.RendererJS)})(require("../carto"))}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../carto":47,"./torque-reference":51,"./tree":52,underscore:166}],51:[function(e,t,n){var r={version:"2.1.1",style:{"filter-mode":{type:["all","first"],doc:"Control the processing behavior of Rule filters within a Style. If 'all' is used then all Rules are processed sequentially independent of whether any previous filters matched. If 'first' is used then it means processing ends after the first match (a positive filter evaluation) and no further Rules in the Style are processed ('first' is usually the default for CSS implementations on top of Mapnik to simplify translation from CSS to Mapnik XML)","default-value":"all","default-meaning":"All Rules in a Style are processed whether they have filters or not and whether or not the filter conditions evaluate to true."},"image-filters":{css:"image-filters","default-value":"none","default-meaning":"no filters",type:"functions",functions:[["agg-stack-blur",2],["emboss",0],["blur",0],["gray",0],["sobel",0],["edge-detect",0],["x-gradient",0],["y-gradient",0],["invert",0],["sharpen",0],["colorize-alpha",-1],["color-to-alpha",1],["scale-hsla",8]],doc:"A list of image filters."},"comp-op":{css:"comp-op","default-value":"src-over","default-meaning":"add the current layer on top of other layers",doc:"Composite operation. This defines how this layer should behave relative to layers atop or below it.",type:["clear","src","dst","src-over","source-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","lighter","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]},opacity:{css:"opacity",type:"float",doc:"An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited back to main buffer)","default-value":1,"default-meaning":"no separate buffer will be used and no alpha will be applied to the style after rendering"}},layer:{name:{"default-value":"",type:"string",required:!0,"default-meaning":"No layer name has been provided",doc:"The name of a layer. Can be anything you wish and is not strictly validated, but ideally unique in the map"},srs:{"default-value":"",type:"string","default-meaning":"No srs value is provided and the value will be inherited from the Map's srs",doc:"The spatial reference system definition for the layer, aka the projection. Can either be a proj4 literal string like '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs' or, if the proper proj4 epsg/nad/etc identifier files are installed, a string that uses an id like: '+init=epsg:4326'"},status:{"default-value":!0,type:"boolean","default-meaning":"This layer will be marked as active and available for processing",doc:"A property that can be set to false to disable this layer from being processed"},minzoom:{"default-value":"0",type:"float","default-meaning":"The layer will be visible at the minimum possible scale",doc:"The minimum scale denominator that this layer will be visible at. A layer's visibility is determined by whether its status is true and if the Map scale >= minzoom - 1e-6 and scale < maxzoom + 1e-6"},maxzoom:{"default-value":"1.79769e+308",type:"float","default-meaning":"The layer will be visible at the maximum possible scale",doc:"The maximum scale denominator that this layer will be visible at. The default is the numeric limit of the C++ double type, which may vary slightly by system, but is likely a massive number like 1.79769e+308 and ensures that this layer will always be visible unless the value is reduced. A layer's visibility is determined by whether its status is true and if the Map scale >= minzoom - 1e-6 and scale < maxzoom + 1e-6"},queryable:{"default-value":!1,type:"boolean","default-meaning":"The layer will not be available for the direct querying of data values",doc:"This property was added for GetFeatureInfo/WMS compatibility and is rarely used. It is off by default meaning that in a WMS context the layer will not be able to be queried unless the property is explicitly set to true"},"clear-label-cache":{"default-value":!1,type:"boolean","default-meaning":"The renderer's collision detector cache (used for avoiding duplicate labels and overlapping markers) will not be cleared immediately before processing this layer",doc:"This property, by default off, can be enabled to allow a user to clear the collision detector cache before a given layer is processed. This may be desirable to ensure that a given layers data shows up on the map even if it normally would not because of collisions with previously rendered labels or markers"},"group-by":{"default-value":"",type:"string","default-meaning":"No special layer grouping will be used during rendering",doc:"https://github.com/mapnik/mapnik/wiki/Grouped-rendering"},"buffer-size":{"default-value":"0",type:"float","default-meaning":"No buffer will be used",doc:"Extra tolerance around the Layer extent (in pixels) used to when querying and (potentially) clipping the layer data during rendering"},"maximum-extent":{"default-value":"none",type:"bbox","default-meaning":"No clipping extent will be used",doc:"An extent to be used to limit the bounds used to query this specific layer data during rendering. Should be minx, miny, maxx, maxy in the coordinates of the Layer."}},symbolizers:{"*":{"image-filters":{css:"image-filters","default-value":"none","default-meaning":"no filters",type:"functions",functions:[["agg-stack-blur",2],["emboss",0],["blur",0],["gray",0],["sobel",0],["edge-detect",0],["x-gradient",0],["y-gradient",0],["invert",0],["sharpen",0],["colorize-alpha",-1],["color-to-alpha",1],["scale-hsla",8],["buckets",-1],["category",-1],["equal",-1],["headtails",-1],["jenks",-1],["quantiles",-1],["cartocolor",-1],["colorbrewer",-1],["range",-1],["ramp",-1]],doc:"A list of image filters."},"comp-op":{css:"comp-op","default-value":"src-over","default-meaning":"add the current layer on top of other layers",doc:"Composite operation. This defines how this layer should behave relative to layers atop or below it.",type:["clear","src","dst","src-over","source-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","lighter","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]},opacity:{css:"opacity",type:"float",doc:"An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited back to main buffer)","default-value":1,"default-meaning":"no separate buffer will be used and no alpha will be applied to the style after rendering"}},map:{"background-color":{css:"background-color","default-value":"none","default-meaning":"transparent",type:"color",doc:"Map Background color"
},"background-image":{css:"background-image",type:"uri","default-value":"","default-meaning":"transparent",doc:"An image that is repeated below all features on a map as a background.",description:"Map Background image"},srs:{css:"srs",type:"string","default-value":"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs","default-meaning":"The proj4 literal of EPSG:4326 is assumed to be the Map's spatial reference and all data from layers within this map will be plotted using this coordinate system. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and not transformations will be needed to plot them in the Map's coordinate space",doc:"Map spatial reference (proj4 string)"},"buffer-size":{css:"buffer-size","default-value":"0",type:"float","default-meaning":"No buffer will be used",doc:'Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in each tile (e.g. cut in each tile). Not intended to be used in combination with "avoid-edges".'},"maximum-extent":{css:"","default-value":"none",type:"bbox","default-meaning":"No clipping extent will be used",doc:"An extent to be used to limit the bounds used to query all layers during rendering. Should be minx, miny, maxx, maxy in the coordinates of the Map."},base:{css:"base","default-value":"","default-meaning":"This base path defaults to an empty string meaning that any relative paths to files referenced in styles or layers will be interpreted relative to the application process.",type:"string",doc:"Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded from an in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is not provided it will be set to the directory of the stylesheet."},"paths-from-xml":{css:"","default-value":!0,"default-meaning":"Paths read from XML will be interpreted from the location of the XML",type:"boolean",doc:"value to control whether paths in the XML will be interpreted from the location of the XML or from the working directory of the program that calls load_map()"},"minimum-version":{css:"","default-value":"none","default-meaning":"Mapnik version will not be detected and no error will be thrown about compatibility",type:"string",doc:"The minumum Mapnik version (e.g. 0.7.2) needed to use certain functionality in the stylesheet"},"font-directory":{css:"font-directory",type:"uri","default-value":"none","default-meaning":"No map-specific fonts will be registered",doc:"Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts that may be automatically registered)."}},polygon:{fill:{css:"polygon-fill",type:"color","default-value":"rgba(128,128,128,1)","default-meaning":"gray and fully opaque (alpha = 1), same as rgb(128,128,128)",doc:"Fill color to assign to a polygon",expression:!0},"fill-opacity":{css:"polygon-opacity",type:"float",doc:"The opacity of the polygon","default-value":1,"default-meaning":"opaque",expression:!0},gamma:{css:"polygon-gamma",type:"float","default-value":1,"default-meaning":"fully antialiased",range:"0-1",doc:"Level of antialiasing of polygon edges"},"gamma-method":{css:"polygon-gamma-method",type:["power","linear","none","threshold","multiply"],"default-value":"power","default-meaning":"pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line and polygon antialiasing than the 'linear' method, while other methods are usually only used to disable AA",doc:"An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik this method is used in combination with the 'gamma' value (which defaults to 1). The methods are in the AGG source at https://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h"},clip:{css:"polygon-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"polygon-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"polygon-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"polygon-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},line:{stroke:{css:"line-color","default-value":"rgba(0,0,0,1)",type:"color","default-meaning":"black and fully opaque (alpha = 1), same as rgb(0,0,0)",doc:"The color of a drawn line",expression:!0},"stroke-width":{css:"line-width","default-value":1,type:"float",doc:"The width of a line in pixels",expression:!0},"stroke-opacity":{css:"line-opacity","default-value":1,type:"float","default-meaning":"opaque",doc:"The opacity of a line"},"stroke-linejoin":{css:"line-join","default-value":"miter",type:["miter","round","bevel"],doc:"The behavior of lines when joining"},"stroke-linecap":{css:"line-cap","default-value":"butt",type:["butt","round","square"],doc:"The display of line endings"},"stroke-gamma":{css:"line-gamma",type:"float","default-value":1,"default-meaning":"fully antialiased",range:"0-1",doc:"Level of antialiasing of stroke line"},"stroke-gamma-method":{css:"line-gamma-method",type:["power","linear","none","threshold","multiply"],"default-value":"power","default-meaning":"pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line and polygon antialiasing than the 'linear' method, while other methods are usually only used to disable AA",doc:"An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik this method is used in combination with the 'gamma' value (which defaults to 1). The methods are in the AGG source at https://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h"},"stroke-dasharray":{css:"line-dasharray",type:"numbers",doc:"A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two values are supported for more complex patterns.","default-value":"none","default-meaning":"solid line"},"stroke-dashoffset":{css:"line-dash-offset",type:"numbers",doc:"valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is not yet enabled)","default-value":"none","default-meaning":"solid line"},"stroke-miterlimit":{css:"line-miterlimit",type:"float",doc:"The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joins for sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to be set, but a larger value can sometimes help avoid jaggy artifacts.","default-value":4,"default-meaning":"Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec: 'miterLength / stroke-width = 1 / sin ( theta / 2 )'"},clip:{css:"line-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"line-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},offset:{css:"line-offset",type:"float","default-value":0,"default-meaning":"no offset",doc:"Offsets a line a number of pixels parallel to its actual path. Postive values move the line left, negative values move it right (relative to the directionality of the line)."},rasterizer:{css:"line-rasterizer",type:["full","fast"],"default-value":"full",doc:"Exposes an alternate AGG rendering method that sacrifices some accuracy for speed."},"geometry-transform":{css:"line-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"line-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},markers:{file:{css:"marker-file",doc:"An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.","default-value":"","default-meaning":"An ellipse or circle, if width equals height",type:"uri",expression:!0},opacity:{css:"marker-opacity",doc:"The overall opacity of the marker, if set, overrides both the opacity of both the fill and stroke","default-value":1,"default-meaning":"The stroke-opacity and fill-opacity will be used",type:"float"},"fill-opacity":{css:"marker-fill-opacity",doc:"The fill opacity of the marker","default-value":1,"default-meaning":"opaque",type:"float"},stroke:{css:"marker-line-color",doc:"The color of the stroke around a marker shape.","default-value":"black",type:"color"},"stroke-width":{css:"marker-line-width",doc:"The width of the stroke around a marker shape, in pixels. This is positioned on the boundary, so high values can cover the area itself.",type:"float"},"stroke-opacity":{css:"marker-line-opacity","default-value":1,"default-meaning":"opaque",doc:"The opacity of a line",type:"float"},placement:{css:"marker-placement",type:["point","line","interior"],"default-value":"point","default-meaning":"Place markers at the center point (centroid) of the geometry",doc:"Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times along a line. 'interior' placement can be used to ensure that points placed on polygons are forced to be inside the polygon interior"},"multi-policy":{css:"marker-multi-policy",type:["each","whole","largest"],"default-value":"each","default-meaning":"If a feature contains multiple geometries and the placement type is either point or interior then a marker will be rendered for each",doc:"A special setting to allow the user to control rendering behavior for 'multi-geometries' (when a feature contains multiple geometries). This setting does not apply to markers placed along lines. The 'each' policy is default and means all geometries will get a marker. The 'whole' policy means that the aggregate centroid between all geometries will be used. The 'largest' policy means that only the largest (by bounding box areas) feature will get a rendered marker (this is how text labeling behaves by default)."},"marker-type":{css:"marker-type",type:["arrow","ellipse","rectangle"],"default-value":"ellipse",doc:"The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrow or an ellipse (a circle if height is equal to width)"},width:{css:"marker-width","default-value":10,doc:"The width of the marker, if using one of the default types.",type:"float",expression:!0},height:{css:"marker-height","default-value":10,doc:"The height of the marker, if using one of the default types.",type:"float",expression:!0},fill:{css:"marker-fill","default-value":"blue",doc:"The color of the area of the marker.",type:"color",expression:!0},"allow-overlap":{css:"marker-allow-overlap",type:"boolean","default-value":!1,doc:"Control whether overlapping markers are shown or hidden.","default-meaning":"Do not allow makers to overlap with each other - overlapping markers will not be shown."},"ignore-placement":{css:"marker-ignore-placement",type:"boolean","default-value":!1,"default-meaning":"do not store the bbox of this geometry in the collision detector cache",doc:"value to control whether the placement of the feature will prevent the placement of other features"},spacing:{css:"marker-spacing",doc:"Space between repeated labels","default-value":100,type:"float"},"max-error":{css:"marker-max-error",type:"float","default-value":.2,doc:"The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high value can allow the renderer to try to resolve placement conflicts with other symbolizers."},transform:{css:"marker-transform",type:"functions",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]],"default-value":"","default-meaning":"No transformation",doc:"SVG transformation definition"},clip:{css:"marker-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"marker-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"marker-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"marker-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},shield:{name:{css:"shield-name",type:"string",expression:!0,serialization:"content",doc:'Value to use for a shield"s text label. Data columns are specified using brackets like [column_name]'},file:{css:"shield-file",required:!0,type:"uri","default-value":"none",doc:"Image file to render behind the shield text"},"face-name":{css:"shield-face-name",type:"string",validate:"font",doc:"Font name and style to use for the shield text","default-value":"",required:!0},"unlock-image":{css:"shield-unlock-image",type:"boolean",doc:"This parameter should be set to true if you are trying to position text beside rather than on top of the shield image","default-value":!1,"default-meaning":"text alignment relative to the shield image uses the center of the image as the anchor for text positioning."},size:{css:"shield-size",type:"float",doc:"The size of the shield text in pixels"},fill:{css:"shield-fill",type:"color",doc:"The color of the shield text"},placement:{css:"shield-placement",type:["point","line","vertex","interior"],"default-value":"point",doc:"How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multiple times per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons."},"avoid-edges":{css:"shield-avoid-edges",doc:"Tell positioning algorithm to avoid labeling near intersection edges.",type:"boolean","default-value":!1},"allow-overlap":{css:"shield-allow-overlap",type:"boolean","default-value":!1,doc:"Control whether overlapping shields are shown or hidden.","default-meaning":"Do not allow shields to overlap with other map elements already placed."},"minimum-distance":{css:"shield-min-distance",type:"float","default-value":0,doc:"Minimum distance to the next shield symbol, not necessarily the same shield."},spacing:{css:"shield-spacing",type:"float","default-value":0,doc:"The spacing between repeated occurrences of the same shield on a line"},"minimum-padding":{css:"shield-min-padding","default-value":0,doc:"Determines the minimum amount of padding that a shield gets relative to other shields",type:"float"},"wrap-width":{css:"shield-wrap-width",type:"unsigned","default-value":0,doc:"Length of a chunk of text in characters before wrapping text"},"wrap-before":{css:"shield-wrap-before",type:"boolean","default-value":!1,doc:"Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width."},"wrap-character":{css:"shield-wrap-character",type:"string","default-value":" ",doc:"Use this character instead of a space to wrap long names."},"halo-fill":{css:"shield-halo-fill",type:"color","default-value":"#FFFFFF","default-meaning":"white",doc:"Specifies the color of the halo around the text."},"halo-radius":{css:"shield-halo-radius",doc:"Specify the radius of the halo in pixels","default-value":0,"default-meaning":"no halo",type:"float"},"character-spacing":{css:"shield-character-spacing",type:"unsigned","default-value":0,doc:"Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement."},"line-spacing":{css:"shield-line-spacing",doc:"Vertical spacing between lines of multiline labels (in pixels)",type:"unsigned"},dx:{css:"shield-text-dx",type:"float",doc:"Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right","default-value":0},dy:{css:"shield-text-dy",type:"float",doc:"Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down","default-value":0},"shield-dx":{css:"shield-dx",type:"float",doc:"Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right","default-value":0},"shield-dy":{css:"shield-dy",type:"float",doc:"Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down","default-value":0},opacity:{css:"shield-opacity",type:"float",doc:"(Default 1.0) - opacity of the image used for the shield","default-value":1},"text-opacity":{css:"shield-text-opacity",type:"float",doc:"(Default 1.0) - opacity of the text placed on top of the shield","default-value":1},"horizontal-alignment":{css:"shield-horizontal-alignment",type:["left","middle","right","auto"],doc:"The shield's horizontal alignment from its centerpoint","default-value":"auto"},"vertical-alignment":{css:"shield-vertical-alignment",type:["top","middle","bottom","auto"],doc:"The shield's vertical alignment from its centerpoint","default-value":"middle"},"text-transform":{css:"shield-text-transform",type:["none","uppercase","lowercase","capitalize"],doc:"Transform the case of the characters","default-value":"none"},"justify-alignment":{css:"shield-justify-alignment",type:["left","center","right","auto"],doc:"Define how text in a shield's label is justified","default-value":"auto"},clip:{css:"shield-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},"comp-op":{css:"shield-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},"line-pattern":{file:{css:"line-pattern-file",type:"uri","default-value":"none",required:!0,doc:"An image file to be repeated and warped along a line",expression:!0},clip:{css:"line-pattern-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"line-pattern-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"line-pattern-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"line-pattern-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},"polygon-pattern":{file:{css:"polygon-pattern-file",type:"uri","default-value":"none",required:!0,doc:"Image to use as a repeated pattern fill within a polygon",expression:!0},alignment:{css:"polygon-pattern-alignment",type:["local","global"],"default-value":"local",doc:"Specify whether to align pattern fills to the layer or to the map."},gamma:{css:"polygon-pattern-gamma",type:"float","default-value":1,"default-meaning":"fully antialiased",range:"0-1",doc:"Level of antialiasing of polygon pattern edges"},opacity:{css:"polygon-pattern-opacity",type:"float",doc:"(Default 1.0) - Apply an opacity level to the image used for the pattern","default-value":1,"default-meaning":"The image is rendered without modifications"},clip:{css:"polygon-pattern-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"polygon-pattern-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"polygon-pattern-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"polygon-pattern-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},raster:{opacity:{css:"raster-opacity","default-value":1,"default-meaning":"opaque",type:"float",doc:"The opacity of the raster symbolizer on top of other symbolizers."},"filter-factor":{css:"raster-filter-factor","default-value":-1,"default-meaning":"Allow the datasource to choose appropriate downscaling.",type:"float",doc:"This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can sometimes cause much better scaled image output, at the cost of speed."},scaling:{css:"raster-scaling",type:["near","fast","bilinear","bilinear8","bicubic","spline16","spline36","hanning","hamming","hermite","kaiser","quadric","catrom","gaussian","bessel","mitchell","sinc","lanczos","blackman"],"default-value":"near",doc:"The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromise between speed and accuracy, while lanczos gives the highest quality."},"mesh-size":{css:"raster-mesh-size","default-value":16,"default-meaning":"Reprojection mesh will be 1/16 of the resolution of the source image",type:"unsigned",doc:"A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size to determine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection but might lead to distortion."},"comp-op":{css:"raster-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},point:{file:{css:"point-file",type:"uri",required:!1,"default-value":"none",doc:"Image file to represent a point"},"allow-overlap":{css:"point-allow-overlap",type:"boolean","default-value":!1,doc:"Control whether overlapping points are shown or hidden.","default-meaning":"Do not allow points to overlap with each other - overlapping markers will not be shown."},"ignore-placement":{css:"point-ignore-placement",type:"boolean","default-value":!1,"default-meaning":"do not store the bbox of this geometry in the collision detector cache",doc:"value to control whether the placement of the feature will prevent the placement of other features"},opacity:{css:"point-opacity",type:"float","default-value":1,"default-meaning":"Fully opaque",doc:"A value from 0 to 1 to control the opacity of the point"},placement:{css:"point-placement",type:["centroid","interior"],doc:"How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it, while interior always places inside of a polygon.","default-value":"centroid"},transform:{css:"point-transform",type:"functions",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]],"default-value":"","default-meaning":"No transformation",doc:"SVG transformation definition"},"comp-op":{css:"point-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},text:{name:{css:"text-name",type:"string",expression:!0,required:!0,"default-value":"",serialization:"content",doc:"Value to use for a text label. Data columns are specified using brackets like [column_name]"},"face-name":{css:"text-face-name",type:"string",validate:"font",doc:"Font name and style to render a label in",required:!0},size:{css:"text-size",type:"float","default-value":10,doc:"Text size in pixels"},"text-ratio":{css:"text-ratio",doc:"Define the amount of text (of the total) present on successive lines when wrapping occurs","default-value":0,type:"unsigned"},"wrap-width":{css:"text-wrap-width",doc:"Length of a chunk of text in characters before wrapping text","default-value":0,type:"unsigned"},"wrap-before":{css:"text-wrap-before",type:"boolean","default-value":!1,doc:"Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width."},"wrap-character":{css:"text-wrap-character",type:"string","default-value":" ",doc:"Use this character instead of a space to wrap long text."},spacing:{css:"text-spacing",type:"unsigned",doc:"Distance between repeated text labels on a line (aka. label-spacing)"},"character-spacing":{css:"text-character-spacing",type:"float","default-value":0,doc:"Horizontal spacing adjustment between characters in pixels"},"line-spacing":{css:"text-line-spacing","default-value":0,type:"unsigned",doc:"Vertical spacing adjustment between lines in pixels"},"label-position-tolerance":{css:"text-label-position-tolerance","default-value":0,type:"unsigned",doc:"Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line)"},"max-char-angle-delta":{css:"text-max-char-angle-delta",type:"float","default-value":"22.5",doc:"The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally is converted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed around around sharp corners."},fill:{css:"text-fill",doc:"Specifies the color for the text","default-value":"#000000",type:"color"},opacity:{css:"text-opacity",doc:"A number from 0 to 1 specifying the opacity for the text","default-value":1,"default-meaning":"Fully opaque",type:"float"},"halo-fill":{css:"text-halo-fill",type:"color","default-value":"#FFFFFF","default-meaning":"white",doc:"Specifies the color of the halo around the text."},"halo-radius":{css:"text-halo-radius",doc:"Specify the radius of the halo in pixels","default-value":0,"default-meaning":"no halo",type:"float"},dx:{css:"text-dx",type:"float",doc:"Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right","default-value":0},dy:{css:"text-dy",type:"float",doc:"Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down","default-value":0},"vertical-alignment":{css:"text-vertical-alignment",type:["top","middle","bottom","auto"],doc:"Position of label relative to point position.","default-value":"auto","default-meaning":'Default affected by value of dy; "bottom" for dy>0, "top" for dy<0.'},"avoid-edges":{css:"text-avoid-edges",doc:"Tell positioning algorithm to avoid labeling near intersection edges.","default-value":!1,type:"boolean"},"minimum-distance":{css:"text-min-distance",doc:"Minimum permitted distance to the next text symbolizer.",type:"float"},"minimum-padding":{css:"text-min-padding",doc:"Determines the minimum amount of padding that a text symbolizer gets relative to other text",type:"float"},"minimum-path-length":{css:"text-min-path-length",type:"float","default-value":0,"default-meaning":"place labels on all paths",doc:"Place labels only on paths longer than this value."},"allow-overlap":{css:"text-allow-overlap",type:"boolean","default-value":!1
,doc:"Control whether overlapping text is shown or hidden.","default-meaning":"Do not allow text to overlap with other text - overlapping markers will not be shown."},orientation:{css:"text-orientation",type:"float",expression:!0,doc:"Rotate the text."},placement:{css:"text-placement",type:["point","line","vertex","interior"],"default-value":"point",doc:"Control the style of placement of a point versus the geometry it is attached to."},"placement-type":{css:"text-placement-type",doc:'Re-position and/or re-size text to avoid overlaps. "simple" for basic algorithm (using text-placements string,) "dummy" to turn this feature off.',type:["dummy","simple"],"default-value":"dummy"},placements:{css:"text-placements",type:"string","default-value":"",doc:'If "placement-type" is set to "simple", use this "POSITIONS,[SIZES]" string. An example is `text-placements: "E,NE,SE,W,NW,SW";` '},"text-transform":{css:"text-transform",type:["none","uppercase","lowercase","capitalize"],doc:"Transform the case of the characters","default-value":"none"},"horizontal-alignment":{css:"text-horizontal-alignment",type:["left","middle","right","auto"],doc:"The text's horizontal alignment from its centerpoint","default-value":"auto"},"justify-alignment":{css:"text-align",type:["left","right","center","auto"],doc:"Define how text is justified","default-value":"auto","default-meaning":"Auto alignment means that text will be centered by default except when using the `placement-type` parameter - in that case either right or left justification will be used automatically depending on where the text could be fit given the `text-placements` directives"},clip:{css:"text-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},"comp-op":{css:"text-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},building:{fill:{css:"building-fill","default-value":"#FFFFFF",doc:"The color of the buildings walls.",type:"color"},"fill-opacity":{css:"building-fill-opacity",type:"float",doc:"The opacity of the building as a whole, including all walls.","default-value":1},height:{css:"building-height",doc:"The height of the building in pixels.",type:"float",expression:!0,"default-value":"0"}},torque:{"-torque-clear-color":{css:"-torque-clear-color",type:"color","default-value":"rgba(255, 255, 255, 0)","default-meaning":"full clear",doc:"color used to clear canvas on each frame"},"-torque-frame-count":{css:"-torque-frame-count","default-value":"128",type:"float","default-meaning":"the data is broken into 128 time frames",doc:"Number of animation steps/frames used in the animation. If the data contains a fewere number of total frames, the lesser value will be used."},"-torque-resolution":{css:"-torque-resolution","default-value":"2",type:"float","default-meaning":"",doc:"Spatial resolution in pixels. A resolution of 1 means no spatial aggregation of the data. Any other resolution of N results in spatial aggregation into cells of NxN pixels. The value N must be power of 2"},"-torque-animation-duration":{css:"-torque-animation-duration","default-value":"30",type:"float","default-meaning":"the animation lasts 30 seconds",doc:"Animation duration in seconds"},"-torque-aggregation-function":{css:"-torque-aggregation-function","default-value":"count(cartodb_id)",type:"string","default-meaning":"the value for each cell is the count of points in that cell",doc:"A function used to calculate a value from the aggregate data for each cell. See -torque-resolution"},"-torque-time-attribute":{css:"-torque-time-attribute","default-value":"time",type:"string","default-meaning":"the data column in your table that is of a time based type",doc:"The table column that contains the time information used create the animation"},"-torque-data-aggregation":{css:"-torque-data-aggregation","default-value":"linear",type:["linear","cumulative"],"default-meaning":"previous values are discarded",doc:"A linear animation will discard previous values while a cumulative animation will accumulate them until it restarts"}}},colors:{aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50],transparent:[0,0,0,0]},filter:{value:["true","false","null","point","linestring","polygon","collection"]}};t.exports={version:{latest:r,"2.1.1":r}}},{}],52:[function(e,t,n){typeof t!="undefined"&&(t.exports.find=function(e,t){for(var n=0,r;n<e.length;n++)if(r=t.call(e,e[n]))return r;return null})},{}],53:[function(e,t,n){(function(t){(function(n){var r=t._||e("underscore");n.Call=function(t,n,r){this.name=t,this.args=n,this.index=r},n.Call.prototype={is:"call",ev:function(e){var t=this.args.map(function(t){return t.ev(e)});for(var i=0;i<t.length;i++)if(t[i].is==="undefined")return{is:"undefined",value:"undefined"};if(this.name in n.functions){if(n.functions[this.name].length<=t.length){var s=n.functions[this.name].apply(n.functions,t);return s===null?(e.error({message:"incorrect arguments given to "+this.name+"()",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):s}return e.error({message:"incorrect number of arguments for "+this.name+"(). "+n.functions[this.name].length+" expected.",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}}var o=n.Reference.mapnikFunctions[this.name];if(o===undefined){var u=r.pairs(n.Reference.mapnikFunctions),a=this.name,f=u.map(function(e){return[e[0],n.Reference.editDistance(a,e[0]),e[1]]}).sort(function(e,t){return e[1]-t[1]});return e.error({message:"unknown function "+this.name+"(), did you mean "+f[0][0]+"("+f[0][2]+")",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}}return o!==t.length&&(!Array.isArray(o)||!r.include(o,t.length))&&o!==-1?(e.error({message:"function "+this.name+"() takes "+o+" arguments and was given "+t.length,index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):(this.args=t,this)},toString:function(e,t){return this.args.length?this.name+"("+this.args.join(",")+")":this.name}}})(e("../tree"))}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../tree":52,underscore:166}],54:[function(e,t,n){(function(e){e.Color=function(t,n){Array.isArray(t)?this.rgb=t.slice(0,3):t.length==6?this.rgb=t.match(/.{2}/g).map(function(e){return parseInt(e,16)}):this.rgb=t.split("").map(function(e){return parseInt(e+e,16)}),typeof n=="number"?this.alpha=n:t.length===4?this.alpha=t[3]:this.alpha=1},e.Color.prototype={is:"color",ev:function(){return this},toString:function(){return this.alpha<1?"rgba("+this.rgb.map(function(e){return Math.round(e)}).concat(this.alpha).join(", ")+")":"#"+this.rgb.map(function(e){return e=Math.round(e),e=(e>255?255:e<0?0:e).toString(16),e.length===1?"0"+e:e}).join("")},operate:function(t,n,r){var i=[];r instanceof e.Color||(r=r.toColor());for(var s=0;s<3;s++)i[s]=e.operate(n,this.rgb[s],r.rgb[s]);return new e.Color(i)},toHSL:function(){var e=this.rgb[0]/255,t=this.rgb[1]/255,n=this.rgb[2]/255,r=this.alpha,i=Math.max(e,t,n),s=Math.min(e,t,n),o,u,a=(i+s)/2,f=i-s;if(i===s)o=u=0;else{u=a>.5?f/(2-i-s):f/(i+s);switch(i){case e:o=(t-n)/f+(t<n?6:0);break;case t:o=(n-e)/f+2;break;case n:o=(e-t)/f+4}o/=6}return{h:o*360,s:u,l:a,a:r}}}})(e("../tree"))},{"../tree":52}],55:[function(e,t,n){(function(e){e.Comment=function(t,n){this.value=t,this.silent=!!n},e.Comment.prototype={toString:function(e){return"<!--"+this.value+"-->"},ev:function(){return this}}})(e("../tree"))},{"../tree":52}],56:[function(e,t,n){(function(t){(function(n){function s(e){function t(e){return e[1].toUpperCase()}return e.charAt(0).toUpperCase()+e.slice(1).replace(/\-./,t)+"Symbolizer"}function o(e){return e.sort(function(e,t){return e[1]-t[1]}).map(function(e){return e[0]})}var r=e("assert"),i=t._||e("underscore");n.Definition=function(t,i){this.elements=t.elements,r.ok(t.filters instanceof n.Filterset),this.rules=i,this.ruleIndex={};for(var s=0;s<this.rules.length;s++)"zoom"in this.rules[s]&&(this.rules[s]=this.rules[s].clone()),this.rules[s].zoom=t.zoom,this.ruleIndex[this.rules[s].updateID()]=!0;this.filters=t.filters,this.zoom=t.zoom,this.frame_offset=t.frame_offset,this.attachment=t.attachment||"__default__",this.specificity=t.specificity()},n.Definition.prototype.toString=function(){var e=this.filters.toString();for(var t=0;t<this.rules.length;t++)e+="\n "+this.rules[t];return e},n.Definition.prototype.clone=function(e){e&&r.ok(e instanceof n.Filterset);var t=Object.create(n.Definition.prototype);return t.rules=this.rules.slice(),t.ruleIndex=i.clone(this.ruleIndex),t.filters=e?e:this.filters.clone(),t.attachment=this.attachment,t},n.Definition.prototype.addRules=function(e){var t=0;for(var n=0;n<e.length;n++)this.ruleIndex[e[n].id]||(this.rules.push(e[n]),this.ruleIndex[e[n].id]=!0,t++);return t},n.Definition.prototype.appliesTo=function(e,t){for(var n=0,r=this.elements.length;n<r;n++){var i=this.elements[n];if(!(i.wildcard||i.type==="class"&&t[i.clean]||i.type==="id"&&e===i.clean))return!1}return!0},n.Definition.prototype.symbolizersToXML=function(e,t,r){var i=r.toXML(e).join("")+this.filters.toXML(e),u=[],a=[];for(var f in t){a=[];for(var l in t[f])a.push(t[f][l].index);var c=Math.min.apply(Math,a);u.push([f,c])}u=o(u);var h=0;for(var p=0;p<u.length;p++){var d=t[u[p]],v=u[p].split("/").pop();if(v==="*")continue;h++;var m=n.Reference.requiredProperties(v,d);if(m){var g=d[Object.keys(d).shift()];e.error({message:m,index:g.index,filename:g.filename})}var y=s(v),b=!0,w;i+=" <"+y+" ";for(var E in d){v==="map"&&e.error({message:"Map properties are not permitted in other rules",index:d[E].index,filename:d[E].filename});var S=n.Reference.selector(d[E].name);S&&S.serialization&&S.serialization==="content"?(b=!1,w=d[E].ev(e).toXML(e,!0)):S&&S.serialization&&S.serialization==="tag"?(b=!1,w=d[E].ev(e).toXML(e,!0)):i+=d[E].ev(e).toXML(e)+" "}b?i+="/>\n":typeof w!="undefined"&&(w.indexOf("<")!=-1?i+=">"+w+"</"+y+">\n":i+="><![CDATA["+w+"]]></"+y+">\n")}return!h||!i?"":" <Rule>\n"+i+" </Rule>\n"},n.Definition.prototype.collectSymbolizers=function(e,t){var n={},r;for(var i=t;i<this.rules.length;i++){r=this.rules[i];var s=r.instance+"/"+r.symbolizer;e.current&r.zoom&&(!(s in n)||!(r.name in n[s]))&&(e.current&=r.zoom,s in n||(n[s]={}),n[s][r.name]=r)}if(Object.keys(n).length)return e.rule&=e.available&=~e.current,n},n.Definition.prototype.toXML=function(e,t){var r=this.filters.toString();r in t||(t[r]=n.Zoom.all);var i=n.Zoom.all,s="",o,u,a={available:n.Zoom.all};for(var f=0;f<this.rules.length&&i;f++){a.rule=this.rules[f].zoom;if(!(t[r]&a.rule))continue;while(a.current=a.rule&i)if(u=this.collectSymbolizers(a,f)){if(!(t[r]&a.current))continue;s+=this.symbolizersToXML(e,u,(new n.Zoom).setZoom(t[r]&a.current)),t[r]&=~a.current}}return s},n.Definition.prototype.toJS=function(e){var t={},r="("+this.zoom+" & (1 << ctx.zoom))",s=this.frame_offset,o=this.filters.toJS(e),u=[r];return o&&u.push(o),s&&u.push('ctx["frame-offset"] === '+s),o=u.join(" && "),i.each(this.rules,function(r){if(!(r instanceof n.Rule))throw new Error("Ruleset not supported");t[r.name]=t[r.name]||[];var i={index:r.index,symbolizer:r.symbolizer};o?i.js="if("+o+"){"+r.value.toJS(e)+"}":i.js=r.value.toJS(e),i.constant=r.value.ev(e).is!=="field",i.filtered=!!o,t[r.name].push(i)}),t}})(e("../tree"))}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../tree":52,assert:36,underscore:166}],57:[function(e,t,n){(function(t){(function(n){var r=t._||e("underscore");n.Dimension=function(t,n,r){this.value=parseFloat(t),this.unit=n||null,this.index=r},n.Dimension.prototype={is:"float",physical_units:["m","cm","in","mm","pt","pc"],screen_units:["px","%"],all_units:["m","cm","in","mm","pt","pc","px","%"],densities:{m:.0254,mm:25.4,cm:2.54,pt:72,pc:6},ev:function(e){if(this.unit&&!r.contains(this.all_units,this.unit))return e.error({message:"Invalid unit: '"+this.unit+"'",index:this.index}),{is:"undefined",value:"undefined"};if(this.unit&&r.contains(this.physical_units,this.unit)){if(!e.ppi)return e.error({message:"ppi is not set, so metric units can't be used",index:this.index}),{is:"undefined",value:"undefined"};this.value=this.value/this.densities[this.unit]*e.ppi,this.unit="px"}return this},round:function(){return this.value=Math.round(this.value),this},toColor:function(){return new n.Color([this.value,this.value,this.value])},round:function(){return this.value=Math.round(this.value),this},toString:function(){return this.value.toString()},operate:function(e,t,r){return this.unit==="%"&&r.unit!=="%"?(e.error({message:"If two operands differ, the first must not be %",index:this.index}),{is:"undefined",value:"undefined"}):this.unit!=="%"&&r.unit==="%"?t==="*"||t==="/"||t==="%"?(e.error({message:"Percent values can only be added or subtracted from other values",index:this.index}),{is:"undefined",value:"undefined"}):new n.Dimension(n.operate(t,this.value,this.value*r.value*.01),this.unit):new n.Dimension(n.operate(t,this.value,r.value),this.unit||r.unit)}}})(e("../tree"))}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../tree":52,underscore:166}],58:[function(e,t,n){(function(e){e.Element=function(t){this.value=t.trim(),this.value[0]==="#"&&(this.type="id",this.clean=this.value.replace(/^#/,"")),this.value[0]==="."&&(this.type="class",this.clean=this.value.replace(/^\./,"")),this.value.indexOf("*")!==-1&&(this.type="wildcard")},e.Element.prototype.specificity=function(){return[this.type==="id"?1:0,this.type==="class"?1:0]},e.Element.prototype.toString=function(){return this.value}})(e("../tree"))},{"../tree":52}],59:[function(e,t,n){(function(e){e.Expression=function(t){this.value=t},e.Expression.prototype={is:"expression",ev:function(t){return this.value.length>1?new e.Expression(this.value.map(function(e){return e.ev(t)})):this.value[0].ev(t)},toString:function(e){return this.value.map(function(t){return t.toString(e)}).join(" ")}}})(e("../tree"))},{"../tree":52}],60:[function(e,t,n){(function(e){e.Field=function(t){this.value=t||""},e.Field.prototype={is:"field",toString:function(){return"["+this.value+"]"},ev:function(){return this}}})(e("../tree"))},{"../tree":52}],61:[function(e,t,n){(function(e){e.Filter=function(t,n,r,i,s){this.key=t,this.op=n,this.val=r,this.index=i,this.filename=s,this.id=this.key+this.op+this.val};var t={"<":[" &lt; ","numeric"],">":[" &gt; ","numeric"],"=":[" = ","both"],"!=":[" != ","both"],"<=":[" &lt;= ","numeric"],">=":[" &gt;= ","numeric"],"=~":[".match(","string",")"]};e.Filter.prototype.ev=function(e){return this.key=this.key.ev(e),this.val=this.val.ev(e),this},e.Filter.prototype.toXML=function(n){e.Reference.data.filter&&(this.key.is==="keyword"&&-1===e.Reference.data.filter.value.indexOf(this.key.toString())&&n.error({message:this.key.toString()+" is not a valid keyword in a filter expression",index:this.index,filename:this.filename}),this.val.is==="keyword"&&-1===e.Reference.data.filter.value.indexOf(this.val.toString())&&n.error({message:this.val.toString()+" is not a valid keyword in a filter expression",index:this.index,filename:this.filename}));var r=this.key.toString(!1),i=this.val.toString(this.val.is=="string");return(t[this.op][1]=="numeric"&&isNaN(i)&&this.val.is!=="field"||t[this.op][1]=="string"&&i[0]!="'")&&n.error({message:'Cannot use operator "'+this.op+'" with value '+this.val,index:this.index,filename:this.filename}),r+t[this.op][0]+i+(t[this.op][2]||"")},e.Filter.prototype.toString=function(){return"["+this.id+"]"}})(e("../tree"))},{"../tree":52}],62:[function(e,t,n){(function(t){var n=e("../tree"),r=t._||e("underscore");n.Filterset=function(){this.filters={}},n.Filterset.prototype.toXML=function(e){var t=[];for(var n in this.filters)t.push("("+this.filters[n].toXML(e).trim()+")");return t.length?" <Filter>"+t.join(" and ")+"</Filter>\n":""},n.Filterset.prototype.toString=function(){var e=[];for(var t in this.filters)e.push(this.filters[t].id);return e.sort().join(" ")},n.Filterset.prototype.ev=function(e){for(var t in this.filters)this.filters[t].ev(e);return this},n.Filterset.prototype.clone=function(){var e=new n.Filterset;for(var t in this.filters)e.filters[t]=this.filters[t];return e},n.Filterset.prototype.cloneWith=function(e){var t=[];for(var r in e.filters){var i=this.addable(e.filters[r]);if(i===!1)return!1;i===!0&&t.push(e.filters[r])}if(!t.length)return null;var s=new n.Filterset;for(r in this.filters)s.filters[r]=this.filters[r];while(r=t.shift())s.add(r);return s},n.Filterset.prototype.toJS=function(e){var t={"=":"==="};return r.map(this.filters,function(e){var n=e.op;n in t&&(n=t[n]);var r=e.val;e._val!==undefined&&(r=e._val.toString(!0));var i="data";return n==="=~"?"("+i+"['"+e.key.value+"'] + '').match("+(r.is==="string"?"'"+r.toString().replace(/'/g,"\\'")+"'":r)+")":i+"['"+e.key.value+"'] "+n+" "+(r.is==="string"?"'"+r.toString().replace(/'/g,"\\'")+"'":r)}).join(" && ")},n.Filterset.prototype.addable=function(e){var t=e.key.toString(),n=e.val.toString();n.match(/^[0-9]+(\.[0-9]*)?$/)&&(n=parseFloat(n));switch(e.op){case"=":if(this.filters[t+"="]!==undefined)return this.filters[t+"="].val.toString()!=n?!1:null;if(this.filters[t+"!="+n]!==undefined)return!1;if(this.filters[t+">"]!==undefined&&this.filters[t+">"].val>=n)return!1;if(this.filters[t+"<"]!==undefined&&this.filters[t+"<"].val<=n)return!1;if(this.filters[t+">="]!==undefined&&this.filters[t+">="].val>n)return!1;if(this.filters[t+"<="]!==undefined&&this.filters[t+"<="].val<n)return!1;return!0;case"=~":return!0;case"!=":if(this.filters[t+"="]!==undefined)return this.filters[t+"="].val==n?!1:null;if(this.filters[t+"!="+n]!==undefined)return null;if(this.filters[t+">"]!==undefined&&this.filters[t+">"].val>=n)return null;if(this.filters[t+"<"]!==undefined&&this.filters[t+"<"].val<=n)return null;if(this.filters[t+">="]!==undefined&&this.filters[t+">="].val>n)return null;if(this.filters[t+"<="]!==undefined&&this.filters[t+"<="].val<n)return null;return!0;case">":if(t+"="in this.filters)return this.filters[t+"="].val<=n?!1:null;if(this.filters[t+"<"]!==undefined&&this.filters[t+"<"].val<=n)return!1;if(this.filters[t+"<="]!==undefined&&this.filters[t+"<="].val<=n)return!1;if(this.filters[t+">"]!==undefined&&this.filters[t+">"].val>=n)return null;if(this.filters[t+">="]!==undefined&&this.filters[t+">="].val>n)return null;return!0;case">=":if(this.filters[t+"="]!==undefined)return this.filters[t+"="].val<n?!1:null;if(this.filters[t+"<"]!==undefined&&this.filters[t+"<"].val<=n)return!1;if(this.filters[t+"<="]!==undefined&&this.filters[t+"<="].val<n)return!1;if(this.filters[t+">"]!==undefined&&this.filters[t+">"].val>=n)return null;if(this.filters[t+">="]!==undefined&&this.filters[t+">="].val>=n)return null;return!0;case"<":if(this.filters[t+"="]!==undefined)return this.filters[t+"="].val>=n?!1:null;if(this.filters[t+">"]!==undefined&&this.filters[t+">"].val>=n)return!1;if(this.filters[t+">="]!==undefined&&this.filters[t+">="].val>=n)return!1;if(this.filters[t+"<"]!==undefined&&this.filters[t+"<"].val<=n)return null;if(this.filters[t+"<="]!==undefined&&this.filters[t+"<="].val<n)return null;return!0;case"<=":if(this.filters[t+"="]!==undefined)return this.filters[t+"="].val>n?!1:null;if(this.filters[t+">"]!==undefined&&this.filters[t+">"].val>=n)return!1;if(this.filters[t+">="]!==undefined&&this.filters[t+">="].val>n)return!1;if(this.filters[t+"<"]!==undefined&&this.filters[t+"<"].val<=n)return null;if(this.filters[t+"<="]!==undefined&&this.filters[t+"<="].val<=n)return null;return!0}},n.Filterset.prototype.conflict=function(e){var t=e.key.toString(),n=e.val.toString();return isNaN(parseFloat(n))||(n=parseFloat(n)),e.op==="="&&this.filters[t+"="]!==undefined&&n!=this.filters[t+"="].val.toString()||e.op==="!="&&this.filters[t+"="]!==undefined&&n==this.filters[t+"="].val.toString()||e.op==="="&&this.filters[t+"!="]!==undefined&&n==this.filters[t+"!="].val.toString()?e.toString()+" added to "+this.toString()+" produces an invalid filter":!1},n.Filterset.prototype.add=function(e,t){var n=e.key.toString(),r,i=e.op,s=this.conflict(e),o;if(s)return s;if(i==="="){for(var u in this.filters)this.filters[u].key==n&&delete this.filters[u];this.filters[n+"="]=e}else if(i==="!=")this.filters[n+"!="+e.val]=e;else if(i==="=~")this.filters[n+"=~"+e.val]=e;else if(i===">"){for(var a in this.filters)this.filters[a].key==n&&this.filters[a].val<=e.val&&delete this.filters[a];this.filters[n+">"]=e}else if(i===">="){for(var f in this.filters)o=+this.filters[f].val.toString(),this.filters[f].key==n&&o<e.val&&delete this.filters[f];this.filters[n+"!="+e.val]!==undefined?(delete this.filters[n+"!="+e.val],e.op=">",this.filters[n+">"]=e):this.filters[n+">="]=e}else if(i==="<"){for(var l in this.filters)o=+this.filters[l].val.toString(),this.filters[l].key==n&&o>=e.val&&delete this.filters[l];this.filters[n+"<"]=e}else if(i==="<="){for(var c in this.filters)o=+this.filters[c].val.toString(),this.filters[c].key==n&&o>e.val&&delete this.filters[c];this.filters[n+"!="+e.val]!==undefined?(delete this.filters[n+"!="+e.val],e.op="<",this.filters[n+"<"]=e):this.filters[n+"<="]=e}}}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../tree":52,underscore:166}],63:[function(e,t,n){(function(e){e._getFontSet=function(t,n){var r=n.join("");if(t._fontMap&&t._fontMap[r])return t._fontMap[r];var i=new e.FontSet(t,n);return t.effects.push(i),t._fontMap||(t._fontMap={}),t._fontMap[r]=i,i},e.FontSet=function(t,n){this.fonts=n,this.name="fontset-"+t.effects.length},e.FontSet.prototype.toXML=function(e){return'<FontSet name="'+this.name+'">\n'+this.fonts.map(function(e){return' <Font face-name="'+e+'"/>'}).join("\n")+"\n</FontSet>"}})(e("../tree"))},{"../tree":52}],64:[function(e,t,n){var r=e("../tree");r.FrameOffset=function(e,t,n){t=parseInt(t,10);if(t>r.FrameOffset.max||t<=0)throw{message:"Only frame-offset levels between 1 and "+r.FrameOffset.max+" supported.",index:n};if(e!=="=")throw{message:"only = operator is supported for frame-offset",index:n};return t},r.FrameOffset.max=32,r.FrameOffset.none=0},{"../tree":52}],65:[function(e,t,n){(function(e){e.ImageFilter=function(t,n){this.filter=t,this.args=n||null},e.ImageFilter.prototype={is:"imagefilter",ev:function(){return this},toString:function(){return this.args?this.filter+"("+this.args.join(",")+")":this.filter}}})(e("../tree"))},{"../tree":52}],66:[function(e,t,n){(function(e){e.Invalid=function(t,n,r){this.chunk=t,this.index=n,this.type="syntax",this.message=r||"Invalid code: "+this.chunk},e.Invalid.prototype.is="invalid",e.Invalid.prototype.ev=function(e){return e.error({chunk:this.chunk,index:this.index,type:"syntax",message:this.message||"Invalid code: "+this.chunk}),{is:"undefined"}}})(e("../tree"))},{"../tree":52}],67:[function(e,t,n){(function(e){e.Keyword=function(t){this.value=t;var n={transparent:"color","true":"boolean","false":"boolean"};this.is=n[t]?n[t]:"keyword"},e.Keyword.prototype={ev:function(){return this},toString:function(){return this.value}}})(e("../tree"))},{"../tree":52}],68:[function(e,t,n){(function(e){e.LayerXML=function(t,n){var r=[];for(var i in t.Datasource)r.push('<Parameter name="'+i+'"><![CDATA['+t.Datasource[i]+"]]></Parameter>");var s="";for(var o in t.properties)o==="minzoom"?s+=' maxzoom="'+e.Zoom.ranges[t.properties[o]]+'"\n':o==="maxzoom"?s+=' minzoom="'+e.Zoom.ranges[t.properties[o]+1]+'"\n':s+=" "+o+'="'+t.properties[o]+'"\n';return'<Layer name="'+t.name+'"\n'+s+(typeof t.status=="undefined"?"":' status="'+t.status+'"\n')+(typeof t.srs=="undefined"?"":' srs="'+t.srs+'"')+">\n "+n.reverse().map(function(e){return"<StyleName>"+e+"</StyleName>"}).join("\n ")+(r.length?"\n <Datasource>\n "+r.join("\n ")+"\n </Datasource>\n":"")+" </Layer>\n"}})(e("../tree"))},{"../tree":52}],69:[function(e,t,n){(function(e){e.Literal=function(t){this.value=t||"",this.is="field"},e.Literal.prototype={toString:function(){return this.value},ev:function(){return this}}})(e("../tree"))},{"../tree":52}],70:[function(e,t,n){(function(e){e.Operation=function(t,n,r){this.op=t.trim(),this.operands=n,this.index=r},e.Operation.prototype.is="operation",e.Operation.prototype.ev=function(t){var n=this.operands[0].ev(t),r=this.operands[1].ev(t),i;return n.is==="undefined"||r.is==="undefined"?{is:"undefined",value:"undefined"}:(n instanceof e.Dimension&&r instanceof e.Color&&(this.op==="*"||this.op==="+"?(i=r,r=n,n=i):t.error({name:"OperationError",message:"Can't substract or divide a color from a number",index:this.index})),n instanceof e.Quoted&&r instanceof e.Quoted&&this.op!=="+"?(t.error({message:"Can't subtract, divide, or multiply strings.",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):n instanceof e.Field||r instanceof e.Field||n instanceof e.Literal||r instanceof e.Literal?n.is==="color"||r.is==="color"?(t.error({message:"Can't subtract, divide, or multiply colors in expressions.",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):new e.Literal(n.ev(t).toString(!0)+this.op+r.ev(t).toString(!0)):n.operate===undefined?(t.error({message:"Cannot do math with type "+n.is+".",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):n.operate(t,this.op,r))},e.operate=function(e,t,n){switch(e){case"+":return t+n;case"-":return t-n;case"*":return t*n;case"%":return t%n;case"/":return t/n}}})(e("../tree"))},{"../tree":52}],71:[function(e,t,n){(function(e){e.Quoted=function(t){this.value=t||""},e.Quoted.prototype={is:"string",toString:function(e){var t=this.value.replace(/&/g,"&amp;"),n=t.replace(/\'/g,"\\'").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/\>/g,"&gt;");return e===!0?"'"+n+"'":t},ev:function(){return this},operate:function(t,n,r){return new e.Quoted(e.operate(n,this.toString(),r.toString(this.contains_field)))}}})(e("../tree"))},{"../tree":52}],72:[function(e,t,n){(function(t){(function(n){function s(e){var t={};for(var n in e.symbolizers)for(var r in e.symbolizers[n])e.symbolizers[n][r].hasOwnProperty("css")&&(t[e.symbolizers[n][r].css]=[e.symbolizers[n][r],n,r]);return t}function o(e){var t={};for(var n in e.symbolizers)for(var r in e.symbolizers[n])if(e.symbolizers[n][r].type==="functions")for(var i=0;i<e.symbolizers[n][r].functions.length;i++){var s=e.symbolizers[n][r].functions[i];t[s[0]]=s[1]}return t}function u(e){var t={};for(var n in e.symbolizers){t[n]=[];for(var r in e.symbolizers[n])e.symbolizers[n][r].required&&t[n].push(e.symbolizers[n][r].css)}return t}function a(e,t){if(e.value[0].is==="string")return!0;for(var n in e.value)for(var s in e.value[n].value){if(e.value[n].value[s].is!=="call")return!1;var o=r.find(i.selector(t).functions,function(t){return t[0]==e.value[n].value[s].name});if(!o||o[1]!=-1)if(!o||o[1]!==e.value[n].value[s].args.length)return!1}return!0}function f(e,t){return typeof i.selector(t).type=="object"?i.selector(t).type.indexOf(e.value[0].value)!==-1:i.selector(t).type==="string"}var r=t._||e("underscore"),i={};i.setData=function(e){i.data=e,i.selector_cache=s(e),i.mapnikFunctions=o(e),i.mapnikFunctions.matrix=[6],i.mapnikFunctions.translate=[1,2],i.mapnikFunctions.scale=[1,2],i.mapnikFunctions.rotate=[1,3],i.mapnikFunctions.skewX=[1],i.mapnikFunctions.skewY=[1],i.required_cache=u(e)},i.setVersion=function(t){var n=e("mapnik-reference");return n.version.hasOwnProperty(t)?(i.setData(n.version[t]),!0):!1},i.selectorData=function(e,t){if(i.selector_cache[e])return i.selector_cache[e][t]},i.validSelector=function(e){return!!i.selector_cache[e]},i.selectorName=function(e){return i.selectorData(e,2)},i.selector=function(e){return i.selectorData(e,0)},i.symbolizer=function(e){return i.selectorData(e,1)},i.requiredProperties=function(e,t){var n=i.required_cache[e];for(var r in n)if(!(n[r]in t))return"Property "+n[r]+" required for defining "+e+" styles."},i._validateValue={font:function(e,t){return e.validation_data&&e.validation_data.fonts?e.validation_data.fonts.indexOf(t)!=-1:!0}},i.isFont=function(e){return i.selector(e).validate=="font"},i.editDistance=function(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;var n=[];for(var r=0;r<=t.length;r++)n[r]=[r];for(var i=0;i<=e.length;i++)n[0][i]=i;for(r=1;r<=t.length;r++)for(i=1;i<=e.length;i++)t.charAt(r-1)==e.charAt(i-1)?n[r][i]=n[r-1][i-1]:n[r][i]=Math.min(n[r-1][i-1]+1,Math.min(n[r][i-1]+1,n[r-1][i]+1));return n[t.length][e.length]},i.validValue=function(e,t,n){var r,s;if(!i.selector(t))return!1;if(n.value[0].is=="keyword")return f(n,t);if(n.value[0].is=="undefined")return!0;if(i.selector(t).
type=="numbers"){for(r in n.value)if(n.value[r].is!=="float")return!1;return!0}if(i.selector(t).type=="tags"){if(!n.value)return!1;if(!n.value[0].value)return n.value[0].is==="tag";for(r=0;r<n.value[0].value.length;r++)if(n.value[0].value[r].is!=="tag")return!1;return!0}if(i.selector(t).type=="functions")return a(n,t);if(i.selector(t).type==="unsigned")return n.value[0].is==="float"?(n.value[0].round(),!0):!1;if(i.selector(t).expression)return!0;if(i.selector(t).validate){var o=!1;for(r=0;r<n.value.length;r++)if(i.selector(t).type==n.value[r].is&&i._validateValue[i.selector(t).validate](e,n.value[r].value))return!0;return o}return i.selector(t).type==n.value[0].is},n.Reference=i})(e("../tree"))}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../tree":52,"mapnik-reference":81,underscore:166}],73:[function(e,t,n){(function(e){function t(t){return Object.keys(e.Reference.selector_cache).map(function(n){return[n,e.Reference.editDistance(t,n)]}).sort(function(e,t){return e[1]-t[1]})}e.Rule=function(n,r,i,s){var o=n.split("/");this.name=o.pop(),this.instance=o.length?o[0]:"__default__",this.value=r instanceof e.Value?r:new e.Value([r]),this.index=i,this.symbolizer=e.Reference.symbolizer(this.name),this.filename=s,this.variable=n.charAt(0)==="@"},e.Rule.prototype.is="rule",e.Rule.prototype.clone=function(){var t=Object.create(e.Rule.prototype);return t.name=this.name,t.value=this.value,t.index=this.index,t.instance=this.instance,t.symbolizer=this.symbolizer,t.filename=this.filename,t.variable=this.variable,t},e.Rule.prototype.updateID=function(){return this.id=this.zoom+"#"+this.instance+"#"+this.name},e.Rule.prototype.toString=function(){return"["+e.Zoom.toString(this.zoom)+"] "+this.name+": "+this.value},e.Rule.prototype.toXML=function(n,r,i,s){if(!e.Reference.validSelector(this.name)){var o=t(this.name),u="";return o[0][1]<3&&(u=". Did you mean "+o[0][0]+"?"),n.error({message:"Unrecognized rule: "+this.name+u,index:this.index,type:"syntax",filename:this.filename})}if(this.value instanceof e.Value&&!e.Reference.validValue(n,this.name,this.value)){if(!e.Reference.selector(this.name))return n.error({message:"Unrecognized property: "+this.name,index:this.index,type:"syntax",filename:this.filename});var a;return e.Reference.selector(this.name).validate?a=e.Reference.selector(this.name).validate:typeof e.Reference.selector(this.name).type=="object"?a="keyword (options: "+e.Reference.selector(this.name).type.join(", ")+")":a=e.Reference.selector(this.name).type,n.error({message:"Invalid value for "+this.name+", the type "+a+" is expected. "+this.value+" (of type "+this.value.value[0].is+") "+" was given.",index:this.index,type:"syntax",filename:this.filename})}if(this.variable)return"";if(e.Reference.isFont(this.name)&&this.value.value.length>1){var f=e._getFontSet(n,this.value.value);return'fontset-name="'+f.name+'"'}return r?this.value.toString(n,this.name,i):e.Reference.selectorName(this.name)+'="'+this.value.toString(n,this.name)+'"'},e.Rule.prototype.ev=function(t){return new e.Rule(this.name,this.value.ev(t),this.index,this.filename)}})(e("../tree"))},{"../tree":52}],74:[function(e,t,n){(function(e){e.Ruleset=function(t,n){this.selectors=t,this.rules=n,this._lookups={}},e.Ruleset.prototype={is:"ruleset",ev:function(t){var n,r=new e.Ruleset(this.selectors,this.rules.slice(0));r.root=this.root,t.frames.unshift(r);for(n=0,rule;n<r.rules.length;n++)rule=r.rules[n],r.rules[n]=rule.ev?rule.ev(t):rule;return t.frames.shift(),r},match:function(e){return!e||e.length===0},variables:function(){return this._variables?this._variables:this._variables=this.rules.reduce(function(t,n){return n instanceof e.Rule&&n.variable===!0&&(t[n.name]=n),t},{})},variable:function(e){return this.variables()[e]},rulesets:function(){return this._rulesets?this._rulesets:this._rulesets=this.rules.filter(function(t){return t instanceof e.Ruleset})},find:function(t,n){n=n||this;var r=[],i,s,o=t.toString();return o in this._lookups?this._lookups[o]:(this.rulesets().forEach(function(i){if(i!==n)for(var o=0;o<i.selectors.length;o++){s=t.match(i.selectors[o]);if(s){t.elements.length>1?Array.prototype.push.apply(r,i.find(new e.Selector(null,null,null,t.elements.slice(1)),n)):r.push(i);break}}}),this._lookups[o]=r)},evZooms:function(t){for(var n=0;n<this.selectors.length;n++){var r=e.Zoom.all;for(var i=0;i<this.selectors[n].zoom.length;i++)r&=this.selectors[n].zoom[i].ev(t).zoom;this.selectors[n].zoom=r}},flatten:function(t,n,r){var i=[],s,o;this.selectors.length===0&&(r.frames=r.frames.concat(this.rules)),this.evZooms(r);for(s=0;s<this.selectors.length;s++){var u=this.selectors[s];if(!u.filters)continue;if(n.length)for(o=0;o<n.length;o++){var a=n[o],f=a.filters.cloneWith(u.filters);if(f===null){if(a.zoom===(a.zoom&u.zoom)&&a.frame_offset===u.frame_offset&&a.attachment===u.attachment&&a.elements.join()===u.elements.join()){i.push(a);continue}f=a.filters}else if(!f)continue;var l=Object.create(e.Selector.prototype);l.filters=f,l.zoom=a.zoom&u.zoom,l.frame_offset=u.frame_offset,l.elements=a.elements.concat(u.elements),a.attachment&&u.attachment?l.attachment=a.attachment+"/"+u.attachment:l.attachment=u.attachment||a.attachment,l.conditions=a.conditions+u.conditions,l.index=u.index,i.push(l)}else i.push(u)}var c=[];for(s=0;s<this.rules.length;s++){var h=this.rules[s];h instanceof e.Ruleset?h.flatten(t,i,r):h instanceof e.Rule?c.push(h):h instanceof e.Invalid&&r.error(h)}var p=c.length?c[0].index:!1;for(s=0;s<i.length;s++)p!==!1&&(i[s].index=p),t.push(new e.Definition(i[s],c.slice()));return t}}})(e("../tree"))},{"../tree":52}],75:[function(e,t,n){(function(e){e.Selector=function(n,r,i,s,o,u,a){this.elements=s||[],this.attachment=o,this.filters=n||{},this.frame_offset=i,this.zoom=typeof r!="undefined"?r:e.Zoom.all,this.conditions=u,this.index=a},e.Selector.prototype.specificity=function(){return this.elements.reduce(function(e,t){var n=t.specificity();return e[0]+=n[0],e[1]+=n[1],e},[0,0,this.conditions,this.index])}})(e("../tree"))},{"../tree":52}],76:[function(e,t,n){(function(t){(function(n){var r=t._||e("underscore");n.StyleXML=function(e,t,n,i){var s={},o=[],u=[],a=[],f=[],l=[];for(var c=0;c<n.length;c++)for(var h=0;h<n[c].rules.length;h++)n[c].rules[h].name==="image-filters"&&o.push(n[c].rules[h]),n[c].rules[h].name==="image-filters-inflate"&&u.push(n[c].rules[h]),n[c].rules[h].name==="direct-image-filters"&&a.push(n[c].rules[h]),n[c].rules[h].name==="comp-op"&&f.push(n[c].rules[h]),n[c].rules[h].name==="opacity"&&l.push(n[c].rules[h]);var p=n.map(function(e){return e.toXML(i,s)}),d="";o.length&&(d+=' image-filters="'+r.chain(o).uniq(function(e){return e.id}).map(function(e){return e.ev(i).toXML(i,!0,",","image-filter")}).value().join(",")+'"'),u.length&&(d+=' image-filters-inflate="'+u[0].value.ev(i).toString()+'"'),a.length&&(d+=' direct-image-filters="'+r.chain(a).uniq(function(e){return e.id}).map(function(e){return e.ev(i).toXML(i,!0,",","direct-image-filter")}).value().join(",")+'"'),f.length&&f[0].value.ev(i).value!="src-over"&&(d+=' comp-op="'+f[0].value.ev(i).toString()+'"'),l.length&&l[0].value.ev(i).value!=1&&(d+=' opacity="'+l[0].value.ev(i).toString()+'"');var v=p.join("");return!d&&!v?"":'<Style name="'+e+'" filter-mode="first"'+d+">\n"+v+"</Style>"}})(e("../tree"))}).call(this,typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{"../tree":52,underscore:166}],77:[function(e,t,n){(function(e){e.URL=function(t,n){this.value=t,this.paths=n},e.URL.prototype={is:"uri",toString:function(){return this.value.toString()},ev:function(t){return new e.URL(this.value.ev(t),this.paths)}}})(e("../tree"))},{"../tree":52}],78:[function(e,t,n){(function(e){e.Value=function(t){this.value=t},e.Value.prototype={is:"value",ev:function(t){return this.value.length===1?this.value[0].ev(t):new e.Value(this.value.map(function(e){return e.ev(t)}))},toString:function(e,t,n,r){return this.value.map(function(t){return t.toString(e,r)}).join(n||", ")},clone:function(){var t=Object.create(e.Value.prototype);return Array.isArray(t)?t.value=this.value.slice():t.value=this.value,t.is=this.is,t},toJS:function(e){var t=this.ev(e),n=t.toString();return t.is==="color"||t.is==="uri"||t.is==="string"||t.is==="keyword"?n="'"+n+"'":t.is==="field"?n=n.replace(/\[([^\]]*)\]/g,function(e){return e.replace(/\[(.*)\]/g,"data['$1']")}):t.is==="call"&&(n=JSON.stringify({name:t.name,args:t.args})),"_value = "+n+";"}}})(e("../tree"))},{"../tree":52}],79:[function(e,t,n){(function(e){e.Variable=function(t,n,r){this.name=t,this.index=n,this.filename=r},e.Variable.prototype={is:"variable",toString:function(){return this.name},ev:function(e){var t,n,r=this.name;if(this._css)return this._css;var i=e.frames.filter(function(e){return e.name==this.name}.bind(this));return i.length?i[0].value.ev(e):(e.error({message:"variable "+this.name+" is undefined",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"})}}})(e("../tree"))},{"../tree":52}],80:[function(e,t,n){var r=e("../tree");r.Zoom=function(e,t,n){this.op=e,this.value=t,this.index=n},r.Zoom.prototype.setZoom=function(e){return this.zoom=e,this},r.Zoom.prototype.ev=function(e){var t=0,n=Infinity,i=parseInt(this.value.ev(e).toString(),10),s=0;(i>r.Zoom.maxZoom||i<0)&&e.error({message:"Only zoom levels between 0 and "+r.Zoom.maxZoom+" supported.",index:this.index});switch(this.op){case"=":return this.zoom=1<<i,this;case">":t=i+1;break;case">=":t=i;break;case"<":n=i-1;break;case"<=":n=i}for(var o=0;o<=r.Zoom.maxZoom;o++)o>=t&&o<=n&&(s|=1<<o);return this.zoom=s,this},r.Zoom.prototype.toString=function(){return this.zoom},r.Zoom.all=8388607,r.Zoom.maxZoom=22,r.Zoom.ranges={0:1e9,1:5e8,2:2e8,3:1e8,4:5e7,5:25e6,6:125e5,7:65e5,8:3e6,9:15e5,10:75e4,11:4e5,12:2e5,13:1e5,14:5e4,15:25e3,16:12500,17:5e3,18:2500,19:1500,20:750,21:500,22:250,23:100},r.Zoom.prototype.toXML=function(){var e=[];if(this.zoom!=r.Zoom.all){var t=null,n=null;for(var i=0;i<=r.Zoom.maxZoom;i++)this.zoom&1<<i&&(t===null&&(t=i),n=i);t>0&&e.push(" <MaxScaleDenominator>"+r.Zoom.ranges[t]+"</MaxScaleDenominator>\n"),n<22&&e.push(" <MinScaleDenominator>"+r.Zoom.ranges[n+1]+"</MinScaleDenominator>\n")}return e},r.Zoom.prototype.toString=function(){var e="";for(var t=0;t<=r.Zoom.maxZoom;t++)e+=this.zoom&1<<t?"X":".";return e}},{"../tree":52}],81:[function(e,t,n){(function(n){var r=e("fs"),i=e("path"),s=e("fs").existsSync||e("path").existsSync;t.exports.version={};var o=["2.0.0","2.0.1","2.0.2","2.1.0","2.1.1","2.2.0","2.3.0","3.0.0"];o.map(function(r){t.exports.version[r]=e(i.join(n,r,"reference.json"));var o=i.join(n,r,"datasources.json");s(o)&&(t.exports.version[r].datasources=e(o).datasources)})}).call(this,"/node_modules/carto/node_modules/mapnik-reference")},{fs:35,path:41}],82:[function(e,t,n){t.exports={name:"carto",version:"0.15.1-cdb3",description:"CartoCSS Stylesheet Compiler",url:"https://github.com/cartodb/carto",repository:{type:"git",url:"git+ssh://git@github.com/cartodb/carto.git"},author:{name:"CartoDB",url:"http://cartodb.com/"},keywords:["maps","css","stylesheets"],contributors:[{name:"Tom MacWright",email:"macwright@gmail.com"},{name:"Konstantin Käfer"},{name:"Alexis Sellier",email:"self@cloudhead.net"},{name:"Raul Ochoa",email:"rochoa@cartodb.com"},{name:"Javi Santana",email:"jsantana@cartodb.com"}],licenses:[{type:"Apache"}],bin:{carto:"./bin/carto"},man:["./man/carto.1"],main:"./lib/carto/index",engines:{node:">=0.4.x"},dependencies:{underscore:"1.8.3","mapnik-reference":"~6.0.2",optimist:"~0.6.0"},devDependencies:{mocha:"1.12.x",jshint:"0.2.x",sax:"0.1.x",istanbul:"~0.2.14",coveralls:"~2.10.1",browserify:"~7.0.0","uglify-js":"1.3.3"},scripts:{pretest:"npm install",test:"mocha -R spec",coverage:"istanbul cover ./node_modules/.bin/_mocha && coveralls < ./coverage/lcov.info"},gitHead:"945f5efb74fd1af1f5e1f69f409f9567f94fb5a7",readme:"# CartoCSS\n\n[![Build Status](https://travis-ci.org/CartoDB/carto.png?branch=master)](https://travis-ci.org/CartoDB/carto)\n\nIs as stylesheet renderer for javascript, It's an evolution of the Mapnik renderer from Mapbox.\nPlease, see original [Mapbox repo](http://github.com/mapbox/carto) for more information and credits\n\n## Quick Start\n\n```javascript\n// shader is a CartoCSS object\n\nvar cartocss = [\n '#layer {',\n ' marker-width: [property]',\n ' marker-fill: red',\n '}'\n].join('')\nvar shader = new carto.RendererJS().render(cartocss);\nvar layers = shader.getLayers()\nfor (var i = 0; i < layers.length; ++i) {\n var layer = layers[i];\n console.log(\"layer name: \", layer.fullName())\n console.log(\"- frames: \", layer.frames())\n console.log(\"- attachment: \", layer.attachment())\n\n var layerShader = layer.getStyle({ property: 1 }, { zoom: 10 })\n console.log(layerShader['marker-width']) // 1\n console.log(layerShader['marker-fill']) // #FF0000\n}\n\n```\n\n# API\n\n## RendererJS\n\n### render(cartocss)\n\n## CartoCSS\n\ncompiled cartocss object\n\n### getLayers\n\nreturn the layers, an array of ``CartoCSS.Layer`` object\n\n### getDefault\n\nreturn the default layer (``CartoCSS.Layer``), usually the Map layer\n\n\n### findLayer(where)\n\nfind a layer using where object.\n\n```\nshader.findLayer({ name: 'test' })\n```\n\n## CartoCSS.Layer\n\n### getStyle(props, context)\n\nreturn the evaluated style:\n - props: object containing properties needed to render the style. If the cartocss style uses\n some variables they should be passed in this object\n - context: rendering context variables like ``zoom`` or animation ``frame``\n\n\n\n\n\n\n\n\n\n\n## Reference Documentation\n\n* [mapbox.com/carto](http://mapbox.com/carto/)\n\n\n",readmeFilename:"README.md",bugs:{url:"https://github.com/cartodb/carto/issues"},homepage:"https://github.com/cartodb/carto#readme",_id:"carto@0.15.1-cdb3",_shasum:"a923a069a2a4c9d010b78a1d92ba6c9ed4232717",_from:"cartodb/carto#master",_resolved:"git://github.com/cartodb/carto.git#945f5efb74fd1af1f5e1f69f409f9567f94fb5a7"}},{}],83:[function(e,t,n){!function(){function s(e){return e&&(e.ownerDocument||e.document||e).documentElement}function o(e){return e&&(e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView)}function d(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function v(e){return e===null?NaN:+e}function m(e){return!isNaN(e)}function g(e){return{left:function(t,n,r,i){arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);while(r<i){var s=r+i>>>1;e(t[s],n)<0?r=s+1:i=s}return r},right:function(t,n,r,i){arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);while(r<i){var s=r+i>>>1;e(t[s],n)>0?i=s:r=s+1}return r}}}function b(e){return e.length}function E(e){var t=1;while(e*t%1)t*=10;return t}function S(e,t){for(var n in t)Object.defineProperty(e.prototype,n,{value:t[n],enumerable:!1})}function x(){this._=Object.create(null)}function C(e){return(e+="")===T||e[0]===N?N+e:e}function k(e){return(e+="")[0]===N?e.slice(1):e}function L(e){return C(e)in this._}function A(e){return(e=C(e))in this._&&delete this._[e]}function O(){var e=[];for(var t in this._)e.push(k(t));return e}function M(){var e=0;for(var t in this._)++e;return e}function _(){for(var e in this._)return!1;return!0}function D(){this._=Object.create(null)}function P(e){return e}function H(e,t,n){return function(){var r=n.apply(t,arguments);return r===t?e:r}}function B(e,t){if(t in e)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var n=0,r=j.length;n<r;++n){var i=j[n]+t;if(i in e)return i}}function F(){}function I(){}function q(e){function r(){var n=t,r=-1,i=n.length,s;while(++r<i)(s=n[r].on)&&s.apply(this,arguments);return e}var t=[],n=new x;return r.on=function(r,i){var s=n.get(r),o;return arguments.length<2?s&&s.on:(s&&(s.on=null,t=t.slice(0,o=t.indexOf(s)).concat(t.slice(o+1)),n.remove(r)),i&&t.push(n.set(r,{on:i})),e)},r}function R(){e.event.preventDefault()}function U(){var t=e.event,n;while(n=t.sourceEvent)t=n;return t}function z(t){var n=new I,r=0,i=arguments.length;while(++r<i)n[arguments[r]]=q(n);return n.of=function(r,i){return function(s){try{var o=s.sourceEvent=e.event;s.target=t,e.event=s,n[s.type].apply(r,i)}finally{e.event=o}}},n}function V(e){return X(e,Q),e}function G(e){return typeof e=="function"?e:function(){return $(e,this)}}function Y(e){return typeof e=="function"?e:function(){return J(e,this)}}function tt(t,n){function r(){this.removeAttribute(t)}function i(){this.removeAttributeNS(t.space,t.local)}function s(){this.setAttribute(t,n)}function o(){this.setAttributeNS(t.space,t.local,n)}function u(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}function a(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}return t=e.ns.qualify(t),n==null?t.local?i:r:typeof n=="function"?t.local?a:u:t.local?o:s}function nt(e){return e.trim().replace(/\s+/g," ")}function rt(t){return new RegExp("(?:^|\\s+)"+e.requote(t)+"(?:\\s+|$)","g")}function it(e){return(e+"").trim().split(/^|\s+/)}function st(e,t){function r(){var r=-1;while(++r<n)e[r](this,t)}function i(){var r=-1,i=t.apply(this,arguments);while(++r<n)e[r](this,i)}e=it(e).map(ot);var n=e.length;return typeof t=="function"?i:r}function ot(e){var t=rt(e);return function(n,r){if(i=n.classList)return r?i.add(e):i.remove(e);var i=n.getAttribute("class")||"";r?(t.lastIndex=0,t.test(i)||n.setAttribute("class",nt(i+" "+e))):n.setAttribute("class",nt(i.replace(t," ")))}}function ut(e,t,n){function r(){this.style.removeProperty(e)}function i(){this.style.setProperty(e,t,n)}function s(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}return t==null?r:typeof t=="function"?s:i}function at(e,t){function n(){delete this[e]}function r(){this[e]=t}function i(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}return t==null?n:typeof t=="function"?i:r}function ft(t){function n(){var e=this.ownerDocument,n=this.namespaceURI;return n===Z&&e.documentElement.namespaceURI===Z?e.createElement(t):e.createElementNS(n,t)}function r(){return this.ownerDocument.createElementNS(t.space,t.local)}return typeof t=="function"?t:(t=e.ns.qualify(t)).local?r:n}function lt(){var e=this.parentNode;e&&e.removeChild(this)}function ct(e){return{__data__:e}}function ht(e){return function(){return K(this,e)}}function pt(e){return arguments.length||(e=d),function(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}}function dt(e,t){for(var n=0,r=e.length;n<r;n++)for(var i=e[n],s=0,o=i.length,u;s<o;s++)(u=i[s])&&t(u,s,n);return e}function vt(e){return X(e,mt),e}function gt(e){var t,n;return function(r,i,s){var o=e[s].update,u=o.length,a;s!=n&&(n=s,t=0),i>=t&&(t=i+1);while(!(a=o[t])&&++t<u);return a}}function yt(t,n,i){function f(){var e=this[s];e&&(this.removeEventListener(t,e,e.$),delete this[s])}function l(){var e=u(n,r(arguments));f.call(this),this.addEventListener(t,this[s]=e,e.$=i),e._=n}function c(){var n=new RegExp("^__on([^.]+)"+e.requote(t)+"$"),r;for(var i in this)if(r=i.match(n)){var s=this[i];this.removeEventListener(r[1],s,s.$),delete this[i]}}var s="__on"+t,o=t.indexOf("."),u=wt;o>0&&(t=t.slice(0,o));var a=bt.get(t);return a&&(t=a,u=Et),o?n?l:f:n?F:c}function wt(t,n){return function(r){var i=e.event;e.event=r,n[0]=this.__data__;try{t.apply(this,n)}finally{e.event=i}}}function Et(e,t){var n=wt(e,t);return function(e){var t=this,r=e.relatedTarget;(!r||r!==t&&!(r.compareDocumentPosition(t)&8))&&n.call(t,e)}}function Tt(t){var n=".dragsuppress-"+ ++xt,r="click"+n,i=e.select(o(t)).on("touchmove"+n,R).on("dragstart"+n,R).on("selectstart"+n,R);St==null&&(St="onselectstart"in t?!1:B(t.style,"userSelect"));if(St){var u=s(t).style,a=u[St];u[St]="none"}return function(e){i.on(n,null),St&&(u[St]=a);if(e){var t=function(){i.on(r,null)};i.on(r,function(){R(),t()},!0),setTimeout(t,0)}}}function Ct(t,n){n.changedTouches&&(n=n.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(Nt<0){var s=o(t);if(s.scrollX||s.scrollY){r=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=r[0][0].getScreenCTM();Nt=!u.f&&!u.e,r.remove()}}return Nt?(i.x=n.pageX,i.y=n.pageY):(i.x=n.clientX,i.y=n.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var a=t.getBoundingClientRect();return[n.clientX-a.left-t.clientLeft,n.clientY-a.top-t.clientTop]}function kt(){return e.event.changedTouches[0].identifier}function Bt(e){return e>0?1:e<0?-1:0}function jt(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])}function Ft(e){return e>1?0:e<-1?Ot:Math.acos(e)}function It(e){return e>1?Dt:e<-1?-Dt:Math.asin(e)}function qt(e){return((e=Math.exp(e))-1/e)/2}function Rt(e){return((e=Math.exp(e))+1/e)/2}function Ut(e){return((e=Math.exp(2*e))-1)/(e+1)}function zt(e){return(e=Math.sin(e/2))*e}function Qt(){}function Gt(e,t,n){return this instanceof Gt?void (this.h=+e,this.s=+t,this.l=+n):arguments.length<2?e instanceof Gt?new Gt(e.h,e.s,e.l):wn(""+e,En,Gt):new Gt(e,t,n)}function Zt(e,t,n){function s(e){return e>360?e-=360:e<0&&(e+=360),e<60?r+(i-r)*e/60:e<180?i:e<240?r+(i-r)*(240-e)/60:r}function o(e){return Math.round(s(e)*255)}var r,i;return e=isNaN(e)?0:(e%=360)<0?e+360:e,t=isNaN(t)?0:t<0?0:t>1?1:t,n=n<0?0:n>1?1:n,i=n<=.5?n*(1+t):n+t-n*t,r=2*n-i,new vn(o(e+120),o(e),o(e-120))}function en(t,n,r){return this instanceof en?void (this.h=+t,this.c=+n,this.l=+r):arguments.length<2?t instanceof en?new en(t.h,t.c,t.l):t instanceof rn?cn(t.l,t.a,t.b):cn((t=Sn((t=e.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new en(t,n,r)}function nn(e,t,n){return isNaN(e)&&(e=0),isNaN(t)&&(t=0),new rn(n,Math.cos(e*=Pt)*t,Math.sin(e)*t)}function rn(e,t,n){return this instanceof rn?void (this.l=+e,this.a=+t,this.b=+n):arguments.length<2?e instanceof rn?new rn(e.l,e.a,e.b):e instanceof en?nn(e.h,e.c,e.l):Sn((e=vn(e)).r,e.g,e.b):new rn(e,t,n)}function ln(e,t,n){var r=(e+16)/116,i=r+t/500,s=r-n/200;return i=hn(i)*on,r=hn(r)*un,s=hn(s)*an,new vn(dn(3.2404542*i-1.5371385*r-.4985314*s),dn(-0.969266*i+1.8760108*r+.041556*s),dn(.0556434*i-.2040259*r+1.0572252*s))}function cn(e,t,n){return e>0?new en(Math.atan2(n,t)*Ht,Math.sqrt(t*t+n*n),e):new en(NaN,NaN,e)}function hn(e){return e>.206893034?e*e*e:(e-4/29)/7.787037}function pn(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29}function dn(e){return Math.round(255*(e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055))}function vn(e,t,n){return this instanceof vn?void (this.r=~~e,this.g=~~t,this.b=~~n):arguments.length<2?e instanceof vn?new vn(e.r,e.g,e.b):wn(""+e,vn,Zt):new vn(e,t,n)}function mn(e){return new vn(e>>16,e>>8&255,e&255)}function gn(e){return mn(e)+""}function bn(e){return e<16?"0"+Math.max(0,e).toString(16):Math.min(255,e).toString(16)}function wn(e,t,n){var r=0,i=0,s=0,o,u,a;o=/([a-z]+)\((.*)\)/.exec(e=e.toLowerCase());if(o){u=o[2].split(",");switch(o[1]){case"hsl":return n(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(Tn(u[0]),Tn(u[1]),Tn(u[2]))}}return(a=Nn.get(e))?t(a.r,a.g,a.b):(e!=null&&e.charAt(0)==="#"&&!isNaN(a=parseInt(e.slice(1),16))&&(e.length===4?(r=(a&3840)>>4,r=r>>4|r,i=a&240,i=i>>4|i,s=a&15,s=s<<4|s):e.length===7&&(r=(a&16711680)>>16,i=(a&65280)>>8,s=a&255)),t(r,i,s))}function En(e,t,n){var r=Math.min(e/=255,t/=255,n/=255),i=Math.max(e,t,n),s=i-r,o,u,a=(i+r)/2;return s?(u=a<.5?s/(i+r):s/(2-i-r),e==i?o=(t-n)/s+(t<n?6:0):t==i?o=(n-e)/s+2:o=(e-t)/s+4,o*=60):(o=NaN,u=a>0&&a<1?0:o),new Gt(o,u,a)}function Sn(e,t,n){e=xn(e),t=xn(t),n=xn(n);var r=pn((.4124564*e+.3575761*t+.1804375*n)/on),i=pn((.2126729*e+.7151522*t+.072175*n)/un),s=pn((.0193339*e+.119192*t+.9503041*n)/an);return rn(116*i-16,500*(r-i),200*(i-s))}function xn(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Tn(e){var t=parseFloat(e);return e.charAt(e.length-1)==="%"?Math.round(t*2.55):t}function Cn(e){return typeof e=="function"?e:function(){return e}}function kn(e){return function(t,n,r){return arguments.length===2&&typeof n=="function"&&(r=n,n=null),Ln(t,n,e,r)}}function Ln(t,n,i,s){function c(){var e=f.status,t;if(!e&&On(f)||e>=200&&e<300||e===304){try{t=i.call(o,f)}catch(n){u.error.call(o,n);return}u.load.call(o,t)}else u.error.call(o,f)}var o={},u=e.dispatch("beforesend","progress","load","error"),a={},f=new XMLHttpRequest,l=null;return this.XDomainRequest&&!("withCredentials"in f)&&/^(http(s)?:)?\/\//.test(t)&&(f=new XDomainRequest),"onload"in f?f.onload=f.onerror=c:f.onreadystatechange=function(){f.readyState>3&&c()},f.onprogress=function(t){var n=e.event;e.event=t;try{u.progress.call(o,f)}finally{e.event=n}},o.header=function(e,t){return e=(e+"").toLowerCase(),arguments.length<2?a[e]:(t==null?delete a[e]:a[e]=t+"",o)},o.mimeType=function(e){return arguments.length?(n=e==null?null:e+"",o):n},o.responseType=function(e){return arguments.length?(l=e,o):l},o.response=function(e){return i=e,o},["get","post"].forEach(function(e){o[e]=function(){return o.send.apply(o,[e].concat(r(arguments)))}}),o.send=function(e,r,i){arguments.length===2&&typeof r=="function"&&(i=r,r=null),f.open(e,t,!0),n!=null&&!("accept"in a)&&(a.accept=n+",*/*");if(f.setRequestHeader)for(var s in a)f.setRequestHeader(s,a[s]);return n!=null&&f.overrideMimeType&&f.overrideMimeType(n),l!=null&&(f.responseType=l),i!=null&&o.on("error",i).on("load",function(e){i(null,e)}),u.beforesend.call(o,f),f.send(r==null?null:r),o},o.abort=function(){return f.abort(),o},e.rebind(o,u,"on"),s==null?o:o.get(An(s))}function An(e){return e.length===1?function(t,n){e(t==null?n:null)}:e}function On(e){var t=e.responseType;return t&&t!=="text"?e.response:e.responseText}function Bn(e,t,n){var r=arguments.length;r<2&&(t=0),r<3&&(n=Date.now());var i=n+t,s={c:e,t:i,n:null};return _n?_n.n=s:Mn=s,_n=s,Dn||(Pn=clearTimeout(Pn),Dn=1,Hn(jn)),s}function jn(){var e=Fn(),t=In()-e;t>24?(isFinite(t)&&(clearTimeout(Pn),Pn=setTimeout(jn,t)),Dn=0):(Dn=1,Hn(jn))}function Fn(){var e=Date.now(),t=Mn;while(t)e>=t.t&&t.c(e-t.t)&&(t.c=null),t=t.n;return e}function In(){var e,t=Mn,n=Infinity;while(t)t.c?(t.t<n&&(n=t.t),t=(e=t).n):t=e?e.n=t.n:Mn=t.n;return _n=e,n}function qn(e,t){return t-(e?Math.ceil(Math.log(e)/Math.LN10):1)}function Un(e,t){var n=Math.pow(10,w(8-t)*3);return{scale:t>8?function(e){return e/n}:function(e){return e*n},symbol:e}}function zn(t){var n=t.decimal,r=t.thousands,i=t.grouping,s=t.currency,o=i&&r?function(e,t){var n=e.length,s=[],o=0,u=i[0],a=0;while(n>0&&u>0){a+u+1>t&&(u=Math.max(1,t-a)),s.push(e.substring(n-=u,n+u));if((a+=u+1)>t)break;u=i[o=(o+1)%i.length]}return s.reverse().join(r)}:P;return function(t){var r=Wn.exec(t),i=r[1]||" ",u=r[2]||">",a=r[3]||"-",f=r[4]||"",l=r[5],c=+r[6],h=r[7],p=r[8],d=r[9],v=1,m="",g="",y=!1,b=!0;p&&(p=+p.substring(1));if(l||i==="0"&&u==="=")l=i="0",u="=";switch(d){case"n":h=!0,d="g";break;case"%":v=100,g="%",d="f";break;case"p":v=100,g="%",d="r";break;case"b":case"o":case"x":case"X":f==="#"&&(m="0"+d.toLowerCase());case"c":b=!1;case"d":y=!0,p=0;break;case"s":v=-1,d="r"}f==="$"&&(m=s[0],g=s[1]),d=="r"&&!p&&(d="g");if(p!=null)if(d=="g")p=Math.max(1,Math.min(21,p));else if(d=="e"||d=="f")p=Math.max(0,Math.min(20,p));d=Xn.get(d)||Vn;var w=l&&h;return function(t){var r=g;if(y&&t%1)return"";var s=t<0||t===0&&1/t<0?(t=-t,"-"):a==="-"?"":a;if(v<0){var f=e.formatPrefix(t,p);t=f.scale(t),r=f.symbol+g}else t*=v;t=d(t,p);var E=t.lastIndexOf("."),S,x;if(E<0){var T=b?t.lastIndexOf("e"):-1;T<0?(S=t,x=""):(S=t.substring(0,T),x=t.substring(T))}else S=t.substring(0,E),x=n+t.substring(E+1);!l&&h&&(S=o(S,Infinity));var N=m.length+S.length+x.length+(w?0:s.length),C=N<c?(new Array(N=c-N+1)).join(i):"";return w&&(S=o(C+S,C.length?c-x.length:Infinity)),s+=m,t=S+x,(u==="<"?s+t+C:u===">"?C+s+t:u==="^"?C.substring(0,N>>=1)+s+t+C.substring(N):s+(w?t:C+t))+r}}}function Vn(e){return e+""}function Kn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Gn(e,t,n){function r(t){var n=e(t),r=s(n,1);return t-n<r-t?n:r}function i(n){return t(n=e(new Jn(n-1)),1),n}function s(e,n){return t(e=new Jn(+e),n),e}function o(e,r,s){var o=i(e),u=[];if(s>1)while(o<r)n(o)%s||u.push(new Date(+o)),t(o,1);else while(o<r)u.push(new Date(+o)),t(o,1);return u}function u(e,t,n){try{Jn=Kn;var r=new Kn;return r._=e,o(r,t,n)}finally{Jn=Date}}e.floor=e,e.round=r,e.ceil=i,e.offset=s,e.range=o;var a=e.utc=Yn(e);return a.floor=a,a.round=Yn(r),a.ceil=Yn(i),a.offset=Yn(s),a.range=u,e}function Yn(e){return function(t,n){try{Jn=Kn;var r=new Kn;return r._=t,e(r,n)._}finally{Jn=Date}}}function Zn(t){function l(e){function n(n){var r=[],i=-1,s=0,o,u,a;while(++i<t)if(e.charCodeAt(i)===37){r.push(e.slice(s,i)),(u=er[o=e.charAt(++i)])!=null&&(o=e.charAt(++i));if(a=E[o])o=a(n,u==null?o==="e"?" ":"0":u);r.push(o),s=i+1}return r.push(e.slice(s,i)),r.join("")}var t=e.length;return n.parse=function(t){var n={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},r=c(n,e,t,0);if(r!=t.length)return null;"p"in n&&(n.H=n.H%12+n.p*12);var i=n.Z!=null&&Jn!==Kn,s=new(i?Kn:Jn);return"j"in n?s.setFullYear(n.y,0,n.j):"W"in n||"U"in n?("w"in n||(n.w="W"in n?1:0),s.setFullYear(n.y,0,1),s.setFullYear(n.y,0,"W"in n?(n.w+6)%7+n.W*7-(s.getDay()+5)%7:n.w+n.U*7-(s.getDay()+6)%7)):s.setFullYear(n.y,n.m,n.d),s.setHours(n.H+(n.Z/100|0),n.M+n.Z%100,n.S,n.L),i?s._:s},n.toString=function(){return e},n}function c(e,t,n,r){var i,s,o,u=0,a=t.length,f=n.length;while(u<a){if(r>=f)return-1;i=t.charCodeAt(u++);if(i===37){o=t.charAt(u++),s=S[o in er?t.charAt(u++):o];if(!s||(r=s(e,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function x(e,t,n){v.lastIndex=0;var r=v.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function T(e,t,n){p.lastIndex=0;var r=p.exec(t.slice(n));return r?(e.w=d.get(r[0].toLowerCase()),n+r[0].length):-1}function N(e,t,n){b.lastIndex=0;var r=b.exec(t.slice(n));return r?(e.m=w.get(r[0].toLowerCase()),n+r[0].length):-1}function C(e,t,n){g.lastIndex=0;var r=g.exec(t.slice(n));return r?(e.m=y.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){return c(e,E.c.toString(),t,n)}function L(e,t,n){return c(e,E.x.toString(),t,n)}function A(e,t,n){return c(e,E.X.toString(),t,n)}function O(e,t,n){var r=h.get(t.slice(n,n+=2).toLowerCase());return r==null?-1:(e.p=r,n)}var n=t.dateTime,r=t.date,i=t.time,s=t.periods,o=t.days,u=t.shortDays,a=t.months,f=t.shortMonths;l.utc=function(e){function n(e){try{Jn=Kn;var n=new Jn;return n._=e,t(n)}finally{Jn=Date}}var t=l(e);return n.parse=function(e){try{Jn=Kn;var n=t.parse(e);return n&&n._}finally{Jn=Date}},n.toString=t.toString,n},l.multi=l.utc.multi=Sr;var h=e.map(),p=ir(o),d=sr(o),v=ir(u),m=sr(u),g=ir(a),y=sr(a),b=ir(f),w=sr(f);s.forEach(function(e,t){h.set(e.toLowerCase(),t)});var E={a:function(e){return u[e.getDay()]},A:function(e){return o[e.getDay()]},b:function(e){return f[e.getMonth()]},B:function(e){return a[e.getMonth()]},c:l(n),d:function(e,t){return rr(e.getDate(),t,2)},e:function(e,t){return rr(e.getDate(),t,2)},H:function(e,t){return rr(e.getHours(),t,2)},I:function(e,t){return rr(e.getHours()%12||12,t,2)},j:function(e,t){return rr(1+$n.dayOfYear(e),t,3)},L:function(e,t){return rr(e.getMilliseconds(),t,3)},m:function(e,t){return rr(e.getMonth()+1,t,2)},M:function(e,t){return rr(e.getMinutes(),t,2)},p:function(e){return s[+(e.getHours()>=12)]},S:function(e,t){return rr(e.getSeconds(),t,2)},U:function(e,t){return rr($n.sundayOfYear(e),t,2)},w:function(e){return e.getDay()},W:function(e,t){return rr($n.mondayOfYear(e),t,2)},x:l(r),X:l(i),y:function(e,t){return rr(e.getFullYear()%100,t,2)},Y:function(e,t){return rr(e.getFullYear()%1e4,t,4)},Z:wr,"%":function(){return"%"}},S={a:x,A:T,b:N,B:C,c:k,d:dr,e:dr,H:mr,I:mr,j:vr,L:br,m:pr,M:gr,p:O,S:yr,U:ur,w:or,W:ar,x:L,X:A,y:lr,Y:fr,Z:cr,"%":Er};return l}function rr(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",s=i.length;return r+(s<n?(new Array(n-s+1)).join(t)+i:i)}function ir(t){return new RegExp("^(?:"+t.map(e.requote).join("|")+")","i")}function sr(e){var t=new x,n=-1,r=e.length;while(++n<r)t.set(e[n].toLowerCase(),n);return t}function or(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function ur(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n));return r?(e.U=+r[0],n+r[0].length):-1}function ar(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n));return r?(e.W=+r[0],n+r[0].length):-1}function fr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function lr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+2));return r?(e.y=hr(+r[0]),n+r[0].length):-1}function cr(e,t,n){return/^[+-]\d{4}$/.test(t=t.slice(n,n+5))?(e.Z=-t,n+5):-1}function hr(e){return e+(e>68?1900:2e3)}function pr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,
n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function dr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function vr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+3));return r?(e.j=+r[0],n+r[0].length):-1}function mr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function gr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function yr(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function br(e,t,n){tr.lastIndex=0;var r=tr.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function wr(e){var t=e.getTimezoneOffset(),n=t>0?"-":"+",r=w(t)/60|0,i=w(t)%60;return n+rr(r,"0",2)+rr(i,"0",2)}function Er(e,t,n){nr.lastIndex=0;var r=nr.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Sr(e){var t=e.length,n=-1;while(++n<t)e[n][0]=this(e[n][0]);return function(t){var n=0,r=e[n];while(!r[1](t))r=e[++n];return r[0](t)}}function Tr(){}function Cr(e,t,n){var r=n.s=e+t,i=r-e,s=r-i;n.t=e-s+(t-i)}function kr(e,t){e&&Ar.hasOwnProperty(e.type)&&Ar[e.type](e,t)}function Or(e,t,n){var r=-1,i=e.length-n,s;t.lineStart();while(++r<i)s=e[r],t.point(s[0],s[1],s[2]);t.lineEnd()}function Mr(e,t){var n=-1,r=e.length;t.polygonStart();while(++n<r)Or(e[n],t,1);t.polygonEnd()}function Hr(){function s(e,t){e*=Pt,t=t*Pt/2+Ot/4;var s=e-n,o=s>=0?1:-1,u=o*s,a=Math.cos(t),f=Math.sin(t),l=i*f,c=r*a+l*Math.cos(u),h=l*o*Math.sin(u);Dr.add(Math.atan2(h,c)),n=e,r=a,i=f}var e,t,n,r,i;Pr.point=function(o,u){Pr.point=s,n=(e=o)*Pt,r=Math.cos(u=(t=u)*Pt/2+Ot/4),i=Math.sin(u)},Pr.lineEnd=function(){s(e,t)}}function Br(e){var t=e[0],n=e[1],r=Math.cos(n);return[r*Math.cos(t),r*Math.sin(t),Math.sin(n)]}function jr(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Fr(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Ir(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function qr(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Rr(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function Ur(e){return[Math.atan2(e[1],e[0]),It(e[2])]}function zr(e,t){return w(e[0]-t[0])<Lt&&w(e[1]-t[1])<Lt}function ni(e,t){e*=Pt;var n=Math.cos(t*=Pt);ri(n*Math.cos(e),n*Math.sin(e),Math.sin(t))}function ri(e,t,n){++Wr,Vr+=(e-Vr)/Wr,$r+=(t-$r)/Wr,Jr+=(n-Jr)/Wr}function ii(){function r(r,i){r*=Pt;var s=Math.cos(i*=Pt),o=s*Math.cos(r),u=s*Math.sin(r),a=Math.sin(i),f=Math.atan2(Math.sqrt((f=t*a-n*u)*f+(f=n*o-e*a)*f+(f=e*u-t*o)*f),e*o+t*u+n*a);Xr+=f,Kr+=f*(e+(e=o)),Qr+=f*(t+(t=u)),Gr+=f*(n+(n=a)),ri(e,t,n)}var e,t,n;ti.point=function(i,s){i*=Pt;var o=Math.cos(s*=Pt);e=o*Math.cos(i),t=o*Math.sin(i),n=Math.sin(s),ti.point=r,ri(e,t,n)}}function si(){ti.point=ni}function oi(){function s(e,t){e*=Pt;var s=Math.cos(t*=Pt),o=s*Math.cos(e),u=s*Math.sin(e),a=Math.sin(t),f=r*a-i*u,l=i*o-n*a,c=n*u-r*o,h=Math.sqrt(f*f+l*l+c*c),p=n*o+r*u+i*a,d=h&&-Ft(p)/h,v=Math.atan2(h,p);Yr+=d*f,Zr+=d*l,ei+=d*c,Xr+=v,Kr+=v*(n+(n=o)),Qr+=v*(r+(r=u)),Gr+=v*(i+(i=a)),ri(n,r,i)}var e,t,n,r,i;ti.point=function(o,u){e=o,t=u,ti.point=s,o*=Pt;var a=Math.cos(u*=Pt);n=a*Math.cos(o),r=a*Math.sin(o),i=Math.sin(u),ri(n,r,i)},ti.lineEnd=function(){s(e,t),ti.lineEnd=si,ti.point=ni}}function ui(e,t){function n(n,r){return n=e(n,r),t(n[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return n=t.invert(n,r),n&&e.invert(n[0],n[1])}),n}function ai(){return!0}function fi(e,t,n,r,i){var s=[],o=[];e.forEach(function(e){if((t=e.length-1)<=0)return;var t,n=e[0],r=e[t];if(zr(n,r)){i.lineStart();for(var u=0;u<t;++u)i.point((n=e[u])[0],n[1]);i.lineEnd();return}var a=new ci(n,e,null,!0),f=new ci(n,null,a,!1);a.o=f,s.push(a),o.push(f),a=new ci(r,e,null,!1),f=new ci(r,null,a,!0),a.o=f,s.push(a),o.push(f)}),o.sort(t),li(s),li(o);if(!s.length)return;for(var u=0,a=n,f=o.length;u<f;++u)o[u].e=a=!a;var l=s[0],c,h;for(;;){var p=l,d=!0;while(p.v)if((p=p.n)===l)return;c=p.z,i.lineStart();do{p.v=p.o.v=!0;if(p.e){if(d)for(var u=0,f=c.length;u<f;++u)i.point((h=c[u])[0],h[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(d){c=p.p.z;for(var u=c.length-1;u>=0;--u)i.point((h=c[u])[0],h[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,c=p.z,d=!d}while(!p.v);i.lineEnd()}}function li(e){if(!(t=e.length))return;var t,n=0,r=e[0],i;while(++n<t)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}function ci(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function hi(t,n,r,i){return function(s,o){function l(e,n){var r=s(e,n);t(e=r[0],n=r[1])&&o.point(e,n)}function c(e,t){var n=s(e,t);u.point(n[0],n[1])}function h(){f.point=c,u.lineStart()}function p(){f.point=l,u.lineEnd()}function w(e,t){b.push([e,t]);var n=s(e,t);m.point(n[0],n[1])}function E(){m.lineStart(),b=[]}function S(){w(b[0][0],b[0][1]),m.lineEnd();var e=m.clean(),t=v.buffer(),n,r=t.length;b.pop(),y.push(b),b=null;if(!r)return;if(e&1){n=t[0];var r=n.length-1,i=-1,s;if(r>0){g||(o.polygonStart(),g=!0),o.lineStart();while(++i<r)o.point((s=n[i])[0],s[1]);o.lineEnd()}return}r>1&&e&2&&t.push(t.pop().concat(t.shift())),d.push(t.filter(pi))}var u=n(o),a=s.invert(i[0],i[1]),f={point:l,lineStart:h,lineEnd:p,polygonStart:function(){f.point=w,f.lineStart=E,f.lineEnd=S,d=[],y=[]},polygonEnd:function(){f.point=l,f.lineStart=h,f.lineEnd=p,d=e.merge(d);var t=wi(a,y);d.length?(g||(o.polygonStart(),g=!0),fi(d,vi,t,r,o)):t&&(g||(o.polygonStart(),g=!0),o.lineStart(),r(null,null,1,o),o.lineEnd()),g&&(o.polygonEnd(),g=!1),d=y=null},sphere:function(){o.polygonStart(),o.lineStart(),r(null,null,1,o),o.lineEnd(),o.polygonEnd()}},d,v=di(),m=n(v),g=!1,y,b;return f}}function pi(e){return e.length>1}function di(){var e=[],t;return{lineStart:function(){e.push(t=[])},point:function(e,n){t.push([e,n])},lineEnd:F,buffer:function(){var n=e;return e=[],t=null,n},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function vi(e,t){return((e=e.x)[0]<0?e[1]-Dt-Lt:Dt-e[1])-((t=t.x)[0]<0?t[1]-Dt-Lt:Dt-t[1])}function gi(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(s,o){var u=s>0?Ot:-Ot,a=w(s-t);w(a-Ot)<Lt?(e.point(t,n=(n+o)/2>0?Dt:-Dt),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(u,n),e.point(s,n),i=0):r!==u&&a>=Ot&&(w(t-r)<Lt&&(t-=r*Lt),w(s-u)<Lt&&(s-=u*Lt),n=yi(t,n,s,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(u,n),i=0),e.point(t=s,n=o),r=u},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function yi(e,t,n,r){var i,s,o=Math.sin(e-n);return w(o)>Lt?Math.atan((Math.sin(t)*(s=Math.cos(r))*Math.sin(n)-Math.sin(r)*(i=Math.cos(t))*Math.sin(e))/(i*s*o)):(t+r)/2}function bi(e,t,n,r){var i;if(e==null)i=n*Dt,r.point(-Ot,i),r.point(0,i),r.point(Ot,i),r.point(Ot,0),r.point(Ot,-i),r.point(0,-i),r.point(-Ot,-i),r.point(-Ot,0),r.point(-Ot,i);else if(w(e[0]-t[0])>Lt){var s=e[0]<t[0]?Ot:-Ot;i=n*s/2,r.point(-s,i),r.point(0,i),r.point(s,i)}else r.point(t[0],t[1])}function wi(e,t){var n=e[0],r=e[1],i=[Math.sin(n),-Math.cos(n),0],s=0,o=0;Dr.reset();for(var u=0,a=t.length;u<a;++u){var f=t[u],l=f.length;if(!l)continue;var c=f[0],h=c[0],p=c[1]/2+Ot/4,d=Math.sin(p),v=Math.cos(p),m=1;for(;;){m===l&&(m=0),e=f[m];var g=e[0],y=e[1]/2+Ot/4,b=Math.sin(y),w=Math.cos(y),E=g-h,S=E>=0?1:-1,x=S*E,T=x>Ot,N=d*b;Dr.add(Math.atan2(N*S*Math.sin(x),v*w+N*Math.cos(x))),s+=T?E+S*Mt:E;if(T^h>=n^g>=n){var C=Fr(Br(c),Br(e));Rr(C);var k=Fr(i,C);Rr(k);var L=(T^E>=0?-1:1)*It(k[2]);if(r>L||r===L&&(C[0]||C[1]))o+=T^E>=0?1:-1}if(!(m++))break;h=g,d=b,v=w,c=e}}return(s<-Lt||s<Lt&&Dr<-Lt)^o&1}function Ei(e){function s(e,n){return Math.cos(e)*Math.cos(n)>t}function o(e){var t,i,o,f,l;return{lineStart:function(){f=o=!1,l=1},point:function(c,h){var p=[c,h],d,v=s(c,h),m=n?v?0:a(c,h):v?a(c+(c<0?Ot:-Ot),h):0;!t&&(f=o=v)&&e.lineStart();if(v!==o){d=u(t,p);if(zr(t,d)||zr(p,d))p[0]+=Lt,p[1]+=Lt,v=s(p[0],p[1])}if(v!==o)l=0,v?(e.lineStart(),d=u(p,t),e.point(d[0],d[1])):(d=u(t,p),e.point(d[0],d[1]),e.lineEnd()),t=d;else if(r&&t&&n^v){var g;!(m&i)&&(g=u(p,t,!0))&&(l=0,n?(e.lineStart(),e.point(g[0][0],g[0][1]),e.point(g[1][0],g[1][1]),e.lineEnd()):(e.point(g[1][0],g[1][1]),e.lineEnd(),e.lineStart(),e.point(g[0][0],g[0][1])))}v&&(!t||!zr(t,p))&&e.point(p[0],p[1]),t=p,o=v,i=m},lineEnd:function(){o&&e.lineEnd(),t=null},clean:function(){return l|(f&&o)<<1}}}function u(e,n,r){var i=Br(e),s=Br(n),o=[1,0,0],u=Fr(i,s),a=jr(u,u),f=u[0],l=a-f*f;if(!l)return!r&&e;var c=t*a/l,h=-t*f/l,p=Fr(o,u),d=qr(o,c),v=qr(u,h);Ir(d,v);var m=p,g=jr(d,m),y=jr(m,m),b=g*g-y*(jr(d,d)-1);if(b<0)return;var E=Math.sqrt(b),S=qr(m,(-g-E)/y);Ir(S,d),S=Ur(S);if(!r)return S;var x=e[0],T=n[0],N=e[1],C=n[1],k;T<x&&(k=x,x=T,T=k);var L=T-x,A=w(L-Ot)<Lt,O=A||L<Lt;!A&&C<N&&(k=N,N=C,C=k);if(O?A?N+C>0^S[1]<(w(S[0]-x)<Lt?N:C):N<=S[1]&&S[1]<=C:L>Ot^(x<=S[0]&&S[0]<=T)){var M=qr(m,(-g+E)/y);return Ir(M,d),[S,Ur(M)]}}function a(t,r){var i=n?e:Ot-e,s=0;return t<-i?s|=1:t>i&&(s|=2),r<-i?s|=4:r>i&&(s|=8),s}var t=Math.cos(e),n=t>0,r=w(t)>Lt,i=is(e,6*Pt);return hi(s,o,i,n?[0,-e]:[-Ot,e-Ot])}function Si(e,t,n,r){return function(i){var s=i.a,o=i.b,u=s.x,a=s.y,f=o.x,l=o.y,c=0,h=1,p=f-u,d=l-a,v;v=e-u;if(!p&&v>0)return;v/=p;if(p<0){if(v<c)return;v<h&&(h=v)}else if(p>0){if(v>h)return;v>c&&(c=v)}v=n-u;if(!p&&v<0)return;v/=p;if(p<0){if(v>h)return;v>c&&(c=v)}else if(p>0){if(v<c)return;v<h&&(h=v)}v=t-a;if(!d&&v>0)return;v/=d;if(d<0){if(v<c)return;v<h&&(h=v)}else if(d>0){if(v>h)return;v>c&&(c=v)}v=r-a;if(!d&&v<0)return;v/=d;if(d<0){if(v>h)return;v>c&&(c=v)}else if(d>0){if(v<c)return;v<h&&(h=v)}return c>0&&(i.a={x:u+c*p,y:a+c*d}),h<1&&(i.b={x:u+h*p,y:a+h*d}),i}}function Ti(t,n,r,i){function s(e,i){return w(e[0]-t)<Lt?i>0?0:3:w(e[0]-r)<Lt?i>0?2:1:w(e[1]-n)<Lt?i>0?1:0:i>0?3:2}function o(e,t){return u(e.x,t.x)}function u(e,t){var n=s(e,1),r=s(t,1);return n!==r?n-r:n===0?t[1]-e[1]:n===1?e[0]-t[0]:n===2?e[1]-t[1]:t[0]-e[0]}return function(a){function m(e){var t=0,n=p.length,r=e[1];for(var i=0;i<n;++i)for(var s=1,o=p[i],u=o.length,a=o[0],f;s<u;++s)f=o[s],a[1]<=r?f[1]>r&&jt(a,f,e)>0&&++t:f[1]<=r&&jt(a,f,e)<0&&--t,a=f;return t!==0}function g(e,o,a,f){var l=0,c=0;if(e==null||(l=s(e,a))!==(c=s(o,a))||u(e,o)<0^a>0){do f.point(l===0||l===3?t:r,l>1?i:n);while((l=(l+a+4)%4)!==c)}else f.point(o[0],o[1])}function y(e,s){return t<=e&&e<=r&&n<=s&&s<=i}function b(e,t){y(e,t)&&a.point(e,t)}function L(){v.point=O,p&&p.push(d=[]),C=!0,N=!1,x=T=NaN}function A(){h&&(O(w,E),S&&N&&l.rejoin(),h.push(l.buffer())),v.point=b,N&&a.lineEnd()}function O(e,t){e=Math.max(-xi,Math.min(xi,e)),t=Math.max(-xi,Math.min(xi,t));var n=y(e,t);p&&d.push([e,t]);if(C)w=e,E=t,S=n,C=!1,n&&(a.lineStart(),a.point(e,t));else if(n&&N)a.point(e,t);else{var r={a:{x:x,y:T},b:{x:e,y:t}};c(r)?(N||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),n||a.lineEnd(),k=!1):n&&(a.lineStart(),a.point(e,t),k=!1)}x=e,T=t,N=n}var f=a,l=di(),c=Si(t,n,r,i),h,p,d,v={point:b,lineStart:L,lineEnd:A,polygonStart:function(){a=l,h=[],p=[],k=!0},polygonEnd:function(){a=f,h=e.merge(h);var n=m([t,i]),r=k&&n,s=h.length;if(r||s)a.polygonStart(),r&&(a.lineStart(),g(null,null,1,a),a.lineEnd()),s&&fi(h,o,n,g,a),a.polygonEnd();h=p=d=null}},w,E,S,x,T,N,C,k;return v}}function Ni(e){var t=0,n=Ot/3,r=Qi(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*Ot/180,n=e[1]*Ot/180):[t/Ot*180,n/Ot*180]},i}function Ci(e,t){function o(e,t){var n=Math.sqrt(i-2*r*Math.sin(t))/r;return[n*Math.sin(e*=r),s-n*Math.cos(e)]}var n=Math.sin(e),r=(n+Math.sin(t))/2,i=1+n*(2*r-n),s=Math.sqrt(i)/r;return o.invert=function(e,t){var n=s-t;return[Math.atan2(e,n)/r,It((i-(e*e+n*n)*r*r)/(2*r))]},o}function Oi(){function i(e,t){Li+=r*e-n*t,n=e,r=t}var e,t,n,r;Ai.point=function(s,o){Ai.point=i,e=n=s,t=r=o},Ai.lineEnd=function(){i(e,t)}}function Bi(e,t){e<Mi&&(Mi=e),e>Di&&(Di=e),t<_i&&(_i=t),t>Pi&&(Pi=t)}function ji(){function r(n,r){t.push("M",n,",",r,e)}function i(e,r){t.push("M",e,",",r),n.point=s}function s(e,n){t.push("L",e,",",n)}function o(){n.point=r}function u(){t.push("Z")}var e=Fi(4.5),t=[],n={point:r,lineStart:function(){n.point=i},lineEnd:o,polygonStart:function(){n.lineEnd=u},polygonEnd:function(){n.lineEnd=o,n.point=r},pointRadius:function(t){return e=Fi(t),n},result:function(){if(t.length){var e=t.join("");return t=[],e}}};return n}function Fi(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+ -2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}function qi(e,t){Vr+=e,$r+=t,++Jr}function Ri(){function n(n,r){var i=n-e,s=r-t,o=Math.sqrt(i*i+s*s);Kr+=o*(e+n)/2,Qr+=o*(t+r)/2,Gr+=o,qi(e=n,t=r)}var e,t;Ii.point=function(r,i){Ii.point=n,qi(e=r,t=i)}}function Ui(){Ii.point=qi}function zi(){function i(e,t){var i=e-n,s=t-r,o=Math.sqrt(i*i+s*s);Kr+=o*(n+e)/2,Qr+=o*(r+t)/2,Gr+=o,o=r*e-n*t,Yr+=o*(n+e),Zr+=o*(r+t),ei+=o*3,qi(n=e,r=t)}var e,t,n,r;Ii.point=function(s,o){Ii.point=i,qi(e=n=s,t=r=o)},Ii.lineEnd=function(){i(e,t)}}function Wi(e){function r(n,r){e.moveTo(n+t,r),e.arc(n,r,t,0,Mt)}function i(t,r){e.moveTo(t,r),n.point=s}function s(t,n){e.lineTo(t,n)}function o(){n.point=r}function u(){e.closePath()}var t=4.5,n={point:r,lineStart:function(){n.point=i},lineEnd:o,polygonStart:function(){n.lineEnd=u},polygonEnd:function(){n.lineEnd=o,n.point=r},pointRadius:function(e){return t=e,n},result:F};return n}function Xi(e){function i(e){return(r?o:s)(e)}function s(t){return Ji(t,function(n,r){n=e(n,r),t.point(n[0],n[1])})}function o(t){function y(n,r){n=e(n,r),t.point(n[0],n[1])}function b(){h=NaN,g.point=w,t.lineStart()}function w(n,i){var s=Br([n,i]),o=e(n,i);u(h,p,c,d,v,m,h=o[0],p=o[1],c=n,d=s[0],v=s[1],m=s[2],r,t),t.point(h,p)}function E(){g.point=y,t.lineEnd()}function S(){b(),g.point=x,g.lineEnd=T}function x(e,t){w(n=e,i=t),s=h,o=p,a=d,f=v,l=m,g.point=w}function T(){u(h,p,c,d,v,m,s,o,n,a,f,l,r,t),g.lineEnd=E,E()}var n,i,s,o,a,f,l,c,h,p,d,v,m,g={point:y,lineStart:b,lineEnd:E,polygonStart:function(){t.polygonStart(),g.lineStart=S},polygonEnd:function(){t.polygonEnd(),g.lineStart=b}};return g}function u(r,i,s,o,a,f,l,c,h,p,d,v,m,g){var y=l-r,b=c-i,E=y*y+b*b;if(E>4*t&&m--){var S=o+p,x=a+d,T=f+v,N=Math.sqrt(S*S+x*x+T*T),C=Math.asin(T/=N),k=w(w(T)-1)<Lt||w(s-h)<Lt?(s+h)/2:Math.atan2(x,S),L=e(k,C),A=L[0],O=L[1],M=A-r,_=O-i,D=b*M-y*_;if(D*D/E>t||w((y*M+b*_)/E-.5)>.3||o*p+a*d+f*v<n)u(r,i,s,o,a,f,A,O,k,S/=N,x/=N,T,m,g),g.point(A,O),u(A,O,k,S,x,T,l,c,h,p,d,v,m,g)}}var t=.5,n=Math.cos(30*Pt),r=16;return i.precision=function(e){return arguments.length?(r=(t=e*e)>0&&16,i):Math.sqrt(t)},i}function Vi(e){var t=Xi(function(t,n){return e([t*Ht,n*Ht])});return function(e){return Gi(t(e))}}function $i(e){this.stream=e}function Ji(e,t){return{point:t,sphere:function(){e.sphere()},lineStart:function(){e.lineStart()},lineEnd:function(){e.lineEnd()},polygonStart:function(){e.polygonStart()},polygonEnd:function(){e.polygonEnd()}}}function Ki(e){return Qi(function(){return e})()}function Qi(t){function E(e){return e=i(e[0]*Pt,e[1]*Pt),[e[0]*o+d,v-e[1]*o]}function S(e){return e=i.invert((e[0]-d)/o,(v-e[1])/o),e&&[e[0]*Ht,e[1]*Ht]}function x(){i=ui(r=es(c,h,p),n);var e=n(f,l);return d=u-e[0]*o,v=a+e[1]*o,T()}function T(){return w&&(w.valid=!1,w=null),E}var n,r,i,s=Xi(function(e,t){return e=n(e,t),[e[0]*o+d,v-e[1]*o]}),o=150,u=480,a=250,f=0,l=0,c=0,h=0,p=0,d,v,m=mi,g=P,y=null,b=null,w;return E.stream=function(e){return w&&(w.valid=!1),w=Gi(m(r,s(g(e)))),w.valid=!0,w},E.clipAngle=function(e){return arguments.length?(m=e==null?(y=e,mi):Ei((y=+e)*Pt),T()):y},E.clipExtent=function(e){return arguments.length?(b=e,g=e?Ti(e[0][0],e[0][1],e[1][0],e[1][1]):P,T()):b},E.scale=function(e){return arguments.length?(o=+e,x()):o},E.translate=function(e){return arguments.length?(u=+e[0],a=+e[1],x()):[u,a]},E.center=function(e){return arguments.length?(f=e[0]%360*Pt,l=e[1]%360*Pt,x()):[f*Ht,l*Ht]},E.rotate=function(e){return arguments.length?(c=e[0]%360*Pt,h=e[1]%360*Pt,p=e.length>2?e[2]%360*Pt:0,x()):[c*Ht,h*Ht,p*Ht]},e.rebind(E,s,"precision"),function(){return n=t.apply(this,arguments),E.invert=n.invert&&S,x()}}function Gi(e){return Ji(e,function(t,n){e.point(t*Pt,n*Pt)})}function Yi(e,t){return[e,t]}function Zi(e,t){return[e>Ot?e-Mt:e<-Ot?e+Mt:e,t]}function es(e,t,n){return e?t||n?ui(ns(e),rs(t,n)):ns(e):t||n?rs(t,n):Zi}function ts(e){return function(t,n){return t+=e,[t>Ot?t-Mt:t<-Ot?t+Mt:t,n]}}function ns(e){var t=ts(e);return t.invert=ts(-e),t}function rs(e,t){function o(e,t){var o=Math.cos(t),u=Math.cos(e)*o,a=Math.sin(e)*o,f=Math.sin(t),l=f*n+u*r;return[Math.atan2(a*i-l*s,u*n-f*r),It(l*i+a*s)]}var n=Math.cos(e),r=Math.sin(e),i=Math.cos(t),s=Math.sin(t);return o.invert=function(e,t){var o=Math.cos(t),u=Math.cos(e)*o,a=Math.sin(e)*o,f=Math.sin(t),l=f*i-a*s;return[Math.atan2(a*i+f*s,u*n+l*r),It(l*n-u*r)]},o}function is(e,t){var n=Math.cos(e),r=Math.sin(e);return function(i,s,o,u){var a=o*t;if(i!=null){i=ss(n,i),s=ss(n,s);if(o>0?i<s:i>s)i+=o*Mt}else i=e+o*Mt,s=e-.5*a;for(var f,l=i;o>0?l>s:l<s;l-=a)u.point((f=Ur([n,-r*Math.cos(l),-r*Math.sin(l)]))[0],f[1])}}function ss(e,t){var n=Br(t);n[0]-=e,Rr(n);var r=Ft(-n[1]);return((-n[2]<0?-r:r)+2*Math.PI-Lt)%(2*Math.PI)}function os(t,n,r){var i=e.range(t,n-Lt,r).concat(n);return function(e){return i.map(function(t){return[e,t]})}}function us(t,n,r){var i=e.range(t,n-Lt,r).concat(n);return function(e){return i.map(function(t){return[t,e]})}}function as(e){return e.source}function fs(e){return e.target}function ls(e,t,n,r){var i=Math.cos(t),s=Math.sin(t),o=Math.cos(r),u=Math.sin(r),a=i*Math.cos(e),f=i*Math.sin(e),l=o*Math.cos(n),c=o*Math.sin(n),h=2*Math.asin(Math.sqrt(zt(r-t)+i*o*zt(n-e))),p=1/Math.sin(h),d=h?function(e){var t=Math.sin(e*=h)*p,n=Math.sin(h-e)*p,r=n*a+t*l,i=n*f+t*c,o=n*s+t*u;return[Math.atan2(i,r)*Ht,Math.atan2(o,Math.sqrt(r*r+i*i))*Ht]}:function(){return[e*Ht,t*Ht]};return d.distance=h,d}function ps(){function r(r,i){var s=Math.sin(i*=Pt),o=Math.cos(i),u=w((r*=Pt)-e),a=Math.cos(u);cs+=Math.atan2(Math.sqrt((u=o*Math.sin(u))*u+(u=n*s-t*o*a)*u),t*s+n*o*a),e=r,t=s,n=o}var e,t,n;hs.point=function(i,s){e=i*Pt,t=Math.sin(s*=Pt),n=Math.cos(s),hs.point=r},hs.lineEnd=function(){hs.point=hs.lineEnd=F}}function ds(e,t){function n(t,n){var r=Math.cos(t),i=Math.cos(n),s=e(r*i);return[s*i*Math.sin(t),s*Math.sin(n)]}return n.invert=function(e,n){var r=Math.sqrt(e*e+n*n),i=t(r),s=Math.sin(i),o=Math.cos(i);return[Math.atan2(e*s,r*o),Math.asin(r&&n*s/r)]},n}function gs(e,t){function o(e,t){s>0?t<-Dt+Lt&&(t=-Dt+Lt):t>Dt-Lt&&(t=Dt-Lt);var n=s/Math.pow(r(t),i);return[n*Math.sin(i*e),s-n*Math.cos(i*e)]}var n=Math.cos(e),r=function(e){return Math.tan(Ot/4+e/2)},i=e===t?Math.sin(e):Math.log(n/Math.cos(t))/Math.log(r(t)/r(e)),s=n*Math.pow(r(e),i)/i;return i?(o.invert=function(e,t){var n=s-t,r=Bt(i)*Math.sqrt(e*e+n*n);return[Math.atan2(e,n)/i,2*Math.atan(Math.pow(s/r,1/i))-Dt]},o):ws}function ys(e,t){function s(e,t){var n=i-t;return[n*Math.sin(r*e),i-n*Math.cos(r*e)]}var n=Math.cos(e),r=e===t?Math.sin(e):(n-Math.cos(t))/(t-e),i=n/r+e;return w(r)<Lt?Yi:(s.invert=function(e,t){var n=i-t;return[Math.atan2(e,n)/r,i-Bt(r)*Math.sqrt(e*e+n*n)]},s)}function ws(e,t){return[e,Math.log(Math.tan(Ot/4+t/2))]}function Es(e){var t=Ki(e),n=t.scale,r=t.translate,i=t.clipExtent,s;return t.scale=function(){var e=n.apply(t,arguments);return e===t?s?t.clipExtent(null):t:e},t.translate=function(){var e=r.apply(t,arguments);return e===t?s?t.clipExtent(null):t:e},t.clipExtent=function(e){var o=i.apply(t,arguments);if(o===t){if(s=e==null){var u=Ot*n(),a=r();i([[a[0]-u,a[1]-u],[a[0]+u,a[1]+u]])}}else s&&(o=null);return o},t.clipExtent(null)}function Ts(e,t){return[Math.log(Math.tan(Ot/4+t/2)),-e]}function Ns(e){return e[0]}function Cs(e){return e[1]}function ks(e){var t=e.length,n=[0,1],r=2;for(var i=2;i<t;i++){while(r>1&&jt(e[n[r-2]],e[n[r-1]],e[i])<=0)--r;n[r++]=i}return n.slice(0,r)}function Ls(e,t){return e[0]-t[0]||e[1]-t[1]}function Os(e,t,n){return(n[0]-t[0])*(e[1]-t[1])<(n[1]-t[1])*(e[0]-t[0])}function Ms(e,t,n,r){var i=e[0],s=n[0],o=t[0]-i,u=r[0]-s,a=e[1],f=n[1],l=t[1]-a,c=r[1]-f,h=(u*(a-f)-c*(i-s))/(c*o-u*l);return[i+h*o,a+h*l]}function _s(e){var t=e[0],n=e[e.length-1];return!(t[0]-n[0]||t[1]-n[1])}function qs(){uo(this),this.edge=this.site=this.circle=null}function Rs(e){var t=Bs.pop()||new qs;return t.site=e,t}function Us(e){Ys(e),Hs.remove(e),Bs.push(e),uo(e)}function zs(e){var t=e.circle,n=t.x,r=t.cy,i={x:n,y:r},s=e.P,o=e.N,u=[e];Us(e);var a=s;while(a.circle&&w(n-a.circle.x)<Lt&&w(r-a.circle.cy)<Lt)s=a.P,u.unshift(a),Us(a),a=s;u.unshift(a),Ys(a);var f=o;while(f.circle&&w(n-f.circle.x)<Lt&&w(r-f.circle.cy)<Lt)o=f.N,u.push(f),Us(f),f=o;u.push(f),Ys(f);var l=u.length,c;for(c=1;c<l;++c)f=u[c],a=u[c-1],io(f.edge,a.site,f.site,i);a=u[0],f=u[l-1],f.edge=no(a.site,f.site,null,i),Gs(a),Gs(f)}function Ws(e){var t=e.x,n=e.y,r,i,s,o,u=Hs._;while(u){s=Xs(u,n)-t;if(s>Lt)u=u.L;else{o=t-Vs(u,n);if(!(o>Lt)){s>-Lt?(r=u.P,i=u):o>-Lt?(r=u,i=u.N):r=i=u;break}if(!u.R){r=u;break}u=u.R}}var a=Rs(e);Hs.insert(r,a);if(!r&&!i)return;if(r===i){Ys(r),i=Rs(r.site),Hs.insert(a,i),a.edge=i.edge=no(r.site,a.site),Gs(r),Gs(i);return}if(!i){a.edge=no(r.site,a.site);return}Ys(r),Ys(i);var f=r.site,l=f.x,c=f.y,h=e.x-l,p=e.y-c,d=i.site,v=d.x-l,m=d.y-c,g=2*(h*m-p*v),y=h*h+p*p,b=v*v+m*m,w={x:(m*y-p*b)/g+l,y:(h*b-v*y)/g+c};io(i.edge,f,d,w),a.edge=no(f,e,null,w),i.edge=no(e,d,null,w),Gs(r),Gs(i)}function Xs(e,t){var n=e.site,r=n.x,i=n.y,s=i-t;if(!s)return r;var o=e.P;if(!o)return-Infinity;n=o.site;var u=n.x,a=n.y,f=a-t;if(!f)return u;var l=u-r,c=1/s-1/f,h=l/f;return c?(-h+Math.sqrt(h*h-2*c*(l*l/(-2*f)-a+f/2+i-s/2)))/c+r:(r+u)/2}function Vs(e,t){var n=e.N;if(n)return Xs(n,t);var r=e.site;return r.y===t?r.x:Infinity}function $s(e){this.site=e,this.edges=[]}function Js(e){var t=e[0][0],n=e[1][0],r=e[0][1],i=e[1][1],s,o,u,a,f=Ps,l=f.length,c,h,p,d,v,m;while(l--){c=f[l];if(!c||!c.prepare())continue;p=c.edges,d=p.length,h=0;while(h<d){m=p[h].end(),u=m.x,a=m.y,v=p[++h%d].start(),s=v.x,o=v.y;if(w(u-s)>Lt||w(a-o)>Lt)p.splice(h,0,new so(ro(c.site,m,w(u-t)<Lt&&i-a>Lt?{x:t,y:w(s-t)<Lt?o:i}:w(a-i)<Lt&&n-u>Lt?{x:w(o-i)<Lt?s:n,y:i}:w(u-n)<Lt&&a-r>Lt?{x:n,y:w(s-n)<Lt?o:r}:w(a-r)<Lt&&u-t>Lt?{x:w(o-r)<Lt?s:t,y:r}:null),c.site,null)),++d}}}function Ks(e,t){return t.angle-e.angle}function Qs(){uo(this),this.x=this.y=this.arc=this.site=this.cy=null}function Gs(e){var t=e.P,n=e.N;if(!t||!n)return;var r=t.site,i=e.site,s=n.site;if(r===s)return;var o=i.x,u=i.y,a=r.x-o,f=r.y-u,l=s.x-o,c=s.y-u,h=2*(a*c-f*l);if(h>=-At)return;var p=a*a+f*f,d=l*l+c*c,v=(c*p-f*d)/h,m=(a*d-l*p)/h,c=m+u,g=Is.pop()||new Qs;g.arc=e,g.site=i,g.x=v+o,g.y=c+Math.sqrt(v*v+m*m),g.cy=c,e.circle=g;var y=null,b=Fs._;while(b)if(g.y<b.y||g.y===b.y&&g.x<=b.x){if(!b.L){y=b.P;break}b=b.L}else{if(!b.R){y=b;break}b=b.R}Fs.insert(y,g),y||(js=g)}function Ys(e){var t=e.circle;t&&(t.P||(js=t.N),Fs.remove(t),Is.push(t),uo(t),e.circle=null)}function Zs(e){var t=Ds,n=Si(e[0][0],e[0][1],e[1][0],e[1][1]),r=t.length,i;while(r--){i=t[r];if(!eo(i,e)||!n(i)||w(i.a.x-i.b.x)<Lt&&w(i.a.y-i.b.y)<Lt)i.a=i.b=null,t.splice(r,1)}}function eo(e,t){var n=e.b;if(n)return!0;var r=e.a,i=t[0][0],s=t[1][0],o=t[0][1],u=t[1][1],a=e.l,f=e.r,l=a.x,c=a.y,h=f.x,p=f.y,d=(l+h)/2,v=(c+p)/2,m,g;if(p===c){if(d<i||d>=s)return;if(l>h){if(!r)r={x:d,y:o};else if(r.y>=u)return;n={x:d,y:u}}else{if(!r)r={x:d,y:u};else if(r.y<o)return;n={x:d,y:o}}}else{m=(l-h)/(p-c),g=v-m*d;if(m<-1||m>1)if(l>h){if(!r)r={x:(o-g)/m,y:o};else if(r.y>=u)return;n={x:(u-g)/m,y:u}}else{if(!r)r={x:(u-g)/m,y:u};else if(r.y<o)return;n={x:(o-g)/m,y:o}}else if(c<p){if(!r)r={x:i,y:m*i+g};else if(r.x>=s)return;n={x:s,y:m*s+g}}else{if(!r)r={x:s,y:m*s+g};else if(r.x<i)return;n={x:i,y:m*i+g}}}return e.a=r,e.b=n,!0}function to(e,t){this.l=e,this.r=t,this.a=this.b=null}function no(e,t,n,r){var i=new to(e,t);return Ds.push(i),n&&io(i,e,t,n),r&&io(i,t,e,r),Ps[e.i].edges.push(new so(i,e,t)),Ps[t.i].edges.push(new so(i,t,e)),i}function ro(e,t,n){var r=new to(e,null);return r.a=t,r.b=n,Ds.push(r),r}function io(e,t,n,r){!e.a&&!e.b?(e.a=r,e.l=t,e.r=n):e.l===n?e.b=r:e.a=r}function so(e,t,n){var r=e.a,i=e.b;this.edge=e,this.site=t,this.angle=n?Math.atan2(n.y-t.y,n.x-t.x):e.l===t?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function oo(){this._=null}function uo(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function ao(e,t){var n=t,r=t.R,i=n.U;i?i.L===n?i.L=r:i.R=r:e._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function fo(e,t){var n=t,r=t.L,i=n.U;i?i.L===n?i.L=r:i.R=r:e._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function lo(e){while(e.L)e=e.L;return e}function co(e,t){var n=e.sort(ho).pop(),r,i,s;Ds=[],Ps=new Array(e.length),Hs=new oo,Fs=new oo;for(;;){s=js;if(n&&(!s||n.y<s.y||n.y===s.y&&n.x<s.x)){if(n.x!==r||n.y!==i)Ps[n.i]=new $s(n),Ws(n),r=n.x,i=n.y;n=e.pop()}else{if(!s)break;zs(s.arc)}}t&&(Zs(t),Js(t));var o={cells:Ps,edges:Ds};return Hs=Fs=Ds=Ps=null,o}function ho(e,t){return t.y-e.y||t.x-e.x}function vo(e,t,n){return(e.x-n.x)*(t.y-e.y)-(e.x-t.x)*(n.y-e.y)}function mo(e){return e.x}function go(e){return e.y}function yo(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function bo(e,t,n,r,i,s){if(!e(t,n,r,i,s)){var o=(n+i)*.5,u=(r+s)*.5,a=t.nodes;a[0]&&bo(e,a[0],n,r,o,u),a[1]&&bo(e,a[1],o,r,i,u),a[2]&&bo(e,a[2],n,u,o,s),a[3]&&bo(e,a[3],o,u,i,s)}}function wo(e,t,n,r,i,s,o){var u=Infinity,a;return function f(e,l,c,h,p){if(l>s||c>o||h<r||p<i)return;if(d=e.point){var d,v=t-e.x,m=n-e.y,g=v*v+m*m;if(g<u){var y=Math.sqrt(u=g);r=t-y,i=n-y,s=t+y,o=n+y,a=d}}var b=e.nodes,w=(l+h)*.5,E=(c+p)*.5,S=t>=w,x=n>=E;for(var T=x<<1|S,N=T+4;T<N;++T)if(e=b[T&3])switch(T&3){case 0:f(e,l,c,w,E);break;case 1:f(e,w,c,h,E);break;case 2:f(e,l,E,w,p);break;case 3:f(e,w,E,h,p)}}(e,r,i,s,o),a}function Eo(t,n){t=e.rgb(t),n=e.rgb(n);var r=t.r,i=t.g,s=t.b,o=n.r-r,u=n.g-i,a=n.b-s;return function(e){return"#"+bn(Math.round(r+o*e))+bn(Math.round(i+u*e))+bn(Math.round(s+a*e))}}function So(e,t){var n={},r={},i;for(i in e)i in t?n[i]=ko(e[i],t[i]):r[i]=e[i];for(i in t)i in e||(r[i]=t[i]);return function(e){for(i in n)r[i]=n[i](e);return r}}function xo(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function To(e,t){var n=No.lastIndex=Co.lastIndex=0,r,i,s,o=-1,u=[],a=[];e+="",t+="";while((r=No.exec(e))&&(i=Co.exec(t)))(s=i.index)>n&&(s=t.slice(n,s),u[o]?u[o]+=s:u[++o]=s),(r=r[0])===(i=i[0])?u[o]?u[o]+=i:u[++o]=i:(u[++o]=null,a.push({i:o,x:xo(r,i)})),n=Co.lastIndex;return n<t.length&&(s=t.slice(n),u[o]?u[o]+=s:u[++o]=s),u.length<2?a[0]?(t=a[0].x,function(e){return t(e)+""}):function(){return t}:(t=a.length,function(e){for(var n=0,r;n<t;++n)u[(r=a[n]).i]=r.x(e);return u.join("")})}function ko(t,n){var r=e.interpolators.length,i;while(--r>=0&&!(i=e.interpolators[r](t,n)));return i}function Lo(e,t){var n=[],r=[],i=e.length,s=t.length,o=Math.min(e.length,t.length),u;for(u=0;u<o;++u)n.push(ko(e[u],t[u]));for(;u<i;++u)r[u]=e[u];for(;u<s;++u)r[u]=t[u];return function(e){for(u=0;u<o;++u)r[u]=n[u](e);return r}}function _o(e){return function(t){return t<=0?0:t>=1?1:e(t)}}function Do(e){return function(t){return 1-e(1-t)}}function Po(e){return function(t){return.5*(t<.5?e(2*t):2-e(2-2*t))}}function Ho(e){return e*e}function Bo(e){return e*e*e}function jo(e){if(e<=0)return 0;if(e>=1)return 1;var t=e*e,n=t*e;return 4*(e<.5?n:3*(e-t)+n-.75)}function Fo(e){return function(t){return Math.pow(t,e)}}function Io(e){return 1-Math.cos(e*Dt)}function qo(e){return Math.pow(2,10*(e-1))}function Ro(e){return 1-Math.sqrt(1-e*e)}function Uo(e,t){var n;return arguments.length<2&&(t=.45),arguments.length?n=t/Mt*Math.asin(1/e):(e=1,n=t/4),function(r){return 1+e*Math.pow(2,-10*r)*Math.sin((r-n)*Mt/t)}}function zo(e){return e||(e=1.70158),function(t){return t*t*((e+1)*t-e)}}function Wo(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}function Xo(t,n){t=e.hcl(t),n=e.hcl(n);var r=t.h,i=t.c,s=t.l,o=n.h-r,u=n.c-i,a=n.l-s;return isNaN(u)&&(u=0,i=isNaN(i)?n.c:i),isNaN(o)?(o=0,r=isNaN(r)?n.h:r):o>180?o-=360:o<-180&&(o+=360),function(e){return nn(r+o*e,i+u*e,s+a*e)+""}}function Vo(t,n){t=e.hsl(t),n=e.hsl(n);var r=t.h,i=t.s,s=t.l,o=n.h-r,u=n.s-i,a=n.l-s;return isNaN(u)&&(u=0,i=isNaN(i)?n.s:i),isNaN(o)?(o=0,r=isNaN(r)?n.h:r):o>180?o-=360:o<-180&&(o+=360),function(e){return Zt(r+o*e,i+u*e,s+a*e)+""}}function $o(t,n){t=e.lab(t),n=e.lab(n);var r=t.l,i=t.a,s=t.b,o=n.l-r,u=n.a-i,a=n.b-s;return function(e){return ln(r+o*e,i+u*e,s+a*e)+""}}function Jo(e,t){return t-=e,function(n){return Math.round(e+t*n)}}function Ko(e){var t=[e.a,e.b],n=[e.c,e.d],r=Go(t),i=Qo(t,n),s=Go(Yo(n,t,-i))||0;t[0]*n[1]<n[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-n[0],n[1]))*Ht,this.translate=[e.e,e.f],this.scale=[r,s],this.skew=s?Math.atan2(i,s)*Ht:0}function Qo(e,t){return e[0]*t[0]+e[1]*t[1]}function Go(e){var t=Math.sqrt(Qo(e,e));return t&&(e[0]/=t,e[1]/=t),t}function Yo(e,t,n){return e[0]+=n*t[0],e[1]+=n*t[1],e}function eu(e){return e.length?e.pop()+",":""}function tu(e,t,n,r){if(e[0]!==t[0]||e[1]!==t[1]){var i=n.push("translate(",null,",",null,")");r.push({i:i-4,x:xo(e[0],t[0])},{i:i-2,x:xo(e[1],t[1])})}else(t[0]||t[1])&&n.push("translate("+t+")")}function nu(e,t,n,r){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),r.push({i:n.push(eu(n)+"rotate(",null,")")-2,x:xo(e,t)})):t&&n.push(eu(n)+"rotate("+t+")")}function ru(e,t,n,r){e!==t?r.push({i:n.push(eu(n)+"skewX(",null,")")-2,x:xo(e,t)}):t&&n.push(eu(n)+"skewX("+t+")")}function iu(e,t,n,r){if(e[0]!==t[0]||e[1]!==t[1]){var i=n.push(eu(n)+"scale(",null,",",null,")");r.push({i:i-4,x:xo(e[0],t[0])},{i:i-2,x:xo(e[1],t[1])})}else(t[0]!==1||t[1]!==1)&&n.push(eu(n)+"scale("+t+")")}function su(t,n){var r=[],i=[];return t=e.transform(t),n=e.transform(n),tu(t.translate,n.translate,r,i),nu(t.rotate,n.rotate,r,i),ru(t.skew,n.skew,r,i),iu(t.scale,n.scale,r,i),t=n=null,function(e){var t=-1,n=i.length,s;while(++t<n)r[(s=i[t]).i]=s.x(e);return r.join("")}}function ou(e,t){return t=(t-=e=+e)||1/t,function(n){return(n-e)/t}}function uu(e,t){return t=(t-=e=+e)||1/t,function(n){return Math.max(0,Math.min(1,(n-e)/t))}}function au(e){var t=e.source,n=e.target,r=lu(t,n),i=[t];while(t!==r)t=t.parent,i.push(t);var s=i.length;while(n!==r)i.splice(s,0,n),n=n.parent;return i}function fu(e){var t=[],n=e.parent;while(n!=null)t.push(e),e=n,n=n.parent;return t.push(e),t}function lu(e,t){if(e===t)return e;var n=fu(e),r=fu(t),i=n.pop(),s=r.pop(),o=null;while(i===s)o=i,i=n.pop(),s=r.pop();return o}function cu(e){e.fixed|=2}function hu(e){e.fixed&=-7}function pu(e){e.fixed|=4,e.px=e.x,e.py=e.y}function du(e){e.fixed&=-5}function vu(e,t,n){var r=0,i=0;e.charge=0;if(!e.leaf){var s=e.nodes,o=s.length,u=-1,a;while(++u<o){a=s[u];if(a==null)continue;vu(a,t,n),e.charge+=a.charge,r+=a.charge*a.cx,i+=a.charge*a.cy}}if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var f=t*n[e.point.index];e.charge+=e.pointCharge=f,r+=f*e.point.x,i+=f*e.point.y}e.cx=r/e.charge,e.cy=i/e.charge}function bu(t,n){return e.rebind(t,n,"sort","children","value"),t.nodes=t,t.links=Nu,t}function wu(e,t){var n=[e];while((e=n.pop())!=null){t(e);if((i=e.children)&&(r=i.length)){var r,i;while(--r>=0)n.push(i[r])}}}function Eu(e,t){var n=[e],r=[];while((e=n.pop())!=null){r.push(e);if((o=e.children)&&(s=o.length)){var i=-1,s,o;while(++i<s)n.push(o[i])}}while((e=r.pop())!=null)t(e)}function Su(e){return e.children}function xu(e){return e.value}function Tu(e,t){return t.value-e.value}function Nu(t){return e.merge(t.map(function(e){return(e.children||[]).map(function(t){return{source:e,target:t}})}))}function ku(e){return e.x}function Lu(e){return e.y}function Au(e,t,n){e.y0=t,e.y=n}function _u(t){return e.range(t.length)}function Du(e){var t=-1,n=e[0].length,r=[];while(++t<n)r[t]=0;return r}function Pu(e){var t=1,n=0,r=e[0][1],i,s=e.length;for(;t<s;++t)(i=e[t][1])>r&&(n=t,r=i);return n}function Hu(e){return e.reduce(Bu,0)}function Bu(e,t){return e+t[1]}function ju(e,t){return Fu(e,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Fu(e,t){var n=-1,r=+e[0],i=(e[1]-r)/t,s=[];while(++n<=t)s[n]=i*n+r;return s}function Iu(t){return[e.min(t),e.max(t)]}function qu(e,t){return e.value-t.value}function Ru(e,t){var n=e._pack_next;e._pack_next=t,t._pack_prev=e,t._pack_next=n,n._pack_prev=t}function Uu(e,t){e._pack_next=t,t._pack_prev=e}function zu(e,t){var n=t.x-e.x,r=t.y-e.y,i=e.r+t.r;return.999*i*i>n*n+r*r}function Wu(e){function p(e){n=Math.min(e.x-e.r,n),r=Math.max(e.x+e.r,r),i=Math.min(e.y-e.r,i),s=Math.max(e.y+e.r,s)}if(!(t=e.children)||!(h=t.length))return;var t,n=Infinity,r=-Infinity,i=Infinity,s=-Infinity,o,u,a,f,l,c,h;t.forEach(Xu),o=t[0],o.x=-o.r,o.y=0,p(o);if(h>1){u=t[1],u.x=u.r,u.y=0,p(u);if(h>2){a=t[2],Ju(o,u,a),p(a),Ru(o,a),o._pack_prev=a,Ru(a,u),u=o._pack_next;for(f=3;f<h;f++){Ju(o,u,a=t[f]);var d=0,v=1,m=1;for(l=u._pack_next;l!==u;l=l._pack_next,v++)if(zu(l,a)){d=1;break}if(d==1)for(c=o._pack_prev;c!==l._pack_prev;c=c._pack_prev,m++)if(zu(c,a))break;d?(v<m||v==m&&u.r<o.r?Uu(o,u=l):Uu(o=c,u),f--):(Ru(o,a),u=a,p(a))}}}var g=(n+r)/2,y=(i+s)/2,b=0;for(f=0;f<h;f++)a=t[f],a.x-=g,a.y-=y,b=Math.max(b,a.r+Math
.sqrt(a.x*a.x+a.y*a.y));e.r=b,t.forEach(Vu)}function Xu(e){e._pack_next=e._pack_prev=e}function Vu(e){delete e._pack_next,delete e._pack_prev}function $u(e,t,n,r){var i=e.children;e.x=t+=r*e.x,e.y=n+=r*e.y,e.r*=r;if(i){var s=-1,o=i.length;while(++s<o)$u(i[s],t,n,r)}}function Ju(e,t,n){var r=e.r+n.r,i=t.x-e.x,s=t.y-e.y;if(r&&(i||s)){var o=t.r+n.r,u=i*i+s*s;o*=o,r*=r;var a=.5+(r-o)/(2*u),f=Math.sqrt(Math.max(0,2*o*(r+u)-(r-=u)*r-o*o))/(2*u);n.x=e.x+a*i+f*s,n.y=e.y+a*s-f*i}else n.x=e.x+r,n.y=e.y}function Ku(e,t){return e.parent==t.parent?1:2}function Qu(e){var t=e.children;return t.length?t[0]:e.t}function Gu(e){var t=e.children,n;return(n=t.length)?t[n-1]:e.t}function Yu(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function Zu(e){var t=0,n=0,r=e.children,i=r.length,s;while(--i>=0)s=r[i],s.z+=t,s.m+=t,t+=s.s+(n+=s.c)}function ea(e,t,n){return e.a.parent===t.parent?e.a:n}function ta(t){return 1+e.max(t,function(e){return e.y})}function na(e){return e.reduce(function(e,t){return e+t.x},0)/e.length}function ra(e){var t=e.children;return t&&t.length?ra(t[0]):e}function ia(e){var t=e.children,n;return t&&(n=t.length)?ia(t[n-1]):e}function sa(e){return{x:e.x,y:e.y,dx:e.dx,dy:e.dy}}function oa(e,t){var n=e.x+t[3],r=e.y+t[0],i=e.dx-t[1]-t[3],s=e.dy-t[0]-t[2];return i<0&&(n+=i/2,i=0),s<0&&(r+=s/2,s=0),{x:n,y:r,dx:i,dy:s}}function ua(e){var t=e[0],n=e[e.length-1];return t<n?[t,n]:[n,t]}function aa(e){return e.rangeExtent?e.rangeExtent():ua(e.range())}function fa(e,t,n,r){var i=n(e[0],e[1]),s=r(t[0],t[1]);return function(e){return s(i(e))}}function la(e,t){var n=0,r=e.length-1,i=e[n],s=e[r],o;return s<i&&(o=n,n=r,r=o,o=i,i=s,s=o),e[n]=t.floor(i),e[r]=t.ceil(s),e}function ca(e){return e?{floor:function(t){return Math.floor(t/e)*e},ceil:function(t){return Math.ceil(t/e)*e}}:ha}function pa(t,n,r,i){var s=[],o=[],u=0,a=Math.min(t.length,n.length)-1;t[a]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());while(++u<=a)s.push(r(t[u-1],t[u])),o.push(i(n[u-1],n[u]));return function(n){var r=e.bisect(t,n,1,a)-1;return o[r](s[r](n))}}function da(e,t,n,r){function o(){var o=Math.min(e.length,t.length)>2?pa:fa,a=r?uu:ou;return i=o(e,t,a,n),s=o(t,e,a,ko),u}function u(e){return i(e)}var i,s;return u.invert=function(e){return s(e)},u.domain=function(t){return arguments.length?(e=t.map(Number),o()):e},u.range=function(e){return arguments.length?(t=e,o()):t},u.rangeRound=function(e){return u.range(e).interpolate(Jo)},u.clamp=function(e){return arguments.length?(r=e,o()):r},u.interpolate=function(e){return arguments.length?(n=e,o()):n},u.ticks=function(t){return ya(e,t)},u.tickFormat=function(t,n){return ba(e,t,n)},u.nice=function(t){return ma(e,t),o()},u.copy=function(){return da(e,t,n,r)},o()}function va(t,n){return e.rebind(t,n,"range","rangeRound","interpolate","clamp")}function ma(e,t){return la(e,ca(ga(e,t)[2])),la(e,ca(ga(e,t)[2])),e}function ga(e,t){t==null&&(t=10);var n=ua(e),r=n[1]-n[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),s=t/r*i;return s<=.15?i*=10:s<=.35?i*=5:s<=.75&&(i*=2),n[0]=Math.ceil(n[0]/i)*i,n[1]=Math.floor(n[1]/i)*i+i*.5,n[2]=i,n}function ya(t,n){return e.range.apply(e,ga(t,n))}function ba(t,n,r){var i=ga(t,n);if(r){var s=Wn.exec(r);s.shift();if(s[8]==="s"){var o=e.formatPrefix(Math.max(w(i[0]),w(i[1])));return s[7]||(s[7]="."+Ea(o.scale(i[2]))),s[8]="f",r=e.format(s.join("")),function(e){return r(o.scale(e))+o.symbol}}s[7]||(s[7]="."+Sa(s[8],i)),r=s.join("")}else r=",."+Ea(i[2])+"f";return e.format(r)}function Ea(e){return-Math.floor(Math.log(e)/Math.LN10+.01)}function Sa(e,t){var n=Ea(t[2]);return e in wa?Math.abs(n-Ea(Math.max(w(t[0]),w(t[1]))))+ +(e!=="e"):n-(e==="%")*2}function xa(t,n,r,i){function s(e){return(r?Math.log(e<0?0:e):-Math.log(e>0?0:-e))/Math.log(n)}function o(e){return r?Math.pow(n,e):-Math.pow(n,-e)}function u(e){return t(s(e))}return u.invert=function(e){return o(t.invert(e))},u.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((i=e.map(Number)).map(s)),u):i},u.base=function(e){return arguments.length?(n=+e,t.domain(i.map(s)),u):n},u.nice=function(){var e=la(i.map(s),r?Math:Na);return t.domain(e),i=e.map(o),u},u.ticks=function(){var e=ua(i),t=[],u=e[0],a=e[1],f=Math.floor(s(u)),l=Math.ceil(s(a)),c=n%1?2:n;if(isFinite(l-f)){if(r){for(;f<l;f++)for(var h=1;h<c;h++)t.push(o(f)*h);t.push(o(f))}else{t.push(o(f));for(;f++<l;)for(var h=c-1;h>0;h--)t.push(o(f)*h)}for(f=0;t[f]<u;f++);for(l=t.length;t[l-1]>a;l--);t=t.slice(f,l)}return t},u.tickFormat=function(t,r){if(!arguments.length)return Ta;arguments.length<2?r=Ta:typeof r!="function"&&(r=e.format(r));var i=Math.max(1,n*t/u.ticks().length);return function(e){var t=e/o(Math.round(s(e)));return t*n<n-.5&&(t*=n),t<=i?r(e):""}},u.copy=function(){return xa(t.copy(),n,r,i)},va(u,t)}function Ca(e,t,n){function s(t){return e(r(t))}var r=ka(t),i=ka(1/t);return s.invert=function(t){return i(e.invert(t))},s.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(r)),s):n},s.ticks=function(e){return ya(n,e)},s.tickFormat=function(e,t){return ba(n,e,t)},s.nice=function(e){return s.domain(ma(n,e))},s.exponent=function(o){return arguments.length?(r=ka(t=o),i=ka(1/t),e.domain(n.map(r)),s):t},s.copy=function(){return Ca(e.copy(),t,n)},va(s,e)}function ka(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function La(t,n){function o(e){return i[((r.get(e)||(n.t==="range"?r.set(e,t.push(e)):NaN))-1)%i.length]}function u(n,r){return e.range(t.length).map(function(e){return n+r*e})}var r,i,s;return o.domain=function(e){if(!arguments.length)return t;t=[],r=new x;var i=-1,s=e.length,u;while(++i<s)r.has(u=e[i])||r.set(u,t.push(u));return o[n.t].apply(o,n.a)},o.range=function(e){return arguments.length?(i=e,s=0,n={t:"range",a:arguments},o):i},o.rangePoints=function(e,r){arguments.length<2&&(r=0);var a=e[0],f=e[1],l=t.length<2?(a=(a+f)/2,0):(f-a)/(t.length-1+r);return i=u(a+l*r/2,l),s=0,n={t:"rangePoints",a:arguments},o},o.rangeRoundPoints=function(e,r){arguments.length<2&&(r=0);var a=e[0],f=e[1],l=t.length<2?(a=f=Math.round((a+f)/2),0):(f-a)/(t.length-1+r)|0;return i=u(a+Math.round(l*r/2+(f-a-(t.length-1+r)*l)/2),l),s=0,n={t:"rangeRoundPoints",a:arguments},o},o.rangeBands=function(e,r,a){arguments.length<2&&(r=0),arguments.length<3&&(a=r);var f=e[1]<e[0],l=e[f-0],c=e[1-f],h=(c-l)/(t.length-r+2*a);return i=u(l+h*a,h),f&&i.reverse(),s=h*(1-r),n={t:"rangeBands",a:arguments},o},o.rangeRoundBands=function(e,r,a){arguments.length<2&&(r=0),arguments.length<3&&(a=r);var f=e[1]<e[0],l=e[f-0],c=e[1-f],h=Math.floor((c-l)/(t.length-r+2*a));return i=u(l+Math.round((c-l-(t.length-r)*h)/2),h),f&&i.reverse(),s=Math.round(h*(1-r)),n={t:"rangeRoundBands",a:arguments},o},o.rangeBand=function(){return s},o.rangeExtent=function(){return ua(n.a[0])},o.copy=function(){return La(t,n)},o.domain(t)}function Da(t,n){function i(){var i=0,o=n.length;r=[];while(++i<o)r[i-1]=e.quantile(t,i/o);return s}function s(t){if(!isNaN(t=+t))return n[e.bisect(r,t)]}var r;return s.domain=function(e){return arguments.length?(t=e.map(v).filter(m).sort(d),i()):t},s.range=function(e){return arguments.length?(n=e,i()):n},s.quantiles=function(){return r},s.invertExtent=function(e){return e=n.indexOf(e),e<0?[NaN,NaN]:[e>0?r[e-1]:t[0],e<r.length?r[e]:t[t.length-1]]},s.copy=function(){return Da(t,n)},i()}function Pa(e,t,n){function s(t){return n[Math.max(0,Math.min(i,Math.floor(r*(t-e))))]}function o(){return r=n.length/(t-e),i=n.length-1,s}var r,i;return s.domain=function(n){return arguments.length?(e=+n[0],t=+n[n.length-1],o()):[e,t]},s.range=function(e){return arguments.length?(n=e,o()):n},s.invertExtent=function(t){return t=n.indexOf(t),t=t<0?NaN:t/r+e,[t,t+1/r]},s.copy=function(){return Pa(e,t,n)},o()}function Ha(t,n){function r(r){if(r<=r)return n[e.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(e){return arguments.length?(n=e,r):n},r.invertExtent=function(e){return e=n.indexOf(e),[t[e-1],t[e]]},r.copy=function(){return Ha(t,n)},r}function Ba(e){function t(e){return+e}return t.invert=t,t.domain=t.range=function(n){return arguments.length?(e=n.map(t),t):e},t.ticks=function(t){return ya(e,t)},t.tickFormat=function(t,n){return ba(e,t,n)},t.copy=function(){return Ba(e)},t}function ja(){return 0}function Ia(e){return e.innerRadius}function qa(e){return e.outerRadius}function Ra(e){return e.startAngle}function Ua(e){return e.endAngle}function za(e){return e&&e.padAngle}function Wa(e,t,n,r){return(e-n)*t-(t-r)*e>0?0:1}function Xa(e,t,n,r,i){var s=e[0]-t[0],o=e[1]-t[1],u=(i?r:-r)/Math.sqrt(s*s+o*o),a=u*o,f=-u*s,l=e[0]+a,c=e[1]+f,h=t[0]+a,p=t[1]+f,d=(l+h)/2,v=(c+p)/2,m=h-l,g=p-c,y=m*m+g*g,b=n-r,w=l*p-h*c,E=(g<0?-1:1)*Math.sqrt(Math.max(0,b*b*y-w*w)),S=(w*g-m*E)/y,x=(-w*m-g*E)/y,T=(w*g+m*E)/y,N=(-w*m+g*E)/y,C=S-d,k=x-v,L=T-d,A=N-v;return C*C+k*k>L*L+A*A&&(S=T,x=N),[[S-a,x-f],[S*n/b,x*n/b]]}function Va(e){function u(s){function d(){u.push("M",i(e(a),o))}var u=[],a=[],f=-1,l=s.length,c,h=Cn(t),p=Cn(n);while(++f<l)r.call(this,c=s[f],f)?a.push([+h.call(this,c,f),+p.call(this,c,f)]):a.length&&(d(),a=[]);return a.length&&d(),u.length?u.join(""):null}var t=Ns,n=Cs,r=ai,i=Ja,s=i.key,o=.7;return u.x=function(e){return arguments.length?(t=e,u):t},u.y=function(e){return arguments.length?(n=e,u):n},u.defined=function(e){return arguments.length?(r=e,u):r},u.interpolate=function(e){return arguments.length?(typeof e=="function"?s=i=e:s=(i=$a.get(e)||Ja).key,u):s},u.tension=function(e){return arguments.length?(o=e,u):o},u}function Ja(e){return e.length>1?e.join("L"):e+"Z"}function Ka(e){return e.join("L")+"Z"}function Qa(e){var t=0,n=e.length,r=e[0],i=[r[0],",",r[1]];while(++t<n)i.push("H",(r[0]+(r=e[t])[0])/2,"V",r[1]);return n>1&&i.push("H",r[0]),i.join("")}function Ga(e){var t=0,n=e.length,r=e[0],i=[r[0],",",r[1]];while(++t<n)i.push("V",(r=e[t])[1],"H",r[0]);return i.join("")}function Ya(e){var t=0,n=e.length,r=e[0],i=[r[0],",",r[1]];while(++t<n)i.push("H",(r=e[t])[0],"V",r[1]);return i.join("")}function Za(e,t){return e.length<4?Ja(e):e[1]+nf(e.slice(1,-1),rf(e,t))}function ef(e,t){return e.length<3?Ka(e):e[0]+nf((e.push(e[0]),e),rf([e[e.length-2]].concat(e,[e[1]]),t))}function tf(e,t){return e.length<3?Ja(e):e[0]+nf(e,rf(e,t))}function nf(e,t){if(t.length<1||e.length!=t.length&&e.length!=t.length+2)return Ja(e);var n=e.length!=t.length,r="",i=e[0],s=e[1],o=t[0],u=o,a=1;n&&(r+="Q"+(s[0]-o[0]*2/3)+","+(s[1]-o[1]*2/3)+","+s[0]+","+s[1],i=e[1],a=2);if(t.length>1){u=t[1],s=e[a],a++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(s[0]-u[0])+","+(s[1]-u[1])+","+s[0]+","+s[1];for(var f=2;f<t.length;f++,a++)s=e[a],u=t[f],r+="S"+(s[0]-u[0])+","+(s[1]-u[1])+","+s[0]+","+s[1]}if(n){var l=e[a];r+="Q"+(s[0]+u[0]*2/3)+","+(s[1]+u[1]*2/3)+","+l[0]+","+l[1]}return r}function rf(e,t){var n=[],r=(1-t)/2,i,s=e[0],o=e[1],u=1,a=e.length;while(++u<a)i=s,s=o,o=e[u],n.push([r*(o[0]-i[0]),r*(o[1]-i[1])]);return n}function sf(e){if(e.length<3)return Ja(e);var t=1,n=e.length,r=e[0],i=r[0],s=r[1],o=[i,i,i,(r=e[1])[0]],u=[s,s,s,r[1]],a=[i,",",s,"L",ff(hf,o),",",ff(hf,u)];e.push(e[n-1]);while(++t<=n)r=e[t],o.shift(),o.push(r[0]),u.shift(),u.push(r[1]),pf(a,o,u);return e.pop(),a.push("L",r),a.join("")}function of(e){if(e.length<4)return Ja(e);var t=[],n=-1,r=e.length,i,s=[0],o=[0];while(++n<3)i=e[n],s.push(i[0]),o.push(i[1]);t.push(ff(hf,s)+","+ff(hf,o)),--n;while(++n<r)i=e[n],s.shift(),s.push(i[0]),o.shift(),o.push(i[1]),pf(t,s,o);return t.join("")}function uf(e){var t,n=-1,r=e.length,i=r+4,s,o=[],u=[];while(++n<4)s=e[n%r],o.push(s[0]),u.push(s[1]);t=[ff(hf,o),",",ff(hf,u)],--n;while(++n<i)s=e[n%r],o.shift(),o.push(s[0]),u.shift(),u.push(s[1]),pf(t,o,u);return t.join("")}function af(e,t){var n=e.length-1;if(n){var r=e[0][0],i=e[0][1],s=e[n][0]-r,o=e[n][1]-i,u=-1,a,f;while(++u<=n)a=e[u],f=u/n,a[0]=t*a[0]+(1-t)*(r+f*s),a[1]=t*a[1]+(1-t)*(i+f*o)}return sf(e)}function ff(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function pf(e,t,n){e.push("C",ff(lf,t),",",ff(lf,n),",",ff(cf,t),",",ff(cf,n),",",ff(hf,t),",",ff(hf,n))}function df(e,t){return(t[1]-e[1])/(t[0]-e[0])}function vf(e){var t=0,n=e.length-1,r=[],i=e[0],s=e[1],o=r[0]=df(i,s);while(++t<n)r[t]=(o+(o=df(i=s,s=e[t+1])))/2;return r[t]=o,r}function mf(e){var t=[],n,r,i,s,o=vf(e),u=-1,a=e.length-1;while(++u<a)n=df(e[u],e[u+1]),w(n)<Lt?o[u]=o[u+1]=0:(r=o[u]/n,i=o[u+1]/n,s=r*r+i*i,s>9&&(s=n*3/Math.sqrt(s),o[u]=s*r,o[u+1]=s*i));u=-1;while(++u<=a)s=(e[Math.min(a,u+1)][0]-e[Math.max(0,u-1)][0])/(6*(1+o[u]*o[u])),t.push([s||0,o[u]*s||0]);return t}function gf(e){return e.length<3?Ja(e):e[0]+nf(e,mf(e))}function yf(e){var t,n=-1,r=e.length,i,s;while(++n<r)t=e[n],i=t[0],s=t[1]-Dt,t[0]=i*Math.cos(s),t[1]=i*Math.sin(s);return e}function bf(e){function c(u){function x(){c.push("M",o(e(p),l),f,a(e(h.reverse()),l),"Z")}var c=[],h=[],p=[],d=-1,v=u.length,m,g=Cn(t),y=Cn(r),b=t===n?function(){return E}:Cn(n),w=r===i?function(){return S}:Cn(i),E,S;while(++d<v)s.call(this,m=u[d],d)?(h.push([E=+g.call(this,m,d),S=+y.call(this,m,d)]),p.push([+b.call(this,m,d),+w.call(this,m,d)])):h.length&&(x(),h=[],p=[]);return h.length&&x(),c.length?c.join(""):null}var t=Ns,n=Ns,r=0,i=Cs,s=ai,o=Ja,u=o.key,a=o,f="L",l=.7;return c.x=function(e){return arguments.length?(t=n=e,c):n},c.x0=function(e){return arguments.length?(t=e,c):t},c.x1=function(e){return arguments.length?(n=e,c):n},c.y=function(e){return arguments.length?(r=i=e,c):i},c.y0=function(e){return arguments.length?(r=e,c):r},c.y1=function(e){return arguments.length?(i=e,c):i},c.defined=function(e){return arguments.length?(s=e,c):s},c.interpolate=function(e){return arguments.length?(typeof e=="function"?u=o=e:u=(o=$a.get(e)||Ja).key,a=o.reverse||o,f=o.closed?"M":"L",c):u},c.tension=function(e){return arguments.length?(l=e,c):l},c}function wf(e){return e.radius}function Ef(e){return[e.x,e.y]}function Sf(e){return function(){var t=e.apply(this,arguments),n=t[0],r=t[1]-Dt;return[n*Math.cos(r),n*Math.sin(r)]}}function xf(){return 64}function Tf(){return"circle"}function Nf(e){var t=Math.sqrt(e/Ot);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+ -t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Of(e){return function(){var t,n,r;(t=this[e])&&(r=t[n=t.active])&&(r.timer.c=null,r.timer.t=NaN,--t.count?delete t[n]:delete this[e],t.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function Mf(e,t,n){return X(e,_f),e.namespace=t,e.id=n,e}function Bf(e,t,n,r){var i=e.id,s=e.namespace;return dt(e,typeof n=="function"?function(e,o,u){e[s][i].tween.set(t,r(n.call(e,e.__data__,o,u)))}:(n=r(n),function(e){e[s][i].tween.set(t,n)}))}function jf(e){return e==null&&(e=""),function(){this.textContent=e}}function Ff(e){return e==null?"__transition__":"__transition_"+e+"__"}function If(e,t,n,r,i){function h(e){var t=o.delay;a.t=t+u;if(t<=e)return p(e-t);a.c=p}function p(n){var i=s.active,h=s[i];h&&(h.timer.c=null,h.timer.t=NaN,--s.count,delete s[i],h.event&&h.event.interrupt.call(e,e.__data__,h.index));for(var p in s)if(+p<r){var v=s[p];v.timer.c=null,v.timer.t=NaN,--s.count,delete s[p]}a.c=d,Bn(function(){return a.c&&d(n||1)&&(a.c=null,a.t=NaN),1},0,u),s.active=r,o.event&&o.event.start.call(e,e.__data__,t),c=[],o.tween.forEach(function(n,r){(r=r.call(e,e.__data__,t))&&c.push(r)}),l=o.ease,f=o.duration}function d(i){var u=i/f,a=l(u),h=c.length;while(h>0)c[--h].call(e,a);if(u>=1)return o.event&&o.event.end.call(e,e.__data__,t),--s.count?delete s[r]:delete e[n],1}var s=e[n]||(e[n]={active:0,count:0}),o=s[r],u,a,f,l,c;o||(u=i.time,a=Bn(h,0,u),o=s[r]={tween:new x,time:u,timer:a,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++s.count)}function Uf(e,t,n){e.attr("transform",function(e){var r=t(e);return"translate("+(isFinite(r)?r:n(e))+",0)"})}function zf(e,t,n){e.attr("transform",function(e){var r=t(e);return"translate(0,"+(isFinite(r)?r:n(e))+")"})}function Kf(e){return e.toISOString()}function Qf(t,n,r){function i(e){return t(e)}function s(t,r){var i=t[1]-t[0],s=i/r,o=e.bisect(Yf,s);return o==Yf.length?[n.year,ga(t.map(function(e){return e/31536e6}),r)[2]]:o?n[s/Yf[o-1]<Yf[o]/s?o-1:o]:[tl,ga(t,r)[2]]}return i.invert=function(e){return Gf(t.invert(e))},i.domain=function(e){return arguments.length?(t.domain(e),i):t.domain().map(Gf)},i.nice=function(e,t){function u(n){return!isNaN(n)&&!e.range(n,Gf(+n+1),t).length}var n=i.domain(),r=ua(n),o=e==null?s(r,10):typeof e=="number"&&s(r,e);return o&&(e=o[0],t=o[1]),i.domain(la(n,t>1?{floor:function(t){while(u(t=e.floor(t)))t=Gf(t-1);return t},ceil:function(t){while(u(t=e.ceil(t)))t=Gf(+t+1);return t}}:e))},i.ticks=function(e,t){var n=ua(i.domain()),r=e==null?s(n,10):typeof e=="number"?s(n,e):!e.range&&[{range:e},t];return r&&(e=r[0],t=r[1]),e.range(n[0],Gf(+n[1]+1),t<1?1:t)},i.tickFormat=function(){return r},i.copy=function(){return Qf(t.copy(),n,r)},va(i,t)}function Gf(e){return new Date(e)}function il(e){return JSON.parse(e.responseText)}function sl(e){var t=i.createRange();return t.selectNode(i.body),t.createContextualFragment(e.responseText)}var e={version:"3.5.17"},n=[].slice,r=function(e){return n.call(e)},i=this.document;if(i)try{r(i.documentElement.childNodes)[0].nodeType}catch(u){r=function(e){var t=e.length,n=new Array(t);while(t--)n[t]=e[t];return n}}Date.now||(Date.now=function(){return+(new Date)});if(i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(a){var f=this.Element.prototype,l=f.setAttribute,c=f.setAttributeNS,h=this.CSSStyleDeclaration.prototype,p=h.setProperty;f.setAttribute=function(e,t){l.call(this,e,t+"")},f.setAttributeNS=function(e,t,n){c.call(this,e,t,n+"")},h.setProperty=function(e,t,n){p.call(this,e,t+"",n)}}e.ascending=d,e.descending=function(e,t){return t<e?-1:t>e?1:t>=e?0:NaN},e.min=function(e,t){var n=-1,r=e.length,i,s;if(arguments.length===1){while(++n<r)if((s=e[n])!=null&&s>=s){i=s;break}while(++n<r)(s=e[n])!=null&&i>s&&(i=s)}else{while(++n<r)if((s=t.call(e,e[n],n))!=null&&s>=s){i=s;break}while(++n<r)(s=t.call(e,e[n],n))!=null&&i>s&&(i=s)}return i},e.max=function(e,t){var n=-1,r=e.length,i,s;if(arguments.length===1){while(++n<r)if((s=e[n])!=null&&s>=s){i=s;break}while(++n<r)(s=e[n])!=null&&s>i&&(i=s)}else{while(++n<r)if((s=t.call(e,e[n],n))!=null&&s>=s){i=s;break}while(++n<r)(s=t.call(e,e[n],n))!=null&&s>i&&(i=s)}return i},e.extent=function(e,t){var n=-1,r=e.length,i,s,o;if(arguments.length===1){while(++n<r)if((s=e[n])!=null&&s>=s){i=o=s;break}while(++n<r)(s=e[n])!=null&&(i>s&&(i=s),o<s&&(o=s))}else{while(++n<r)if((s=t.call(e,e[n],n))!=null&&s>=s){i=o=s;break}while(++n<r)(s=t.call(e,e[n],n))!=null&&(i>s&&(i=s),o<s&&(o=s))}return[i,o]},e.sum=function(e,t){var n=0,r=e.length,i,s=-1;if(arguments.length===1)while(++s<r)m(i=+e[s])&&(n+=i);else while(++s<r)m(i=+t.call(e,e[s],s))&&(n+=i);return n},e.mean=function(e,t){var n=0,r=e.length,i,s=-1,o=r;if(arguments.length===1)while(++s<r)m(i=v(e[s]))?n+=i:--o;else while(++s<r)m(i=v(t.call(e,e[s],s)))?n+=i:--o;if(o)return n/o},e.quantile=function(e,t){var n=(e.length-1)*t+1,r=Math.floor(n),i=+e[r-1],s=n-r;return s?i+s*(e[r]-i):i},e.median=function(t,n){var r=[],i=t.length,s,o=-1;if(arguments.length===1)while(++o<i)m(s=v(t[o]))&&r.push(s);else while(++o<i)m(s=v(n.call(t,t[o],o)))&&r.push(s);if(r.length)return e.quantile(r.sort(d),.5)},e.variance=function(e,t){var n=e.length,r=0,i,s,o=0,u=-1,a=0;if(arguments.length===1)while(++u<n)m(i=v(e[u]))&&(s=i-r,r+=s/++a,o+=s*(i-r));else while(++u<n)m(i=v(t.call(e,e[u],u)))&&(s=i-r,r+=s/++a,o+=s*(i-r));if(a>1)return o/(a-1)},e.deviation=function(){var t=e.variance.apply(this,arguments);return t?Math.sqrt(t):t};var y=g(d);e.bisectLeft=y.left,e.bisect=e.bisectRight=y.right,e.bisector=function(e){return g(e.length===1?function(t,n){return d(e(t),n)}:e)},e.shuffle=function(e,t,n){(r=arguments.length)<3&&(n=e.length,r<2&&(t=0));var r=n-t,i,s;while(r)s=Math.random()*r--|0,i=e[r+t],e[r+t]=e[s+t],e[s+t]=i;return e},e.permute=function(e,t){var n=t.length,r=new Array(n);while(n--)r[n]=e[t[n]];return r},e.pairs=function(e){var t=0,n=e.length-1,r,i=e[0],s=new Array(n<0?0:n);while(t<n)s[t]=[r=i,i=e[++t]];return s},e.transpose=function(t){if(!(o=t.length))return[];for(var n=-1,r=e.min(t,b),i=new Array(r);++n<r;)for(var s=-1,o,u=i[n]=new Array(o);++s<o;)u[s]=t[s][n];return i},e.zip=function(){return e.transpose(arguments)},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t},e.values=function(e){var t=[];for(var n in e)t.push(e[n]);return t},e.entries=function(e){var t=[];for(var n in e)t.push({key:n,value:e[n]});return t},e.merge=function(e){var t=e.length,n,r=-1,i=0,s,o;while(++r<t)i+=e[r].length;s=new Array(i);while(--t>=0){o=e[t],n=o.length;while(--n>=0)s[--i]=o[n]}return s};var w=Math.abs;e.range=function(e,t,n){arguments.length<3&&(n=1,arguments.length<2&&(t=e,e=0));if((t-e)/n===Infinity)throw new Error("infinite range");var r=[],i=E(w(n)),s=-1,o;e*=i,t*=i,n*=i;if(n<0)while((o=e+n*++s)>t)r.push(o/i);else while((o=e+n*++s)<t)r.push(o/i);return r},e.map=function(e,t){var n=new x;if(e instanceof x)e.forEach(function(e,t){n.set(e,t)});else if(Array.isArray(e)){var r=-1,i=e.length,s;if(arguments.length===1)while(++r<i)n.set(r,e[r]);else while(++r<i)n.set(t.call(e,s=e[r],r),s)}else for(var o in e)n.set(o,e[o]);return n};var T="__proto__",N="\0";S(x,{has:L,get:function(e){return this._[C(e)]},set:function(e,t){return this._[C(e)]=t},remove:A,keys:O,values:function(){var e=[];for(var t in this._)e.push(this._[t]);return e},entries:function(){var e=[];for(var t in this._)e.push({key:k(t),value:this._[t]});return e},size:M,empty:_,forEach:function(e){for(var t in this._)e.call(this,k(t),this._[t])}}),e.nest=function(){function o(e,r,u){if(u>=n.length)return s?s.call(t,r):i?r.sort(i):r;var a=-1,f=r.length,l=n[u++],c,h,p,d=new x,v;while(++a<f)(v=d.get(c=l(h=r[a])))?v.push(h):d.set(c,[h]);return e?(h=e(),p=function(t,n){h.set(t,o(e,n,u))}):(h={},p=function(t,n){h[t]=o(e,n,u)}),d.forEach(p),h}function u(e,t){if(t>=n.length)return e;var i=[],s=r[t++];return e.forEach(function(e,n){i.push({key:e,values:u(n,t)})}),s?i.sort(function(e,t){return s(e.key,t.key)}):i}var t={},n=[],r=[],i,s;return t.map=function(e,t){return o(t,e,0)},t.entries=function(t){return u(o(e.map,t,0),0)},t.key=function(e){return n.push(e),t},t.sortKeys=function(e){return r[n.length-1]=e,t},t.sortValues=function(e){return i=e,t},t.rollup=function(e){return s=e,t},t},e.set=function(e){var t=new D;if(e)for(var n=0,r=e.length;n<r;++n)t.add(e[n]);return t},S(D,{has:L,add:function(e){return this._[C(e+="")]=!0,e},remove:A,values:O,size:M,empty:_,forEach:function(e){for(var t in this._)e.call(this,k(t))}}),e.behavior={},e.rebind=function(e,t){var n=1,r=arguments.length,i;while(++n<r)e[i=arguments[n]]=H(e,t,t[i]);return e};var j=["webkit","ms","moz","Moz","o","O"];e.dispatch=function(){var e=new I,t=-1,n=arguments.length;while(++t<n)e[arguments[t]]=q(e);return e},I.prototype.on=function(e,t){var n=e.indexOf("."),r="";n>=0&&(r=e.slice(n+1),e=e.slice(0,n));if(e)return arguments.length<2?this[e].on(r):this[e].on(r,t);if(arguments.length===2){if(t==null)for(e in this)this.hasOwnProperty(e)&&this[e].on(r,null);return this}},e.event=null,e.requote=function(e){return e.replace(W,"\\$&")};var W=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,X={}.__proto__?function(e,t){e.__proto__=t}:function(e,t){for(var n in t)e[n]=t[n]},$=function(e,t){return t.querySelector(e)},J=function(e,t){return t.querySelectorAll(e)},K=function(e,t){var n=e.matches||e[B(e,"matchesSelector")];return K=function(e,t){return n.call(e,t)},K(e,t)};typeof Sizzle=="function"&&($=function(e,t){return Sizzle(e,t)[0]||null},J=Sizzle,K=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var Q=e.selection.prototype=[];Q.select=function(e){var t=[],n,r,i,s;e=G(e);for(var o=-1,u=this.length;++o<u;){t.push(n=[]),n.parentNode=(i=this[o]).parentNode;for(var a=-1,f=i.length;++a<f;)(s=i[a])?(n.push(r=e.call(s,s.__data__,a,o)),r&&"__data__"in s&&(r.__data__=s.__data__)):n.push(null)}return V(t)},Q.selectAll=function(e){var t=[],n,i;e=Y(e);for(var s=-1,o=this.length;++s<o;)for(var u=this[s],a=-1,f=u.length;++a<f;)if(i=u[a])t.push(n=r(e.call(i,i.__data__,a,s))),n.parentNode=i;return V(t)};var Z="http://www.w3.org/1999/xhtml",et={svg:"http://www.w3.org/2000/svg",xhtml:Z,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:et,qualify:function(e){var t=e.indexOf(":"),n=e;return t>=0&&(n=e.slice(0,t))!=="xmlns"&&(e=e.slice(t+1)),et.hasOwnProperty(n)?{space:et[n],local:e}:e}},Q.attr=function(t,n){if(arguments.length<2){if(typeof t=="string"){var r=this.node();return t=e.ns.qualify(t),t.local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(n in t)this.each(tt(n,t[n]));return this}return this.each(tt(t,n))},Q.classed=function(e,t){if(arguments.length<2){if(typeof e=="string"){var n=this.node(),r=(e=it(e)).length,i=-1;if(t=n.classList){while(++i<r)if(!t.contains(e[i]))return!1}else{t=n.getAttribute("class");while(++i<r)if(!rt(e[i]).test(t))return!1}return!0}for(t in e)this.each(st(t,e[t]));return this}return this.each(st(e,t))},Q.style=function(e,t,n){var r=arguments.length;if(r<3){if(typeof e!="string"){r<2&&(t="");for(n in e)this.each(ut(n,e[n],t));return this}if(r<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(e)}n=""}return this.each(ut(e,t,n))},Q.property=function(e,t){if(arguments.length<2){if(typeof e=="string")return this.node()[e];for(t in e)this.each(at(t,e[t]));return this}return this.each(at(e,t))},Q.text=function(e){return arguments.length?this.each(typeof e=="function"?function(){var t=e.apply(this,arguments);this.textContent=t==null?"":t}:e==null?function(){this.textContent=""}:function(){this.textContent=e}):this.node().textContent},Q.html=function(e){return arguments.length?this.each(typeof e=="function"?function(){var t=e.apply(this,arguments);this.innerHTML=t==null?"":t}:e==null?function(){this.innerHTML=""}:function(){this.innerHTML=e}):this.node().innerHTML},Q.append=function(e){return e=ft(e),this.select(function(){return this.appendChild(e.apply(this,arguments))})},Q.insert=function(e,t){return e=ft(e),t=G(t),this.select(function(){return this.insertBefore(e.apply(this,arguments),t.apply(this,arguments)||null)})},Q.remove=function(){return this.each(lt)},Q.data=function(e,t){function o(e,n){var r,i=e.length,s=n.length,o=Math.min(i,s),l=new Array(s),c=new Array(s),h=new Array(i),p,d;if(t){var v=new x,m=new Array(i),g;for(r=-1;++r<i;)if(p=e[r])v.has(g=t.call(p,p.__data__,r))?h[r]=p:v.set(g,p),m[r]=g;for(r=-1;++r<s;)(p=v.get(g=t.call(n,d=n[r],r)))?p!==!0&&(l[r]=p,p.__data__=d):c[r]=ct(d),v.set(g,!0);for(r=-1;++r<i;)r in m&&v.get(m[r])!==!0&&(h[r]=e[r])}else{for(r=-1;++r<o;)p=e[r],d=n[r],p?(p.__data__=d,l[r]=p):c[r]=ct(d);for(;r<s;++r)c[r]=ct(n[r]);for(;r<i;++r)h[r]=e[r]}c.update=l,c.parentNode=l.parentNode=h.parentNode=e.parentNode,u.push(c),a.push(l),f.push(h)}var n=-1,r=this.length,i,s;if(!arguments.length){e=new Array(r=(i=this[0]).length);while(++n<r)if(s=i[n])e[n]=s.__data__;return e}var u=vt([]),a=V([]),f=V([]);if(typeof e=="function")while(++n<r)o(i=this[n],e.call(i,i.parentNode.__data__,n));else while(++n<r)o(i=this[n],e);return a.enter=function(){return u},a.exit=function(){return f},a},Q.datum=function(e){return arguments.length?this.property("__data__",e):this.property("__data__")},Q.filter=function(e){var t=[],n,r,i;typeof e!="function"&&(e=ht(e));for(var s=0,o=this.length;s<o;s++){t.push(n=[]),n.parentNode=(r=this[s]).parentNode;for(var u=0,a=r.length;u<a;u++)(i=r[u])&&e.call(i,i.__data__,u,s)&&n.push(i)}return V(t)},Q.order=function(){for(var e=-1,t=this.length;++e<t;)for(var n=this[e],r=n.length-1,i=n[r],s;--r>=0;)if(s=n[r])i&&i!==s.nextSibling&&i.parentNode.insertBefore(s,i),i=s;return this},Q.sort=function(e){e=pt.apply(this,arguments);for(var t=-1,n=this.length;++t<n;)this[t].sort(e);return this.order()},Q.each=function(e){return dt(this,function(t,n,r){e.call(t,t.__data__,n,r)})},Q.call=function(e){var t=r(arguments);return e.apply(t[0]=this,t),this},Q.empty=function(){return!this.node()},Q.node=function(){for(var e=0,t=this.length;e<t;e++)for(var n=this[e],r=0,i=n.length;r<i;r++){var s=n[r];if(s)return s}return null},Q.size=function(){var e=0;return dt(this,function(){++e}),e};var mt=[];e.selection.enter=vt,e.selection.enter.prototype=mt,mt.append=Q.append,mt.empty=Q.empty,mt.node=Q.node,mt.call=Q.call,mt.size=Q.size,mt.select=function(e){var t=[],n,r,i,s,o;for(var u=-1,a=this.length;++u<a;){i=(s=this[u]).update,t.push(n=[]),n.parentNode=s.parentNode;for(var f=-1,l=s.length;++f<l;)(o=s[f])?(n.push(i[f]=r=e.call(s.parentNode,o.__data__,f,u)),r.__data__=o.__data__):n.push(null)}return V(t)},mt.insert=function(e,t){return arguments.length<2&&(t=gt(this)),Q.insert.call(this,e,t)},e.select=function(e){var t;return typeof e=="string"?(t=[$(e,i)],t.parentNode=i.documentElement):(t=[e],t.parentNode=s(e)),V([t])},e.selectAll=function(e){var t;return typeof e=="string"?(t=r(J(e,i)),t.parentNode=i.documentElement):(t=r(e),t.parentNode=null),V([t])},Q.on=function(e,t,n){var r=arguments.length;if(r<3){if(typeof e!="string"){r<2&&(t=!1);for(n in e)this.each(yt(n,e[n],t));return this}if(r<2)return(r=this.node()["__on"+e])&&r._;n=!1}return this.each(yt(e,t,n))};var bt=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});i&&bt.forEach(function(e){"on"+e in i&&bt.remove(e)});var St,xt=0;e.mouse=function(e){return Ct(e,U())};var Nt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;e.touch=function(e,t,n){arguments.length<3&&(n=t,t=U().changedTouches);if(t)for(var r=0,i=t.length,s;r<i;++r)if((s=t[r]).identifier===n)return Ct(e,s)},e.behavior.drag=function(){function s(){this.on("mousedown.drag",r).on("touchstart.drag",i)}function u(r,i,s,o,u){return function(){function b(){var e=i(l,p),t,n;if(!e)return;t=e[0]-y[0],n=e[1]-y[1],h|=t|n,y=e,c({type:"drag",x:e[0]+v[0],y:e[1]+v[1],dx:t,dy:n})}function w(){if(!i(l,p))return;m.on(o+d,null).on(u+d,null),g(h),c({type:"dragend"})}var a=this,f=e.event.target.correspondingElement||e.event.target,l=a.parentNode,c=t.of(a,arguments),h=0,p=r(),d=".drag"+(p==null?"":"-"+p),v,m=e.select(s(f)).on(o+d,b).on(u+d,w),g=Tt(f),y=i(l,p);n?(v=n.apply(a,arguments),v=[v.x-y[0],v.y-y[1]]):v=[0,0],c({type:"dragstart"})}}var t=z(s,"drag","dragstart","dragend"),n=null,r=u(F,e.mouse,o,"mousemove","mouseup"),i=u(kt,e.touch,P,"touchmove","touchend");return s.origin=function(e){return arguments.length?(n=e,s):n},e.rebind(s,t,"on")},e.touches=function(e,t){return arguments.length<2&&(t=U().touches),t?r(t).map(function(t){var n=Ct(e,t);return n.identifier=t.identifier,n}):[]};var Lt=1e-6,At=Lt*Lt,Ot=Math.PI,Mt=2*Ot,_t=Mt-Lt,Dt=Ot/2,Pt=Ot/180,Ht=180/Ot,Wt=Math.SQRT2,Xt=2,Vt=4;e.interpolateZoom=function(e,t){var n=e[0],r=e[1],i=e[2],s=t[0],o=t[1],u=t[2],a=s-n,f=o-r,l=a*a+f*f,c,h;if(l<At)h=Math.log(u/i)/Wt,c=function(e){return[n+e*a,r+e*f,i*Math.exp(Wt*e*h)]};else{var p=Math.sqrt(l),d=(u*u-i*i+Vt*l)/(2*i*Xt*p),v=(u*u-i*i-Vt*l)/(2*u*Xt*p),m=Math.log(Math.sqrt(d*d+1)-d),g=Math.log(Math.sqrt(v*v+1)-v);h=(g-m)/Wt,c=function(e){var t=e*h,s=Rt(m),o=i/(Xt*p)*(s*Ut(Wt*t+m)-qt(m));return[n+o*a,r+o*f,i*s/Rt(Wt*t+m)]}}return c.duration=h*1e3,c},e.behavior.zoom=function(){function S(e){e.on(c,_).on(Kt+".zoom",P).on("dblclick.zoom",H).on(v,D)}function x(e){return[(e[0]-t.x)/t.k,(e[1]-t.y)/t.k]}function T(e){return[e[0]*t.k+t.x,e[1]*t.k+t.y]}function N(e){t.k=Math.max(a[0],Math.min(a[1],e))}function C(e,n){n=T(n),t.x+=e[0]-n[0],t.y+=e[1]-n[1]}function k(n,i,s,o){n.__chart__={x:t.x,y:t.y,k:t.k},N(Math.pow(2,o)),C(r=i,s),n=e.select(n),f>0&&(n=n.transition().duration(f)),n.call(S.event)}function L(){b&&b.domain(y.range().map(function(e){return(e-t.x)/t.k}).map(y.invert)),E&&E.domain(w.range().map(function(e){return(e-t.y)/t.k}).map(w.invert))}function A(e){l++||e({type:"zoomstart"})}function O(e){L(),e({type:"zoom",scale:t.k,translate:[t.x,t.y]})}function M(e){--l||(e({type:"zoomend"}),r=null)}function _(){function a(){r=1,C(e.mouse(t),s),O(n)}function f(){i.on(h,null).on(p,null),u(r),M(n)}var t=this,n=g.of(t,arguments),r=0,i=e.select(o(t)).on(h,a).on(p,f),s=x(e.mouse(t)),u=Tt(t);Af.call(t),A(n)}function D(){function d(){var r=e.touches(n);return o=t.k,r.forEach(function(e){e.identifier in i&&(i[e.identifier]=x(e))}),r}function y(){var r=e.event.target;e.select(r).on(a,b).on(f,w),l.push(r);var o=e.event.changedTouches;for(var u=0,c=o.length;u<c;++u)i[o[u].identifier]=null;var h=d(),p=Date.now();if(h.length===1){if(p-m<500){var v=h[0];k(n,v,i[v.identifier],Math.floor(Math.log(t.k)/Math.LN2)+1),R()}m=p}else if(h.length>1){var v=h[0],g=h[1],y=v[0]-g[0],E=v[1]-g[1];s=y*y+E*E}}function b(){var t=e.touches(n),u,a,f,l;Af.call(n);for(var c=0,h=t.length;c<h;++c,l=null){f=t[c];if(l=i[f.identifier]){if(a)break;u=f,a=l}}if(l){var p=(p=f[0]-u[0])*p+(p=f[1]-u[1])*p,d=s&&Math.sqrt(p/s);u=[(u[0]+f[0])/2,(u[1]+f[1])/2],a=[(a[0]+
l[0])/2,(a[1]+l[1])/2],N(d*o)}m=null,C(u,a),O(r)}function w(){if(e.event.touches.length){var t=e.event.changedTouches;for(var n=0,s=t.length;n<s;++n)delete i[t[n].identifier];for(var o in i)return void d()}e.selectAll(l).on(u,null),h.on(c,_).on(v,D),p(),M(r)}var n=this,r=g.of(n,arguments),i={},s=0,o,u=".zoom-"+e.event.changedTouches[0].identifier,a="touchmove"+u,f="touchend"+u,l=[],h=e.select(n),p=Tt(n);y(),A(r),h.on(c,null).on(v,y)}function P(){var i=g.of(this,arguments);d?clearTimeout(d):(Af.call(this),n=x(r=s||e.mouse(this)),A(i)),d=setTimeout(function(){d=null,M(i)},50),R(),N(Math.pow(2,Jt()*.002)*t.k),C(r,n),O(i)}function H(){var n=e.mouse(this),r=Math.log(t.k)/Math.LN2;k(this,n,x(n),e.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}var t={x:0,y:0,k:1},n,r,s,u=[960,500],a=$t,f=250,l=0,c="mousedown.zoom",h="mousemove.zoom",p="mouseup.zoom",d,v="touchstart.zoom",m,g=z(S,"zoomstart","zoom","zoomend"),y,b,w,E;return Kt||(Kt="onwheel"in i?(Jt=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in i?(Jt=function(){return e.event.wheelDelta},"mousewheel"):(Jt=function(){return-e.event.detail},"MozMousePixelScroll")),S.event=function(n){n.each(function(){var n=g.of(this,arguments),i=t;Pf?e.select(this).transition().each("start.zoom",function(){t=this.__chart__||{x:0,y:0,k:1},A(n)}).tween("zoom:zoom",function(){var s=u[0],o=u[1],a=r?r[0]:s/2,f=r?r[1]:o/2,l=e.interpolateZoom([(a-t.x)/t.k,(f-t.y)/t.k,s/t.k],[(a-i.x)/i.k,(f-i.y)/i.k,s/i.k]);return function(e){var r=l(e),i=s/r[2];this.__chart__=t={x:a-r[0]*i,y:f-r[1]*i,k:i},O(n)}}).each("interrupt.zoom",function(){M(n)}).each("end.zoom",function(){M(n)}):(this.__chart__=t,A(n),O(n),M(n))})},S.translate=function(e){return arguments.length?(t={x:+e[0],y:+e[1],k:t.k},L(),S):[t.x,t.y]},S.scale=function(e){return arguments.length?(t={x:t.x,y:t.y,k:null},N(+e),L(),S):t.k},S.scaleExtent=function(e){return arguments.length?(a=e==null?$t:[+e[0],+e[1]],S):a},S.center=function(e){return arguments.length?(s=e&&[+e[0],+e[1]],S):s},S.size=function(e){return arguments.length?(u=e&&[+e[0],+e[1]],S):u},S.duration=function(e){return arguments.length?(f=+e,S):f},S.x=function(e){return arguments.length?(b=e,y=e.copy(),t={x:0,y:0,k:1},S):b},S.y=function(e){return arguments.length?(E=e,w=e.copy(),t={x:0,y:0,k:1},S):E},e.rebind(S,g,"on")};var $t=[0,Infinity],Jt,Kt;e.color=Qt,Qt.prototype.toString=function(){return this.rgb()+""},e.hsl=Gt;var Yt=Gt.prototype=new Qt;Yt.brighter=function(e){return e=Math.pow(.7,arguments.length?e:1),new Gt(this.h,this.s,this.l/e)},Yt.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new Gt(this.h,this.s,e*this.l)},Yt.rgb=function(){return Zt(this.h,this.s,this.l)},e.hcl=en;var tn=en.prototype=new Qt;tn.brighter=function(e){return new en(this.h,this.c,Math.min(100,this.l+sn*(arguments.length?e:1)))},tn.darker=function(e){return new en(this.h,this.c,Math.max(0,this.l-sn*(arguments.length?e:1)))},tn.rgb=function(){return nn(this.h,this.c,this.l).rgb()},e.lab=rn;var sn=18,on=.95047,un=1,an=1.08883,fn=rn.prototype=new Qt;fn.brighter=function(e){return new rn(Math.min(100,this.l+sn*(arguments.length?e:1)),this.a,this.b)},fn.darker=function(e){return new rn(Math.max(0,this.l-sn*(arguments.length?e:1)),this.a,this.b)},fn.rgb=function(){return ln(this.l,this.a,this.b)},e.rgb=vn;var yn=vn.prototype=new Qt;yn.brighter=function(e){e=Math.pow(.7,arguments.length?e:1);var t=this.r,n=this.g,r=this.b,i=30;return!t&&!n&&!r?new vn(i,i,i):(t&&t<i&&(t=i),n&&n<i&&(n=i),r&&r<i&&(r=i),new vn(Math.min(255,t/e),Math.min(255,n/e),Math.min(255,r/e)))},yn.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new vn(e*this.r,e*this.g,e*this.b)},yn.hsl=function(){return En(this.r,this.g,this.b)},yn.toString=function(){return"#"+bn(this.r)+bn(this.g)+bn(this.b)};var Nn=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Nn.forEach(function(e,t){Nn.set(e,mn(t))}),e.functor=Cn,e.xhr=kn(P),e.dsv=function(e,t){function i(e,n,r){arguments.length<3&&(r=n,n=null);var i=Ln(e,t,n==null?s:o(n),r);return i.row=function(e){return arguments.length?i.response((n=e)==null?s:o(e)):n},i}function s(e){return i.parse(e.responseText)}function o(e){return function(t){return i.parse(t.responseText,e)}}function u(t){return t.map(a).join(e)}function a(e){return n.test(e)?'"'+e.replace(/\"/g,'""')+'"':e}var n=new RegExp('["'+e+"\n]"),r=e.charCodeAt(0);return i.parse=function(e,t){var n;return i.parseRows(e,function(e,r){if(n)return n(e,r-1);var i=new Function("d","return {"+e.map(function(e,t){return JSON.stringify(e)+": d["+t+"]"}).join(",")+"}");n=t?function(e,n){return t(i(e),n)}:i})},i.parseRows=function(e,t){function c(){if(u>=o)return i;if(l)return l=!1,n;var t=u;if(e.charCodeAt(t)===34){var s=t;while(s++<o)if(e.charCodeAt(s)===34){if(e.charCodeAt(s+1)!==34)break;++s}u=s+2;var a=e.charCodeAt(s+1);return a===13?(l=!0,e.charCodeAt(s+2)===10&&++u):a===10&&(l=!0),e.slice(t+1,s).replace(/""/g,'"')}while(u<o){var a=e.charCodeAt(u++),f=1;if(a===10)l=!0;else if(a===13)l=!0,e.charCodeAt(u)===10&&(++u,++f);else if(a!==r)continue;return e.slice(t,u-f)}return e.slice(t)}var n={},i={},s=[],o=e.length,u=0,a=0,f,l;while((f=c())!==i){var h=[];while(f!==n&&f!==i)h.push(f),f=c();if(t&&(h=t(h,a++))==null)continue;s.push(h)}return s},i.format=function(t){if(Array.isArray(t[0]))return i.formatRows(t);var n=new D,r=[];return t.forEach(function(e){for(var t in e)n.has(t)||r.push(n.add(t))}),[r.map(a).join(e)].concat(t.map(function(t){return r.map(function(e){return a(t[e])}).join(e)})).join("\n")},i.formatRows=function(e){return e.map(u).join("\n")},i},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var Mn,_n,Dn,Pn,Hn=this[B(this,"requestAnimationFrame")]||function(e){setTimeout(e,17)};e.timer=function(){Bn.apply(this,arguments)},e.timer.flush=function(){Fn(),In()},e.round=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)};var Rn=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Un);e.formatPrefix=function(t,n){var r=0;if(t=+t)t<0&&(t*=-1),n&&(t=e.round(t,qn(t,n))),r=1+Math.floor(1e-12+Math.log(t)/Math.LN10),r=Math.max(-24,Math.min(24,Math.floor((r-1)/3)*3));return Rn[8+r/3]};var Wn=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Xn=e.map({b:function(e){return e.toString(2)},c:function(e){return String.fromCharCode(e)},o:function(e){return e.toString(8)},x:function(e){return e.toString(16)},X:function(e){return e.toString(16).toUpperCase()},g:function(e,t){return e.toPrecision(t)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},r:function(t,n){return(t=e.round(t,qn(t,n))).toFixed(Math.max(0,Math.min(20,qn(t*(1+1e-15),n))))}}),$n=e.time={},Jn=Date;Kn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Qn.setUTCDate.apply(this._,arguments)},setDay:function(){Qn.setUTCDay.apply(this._,arguments)},setFullYear:function(){Qn.setUTCFullYear.apply(this._,arguments)},setHours:function(){Qn.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Qn.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Qn.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Qn.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Qn.setUTCSeconds.apply(this._,arguments)},setTime:function(){Qn.setTime.apply(this._,arguments)}};var Qn=Date.prototype;$n.year=Gn(function(e){return e=$n.day(e),e.setMonth(0,1),e},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e){return e.getFullYear()}),$n.years=$n.year.range,$n.years.utc=$n.year.utc.range,$n.day=Gn(function(e){var t=new Jn(2e3,0);return t.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),t},function(e,t){e.setDate(e.getDate()+t)},function(e){return e.getDate()-1}),$n.days=$n.day.range,$n.days.utc=$n.day.utc.range,$n.dayOfYear=function(e){var t=$n.year(e);return Math.floor((e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(e,t){t=7-t;var n=$n[e]=Gn(function(e){return(e=$n.day(e)).setDate(e.getDate()-(e.getDay()+t)%7),e},function(e,t){e.setDate(e.getDate()+Math.floor(t)*7)},function(e){var n=$n.year(e).getDay();return Math.floor(($n.dayOfYear(e)+(n+t)%7)/7)-(n!==t)});$n[e+"s"]=n.range,$n[e+"s"].utc=n.utc.range,$n[e+"OfYear"]=function(e){var n=$n.year(e).getDay();return Math.floor(($n.dayOfYear(e)+(n+t)%7)/7)}}),$n.week=$n.sunday,$n.weeks=$n.sunday.range,$n.weeks.utc=$n.sunday.utc.range,$n.weekOfYear=$n.sundayOfYear;var er={"-":"",_:" ",0:"0"},tr=/^\s*\d+/,nr=/^%/;e.locale=function(e){return{numberFormat:zn(e),timeFormat:Zn(e)}};var xr=e.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});e.format=xr.numberFormat,e.geo={},Tr.prototype={s:0,t:0,add:function(e){Cr(e,this.t,Nr),Cr(Nr.s,this.s,this),this.s?this.t+=Nr.t:this.s=Nr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var Nr=new Tr;e.geo.stream=function(e,t){e&&Lr.hasOwnProperty(e.type)?Lr[e.type](e,t):kr(e,t)};var Lr={Feature:function(e,t){kr(e.geometry,t)},FeatureCollection:function(e,t){var n=e.features,r=-1,i=n.length;while(++r<i)kr(n[r].geometry,t)}},Ar={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){var n=e.coordinates,r=-1,i=n.length;while(++r<i)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){Or(e.coordinates,t,0)},MultiLineString:function(e,t){var n=e.coordinates,r=-1,i=n.length;while(++r<i)Or(n[r],t,0)},Polygon:function(e,t){Mr(e.coordinates,t)},MultiPolygon:function(e,t){var n=e.coordinates,r=-1,i=n.length;while(++r<i)Mr(n[r],t)},GeometryCollection:function(e,t){var n=e.geometries,r=-1,i=n.length;while(++r<i)kr(n[r],t)}};e.geo.area=function(t){return _r=0,e.geo.stream(t,Pr),_r};var _r,Dr=new Tr,Pr={sphere:function(){_r+=4*Ot},point:F,lineStart:F,lineEnd:F,polygonStart:function(){Dr.reset(),Pr.lineStart=Hr},polygonEnd:function(){var e=2*Dr;_r+=e<0?4*Ot+e:e,Pr.lineStart=Pr.lineEnd=Pr.point=F}};e.geo.bounds=function(){function p(e,s){l.push(c=[t=e,r=e]),s<n&&(n=s),s>i&&(i=s)}function d(e,o){var u=Br([e*Pt,o*Pt]);if(a){var f=Fr(a,u),l=[f[1],-f[0],0],c=Fr(l,f);Rr(c),c=Ur(c);var h=e-s,d=h>0?1:-1,v=c[0]*Ht*d,m=w(h)>180;if(m^(d*s<v&&v<d*e)){var g=c[1]*Ht;g>i&&(i=g)}else if(v=(v+360)%360-180,m^(d*s<v&&v<d*e)){var g=-c[1]*Ht;g<n&&(n=g)}else o<n&&(n=o),o>i&&(i=o);m?e<s?E(t,e)>E(t,r)&&(r=e):E(e,r)>E(t,r)&&(t=e):r>=t?(e<t&&(t=e),e>r&&(r=e)):e>s?E(t,e)>E(t,r)&&(r=e):E(e,r)>E(t,r)&&(t=e)}else p(e,o);a=u,s=e}function v(){h.point=d}function m(){c[0]=t,c[1]=r,h.point=p,a=null}function g(e,t){if(a){var n=e-s;f+=w(n)>180?n+(n>0?360:-360):n}else o=e,u=t;Pr.point(e,t),d(e,t)}function y(){Pr.lineStart()}function b(){g(o,u),Pr.lineEnd(),w(f)>Lt&&(t=-(r=180)),c[0]=t,c[1]=r,a=null}function E(e,t){return(t-=e)<0?t+360:t}function S(e,t){return e[0]-t[0]}function x(e,t){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}var t,n,r,i,s,o,u,a,f,l,c,h={point:p,lineStart:v,lineEnd:m,polygonStart:function(){h.point=g,h.lineStart=y,h.lineEnd=b,f=0,Pr.polygonStart()},polygonEnd:function(){Pr.polygonEnd(),h.point=p,h.lineStart=v,h.lineEnd=m,Dr<0?(t=-(r=180),n=-(i=90)):f>Lt?i=90:f<-Lt&&(n=-90),c[0]=t,c[1]=r}};return function(s){i=r=-(t=n=Infinity),l=[],e.geo.stream(s,h);var o=l.length;if(o){l.sort(S);for(var u=1,a=l[0],f,p=[a];u<o;++u)f=l[u],x(f[0],a)||x(f[1],a)?(E(a[0],f[1])>E(a[0],a[1])&&(a[1]=f[1]),E(f[0],a[1])>E(a[0],a[1])&&(a[0]=f[0])):p.push(a=f);var d=-Infinity,v;for(var o=p.length-1,u=0,a=p[o],f;u<=o;a=f,++u)f=p[u],(v=E(a[1],f[0]))>d&&(d=v,t=f[0],r=a[1])}return l=c=null,t===Infinity||n===Infinity?[[NaN,NaN],[NaN,NaN]]:[[t,n],[r,i]]}}(),e.geo.centroid=function(t){Wr=Xr=Vr=$r=Jr=Kr=Qr=Gr=Yr=Zr=ei=0,e.geo.stream(t,ti);var n=Yr,r=Zr,i=ei,s=n*n+r*r+i*i;if(s<At){n=Kr,r=Qr,i=Gr,Xr<Lt&&(n=Vr,r=$r,i=Jr),s=n*n+r*r+i*i;if(s<At)return[NaN,NaN]}return[Math.atan2(r,n)*Ht,It(i/Math.sqrt(s))*Ht]};var Wr,Xr,Vr,$r,Jr,Kr,Qr,Gr,Yr,Zr,ei,ti={sphere:F,point:ni,lineStart:ii,lineEnd:si,polygonStart:function(){ti.lineStart=oi},polygonEnd:function(){ti.lineStart=ii}},mi=hi(ai,gi,bi,[-Ot,-Ot/2]),xi=1e9;e.geo.clipExtent=function(){var e,t,n,r,i,s,o={stream:function(e){return i&&(i.valid=!1),i=s(e),i.valid=!0,i},extent:function(u){return arguments.length?(s=Ti(e=+u[0][0],t=+u[0][1],n=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),o):[[e,t],[n,r]]}};return o.extent([[0,0],[960,500]])},(e.geo.conicEqualArea=function(){return Ni(Ci)}).raw=Ci,e.geo.albers=function(){return e.geo.conicEqualArea().rotate([96,0]).center([-0.6,38.7]).parallels([29.5,45.5]).scale(1070)},e.geo.albersUsa=function(){function f(e){var t=e[0],n=e[1];return i=null,(o(t,n),i)||(u(t,n),i)||a(t,n),i}var t=e.geo.albers(),n=e.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),r=e.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i,s={point:function(e,t){i=[e,t]}},o,u,a;return f.invert=function(e){var i=t.scale(),s=t.translate(),o=(e[0]-s[0])/i,u=(e[1]-s[1])/i;return(u>=.12&&u<.234&&o>=-0.425&&o<-0.214?n:u>=.166&&u<.234&&o>=-0.214&&o<-0.115?r:t).invert(e)},f.stream=function(e){var i=t.stream(e),s=n.stream(e),o=r.stream(e);return{point:function(e,t){i.point(e,t),s.point(e,t),o.point(e,t)},sphere:function(){i.sphere(),s.sphere(),o.sphere()},lineStart:function(){i.lineStart(),s.lineStart(),o.lineStart()},lineEnd:function(){i.lineEnd(),s.lineEnd(),o.lineEnd()},polygonStart:function(){i.polygonStart(),s.polygonStart(),o.polygonStart()},polygonEnd:function(){i.polygonEnd(),s.polygonEnd(),o.polygonEnd()}}},f.precision=function(e){return arguments.length?(t.precision(e),n.precision(e),r.precision(e),f):t.precision()},f.scale=function(e){return arguments.length?(t.scale(e),n.scale(e*.35),r.scale(e),f.translate(t.translate())):t.scale()},f.translate=function(e){if(!arguments.length)return t.translate();var i=t.scale(),l=+e[0],c=+e[1];return o=t.translate(e).clipExtent([[l-.455*i,c-.238*i],[l+.455*i,c+.238*i]]).stream(s).point,u=n.translate([l-.307*i,c+.201*i]).clipExtent([[l-.425*i+Lt,c+.12*i+Lt],[l-.214*i-Lt,c+.234*i-Lt]]).stream(s).point,a=r.translate([l-.205*i,c+.212*i]).clipExtent([[l-.214*i+Lt,c+.166*i+Lt],[l-.115*i-Lt,c+.234*i-Lt]]).stream(s).point,f},f.scale(1070)};var ki,Li,Ai={point:F,lineStart:F,lineEnd:F,polygonStart:function(){Li=0,Ai.lineStart=Oi},polygonEnd:function(){Ai.lineStart=Ai.lineEnd=Ai.point=F,ki+=w(Li/2)}},Mi,_i,Di,Pi,Hi={point:Bi,lineStart:F,lineEnd:F,polygonStart:F,polygonEnd:F},Ii={point:qi,lineStart:Ri,lineEnd:Ui,polygonStart:function(){Ii.lineStart=zi},polygonEnd:function(){Ii.point=qi,Ii.lineStart=Ri,Ii.lineEnd=Ui}};e.geo.path=function(){function u(n){if(n){typeof t=="function"&&s.pointRadius(+t.apply(this,arguments));if(!o||!o.valid)o=i(s);e.geo.stream(n,o)}return s.result()}function a(){return o=null,u}var t=4.5,n,r,i,s,o;return u.area=function(t){return ki=0,e.geo.stream(t,i(Ai)),ki},u.centroid=function(t){return Vr=$r=Jr=Kr=Qr=Gr=Yr=Zr=ei=0,e.geo.stream(t,i(Ii)),ei?[Yr/ei,Zr/ei]:Gr?[Kr/Gr,Qr/Gr]:Jr?[Vr/Jr,$r/Jr]:[NaN,NaN]},u.bounds=function(t){return Di=Pi=-(Mi=_i=Infinity),e.geo.stream(t,i(Hi)),[[Mi,_i],[Di,Pi]]},u.projection=function(e){return arguments.length?(i=(n=e)?e.stream||Vi(e):P,a()):n},u.context=function(e){return arguments.length?(s=(r=e)==null?new ji:new Wi(e),typeof t!="function"&&s.pointRadius(t),a()):r},u.pointRadius=function(e){return arguments.length?(t=typeof e=="function"?e:(s.pointRadius(+e),+e),u):t},u.projection(e.geo.albersUsa()).context(null)},e.geo.transform=function(e){return{stream:function(t){var n=new $i(t);for(var r in e)n[r]=e[r];return n}}},$i.prototype={point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},e.geo.projection=Ki,e.geo.projectionMutator=Qi,(e.geo.equirectangular=function(){return Ki(Yi)}).raw=Yi.invert=Yi,e.geo.rotation=function(e){function t(t){return t=e(t[0]*Pt,t[1]*Pt),t[0]*=Ht,t[1]*=Ht,t}return e=es(e[0]%360*Pt,e[1]*Pt,e.length>2?e[2]*Pt:0),t.invert=function(t){return t=e.invert(t[0]*Pt,t[1]*Pt),t[0]*=Ht,t[1]*=Ht,t},t},Zi.invert=Yi,e.geo.circle=function(){function i(){var t=typeof e=="function"?e.apply(this,arguments):e,n=es(-t[0]*Pt,-t[1]*Pt,0).invert,i=[];return r(null,null,1,{point:function(e,t){i.push(e=n(e,t)),e[0]*=Ht,e[1]*=Ht}}),{type:"Polygon",coordinates:[i]}}var e=[0,0],t,n=6,r;return i.origin=function(t){return arguments.length?(e=t,i):e},i.angle=function(e){return arguments.length?(r=is((t=+e)*Pt,n*Pt),i):t},i.precision=function(e){return arguments.length?(r=is(t*Pt,(n=+e)*Pt),i):n},i.angle(90)},e.geo.distance=function(e,t){var n=(t[0]-e[0])*Pt,r=e[1]*Pt,i=t[1]*Pt,s=Math.sin(n),o=Math.cos(n),u=Math.sin(r),a=Math.cos(r),f=Math.sin(i),l=Math.cos(i),c;return Math.atan2(Math.sqrt((c=l*s)*c+(c=a*f-u*l*o)*c),u*f+a*l*o)},e.geo.graticule=function(){function y(){return{type:"MultiLineString",coordinates:b()}}function b(){return e.range(Math.ceil(i/c)*c,r,c).map(v).concat(e.range(Math.ceil(a/h)*h,u,h).map(m)).concat(e.range(Math.ceil(n/f)*f,t,f).filter(function(e){return w(e%c)>Lt}).map(p)).concat(e.range(Math.ceil(o/l)*l,s,l).filter(function(e){return w(e%h)>Lt}).map(d))}var t,n,r,i,s,o,u,a,f=10,l=f,c=90,h=360,p,d,v,m,g=2.5;return y.lines=function(){return b().map(function(e){return{type:"LineString",coordinates:e}})},y.outline=function(){return{type:"Polygon",coordinates:[v(i).concat(m(u).slice(1),v(r).reverse().slice(1),m(a).reverse().slice(1))]}},y.extent=function(e){return arguments.length?y.majorExtent(e).minorExtent(e):y.minorExtent()},y.majorExtent=function(e){return arguments.length?(i=+e[0][0],r=+e[1][0],a=+e[0][1],u=+e[1][1],i>r&&(e=i,i=r,r=e),a>u&&(e=a,a=u,u=e),y.precision(g)):[[i,a],[r,u]]},y.minorExtent=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],o=+e[0][1],s=+e[1][1],n>t&&(e=n,n=t,t=e),o>s&&(e=o,o=s,s=e),y.precision(g)):[[n,o],[t,s]]},y.step=function(e){return arguments.length?y.majorStep(e).minorStep(e):y.minorStep()},y.majorStep=function(e){return arguments.length?(c=+e[0],h=+e[1],y):[c,h]},y.minorStep=function(e){return arguments.length?(f=+e[0],l=+e[1],y):[f,l]},y.precision=function(e){return arguments.length?(g=+e,p=os(o,s,90),d=us(n,t,g),v=os(a,u,90),m=us(i,r,g),y):g},y.majorExtent([[-180,-90+Lt],[180,90-Lt]]).minorExtent([[-180,-80-Lt],[180,80+Lt]])},e.geo.greatArc=function(){function s(){return{type:"LineString",coordinates:[n||t.apply(this,arguments),i||r.apply(this,arguments)]}}var t=as,n,r=fs,i;return s.distance=function(){return e.geo.distance(n||t.apply(this,arguments),i||r.apply(this,arguments))},s.source=function(e){return arguments.length?(t=e,n=typeof e=="function"?null:e,s):t},s.target=function(e){return arguments.length?(r=e,i=typeof e=="function"?null:e,s):r},s.precision=function(){return arguments.length?s:0},s},e.geo.interpolate=function(e,t){return ls(e[0]*Pt,e[1]*Pt,t[0]*Pt,t[1]*Pt)},e.geo.length=function(t){return cs=0,e.geo.stream(t,hs),cs};var cs,hs={sphere:F,point:F,lineStart:ps,lineEnd:F,polygonStart:F,polygonEnd:F},vs=ds(function(e){return Math.sqrt(2/(1+e))},function(e){return 2*Math.asin(e/2)});(e.geo.azimuthalEqualArea=function(){return Ki(vs)}).raw=vs;var ms=ds(function(e){var t=Math.acos(e);return t&&t/Math.sin(t)},P);(e.geo.azimuthalEquidistant=function(){return Ki(ms)}).raw=ms,(e.geo.conicConformal=function(){return Ni(gs)}).raw=gs,(e.geo.conicEquidistant=function(){return Ni(ys)}).raw=ys;var bs=ds(function(e){return 1/e},Math.atan);(e.geo.gnomonic=function(){return Ki(bs)}).raw=bs,ws.invert=function(e,t){return[e,2*Math.atan(Math.exp(t))-Dt]},(e.geo.mercator=function(){return Es(ws)}).raw=ws;var Ss=ds(function(){return 1},Math.asin);(e.geo.orthographic=function(){return Ki(Ss)}).raw=Ss;var xs=ds(function(e){return 1/(1+e)},function(e){return 2*Math.atan(e)});(e.geo.stereographic=function(){return Ki(xs)}).raw=xs,Ts.invert=function(e,t){return[-t,2*Math.atan(Math.exp(e))-Dt]},(e.geo.transverseMercator=function(){var e=Es(Ts),t=e.center,n=e.rotate;return e.center=function(e){return e?t([-e[1],e[0]]):(e=t(),[e[1],-e[0]])},e.rotate=function(e){return e?n([e[0],e[1],e.length>2?e[2]+90:90]):(e=n(),[e[0],e[1],e[2]-90])},n([0,0,90])}).raw=Ts,e.geom={},e.geom.hull=function(e){function r(e){if(e.length<3)return[];var r=Cn(t),i=Cn(n),s,o=e.length,u=[],a=[];for(s=0;s<o;s++)u.push([+r.call(this,e[s],s),+i.call(this,e[s],s),s]);u.sort(Ls);for(s=0;s<o;s++)a.push([u[s][0],-u[s][1]]);var f=ks(u),l=ks(a),c=l[0]===f[0],h=l[l.length-1]===f[f.length-1],p=[];for(s=f.length-1;s>=0;--s)p.push(e[u[f[s]][2]]);for(s=+c;s<l.length-h;++s)p.push(e[u[l[s]][2]]);return p}var t=Ns,n=Cs;return arguments.length?r(e):(r.x=function(e){return arguments.length?(t=e,r):t},r.y=function(e){return arguments.length?(n=e,r):n},r)},e.geom.polygon=function(e){return X(e,As),e};var As=e.geom.polygon.prototype=[];As.area=function(){var e=-1,t=this.length,n,r=this[t-1],i=0;while(++e<t)n=r,r=this[e],i+=n[1]*r[0]-n[0]*r[1];return i*.5},As.centroid=function(e){var t=-1,n=this.length,r=0,i=0,s,o=this[n-1],u;arguments.length||(e=-1/(6*this.area()));while(++t<n)s=o,o=this[t],u=s[0]*o[1]-o[0]*s[1],r+=(s[0]+o[0])*u,i+=(s[1]+o[1])*u;return[r*e,i*e]},As.clip=function(e){var t,n=_s(e),r=-1,i=this.length-_s(this),s,o,u=this[i-1],a,f,l;while(++r<i){t=e.slice(),e.length=0,a=this[r],f=t[(o=t.length-n)-1],s=-1;while(++s<o)l=t[s],Os(l,u,a)?(Os(f,u,a)||e.push(Ms(f,l,u,a)),e.push(l)):Os(f,u,a)&&e.push(Ms(f,l,u,a)),f=l;n&&e.push(e[0]),u=a}return e};var Ds,Ps,Hs,Bs=[],js,Fs,Is=[];$s.prototype.prepare=function(){var e=this.edges,t=e.length,n;while(t--)n=e[t].edge,(!n.b||!n.a)&&e.splice(t,1);return e.sort(Ks),e.length},so.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},oo.prototype={insert:function(e,t){var n,r,i;if(e){t.P=e,t.N=e.N,e.N&&(e.N.P=t),e.N=t;if(e.R){e=e.R;while(e.L)e=e.L;e.L=t}else e.R=t;n=e}else this._?(e=lo(this._),t.P=null,t.N=e,e.P=e.L=t,n=e):(t.P=t.N=null,this._=t,n=null);t.L=t.R=null,t.U=n,t.C=!0,e=t;while(n&&n.C)r=n.U,n===r.L?(i=r.R,i&&i.C?(n.C=i.C=!1,r.C=!0,e=r):(e===n.R&&(ao(this,n),e=n,n=e.U),n.C=!1,r.C=!0,fo(this,r))):(i=r.L,i&&i.C?(n.C=i.C=!1,r.C=!0,e=r):(e===n.L&&(fo(this,n),e=n,n=e.U),n.C=!1,r.C=!0,ao(this,r))),n=e.U;this._.C=!1},remove:function(e){e.N&&(e.N.P=e.P),e.P&&(e.P.N=e.N),e.N=e.P=null;var t=e.U,n,r=e.L,i=e.R,s,o;r?i?s=lo(i):s=r:s=i,t?t.L===e?t.L=s:t.R=s:this._=s,r&&i?(o=s.C,s.C=e.C,s.L=r,r.U=s,s!==i?(t=s.U,s.U=e.U,e=s.R,t.L=e,s.R=i,i.U=s):(s.U=t,t=s,e=s.R)):(o=e.C,e=s),e&&(e.U=t);if(o)return;if(e&&e.C){e.C=!1;return}do{if(e===this._)break;if(e===t.L){n=t.R,n.C&&(n.C=!1,t.C=!0,ao(this,t),n=t.R);if(n.L&&n.L.C||n.R&&n.R.C){if(!n.R||!n.R.C)n.L.C=!1,n.C=!0,fo(this,n),n=t.R;n.C=t.C,t.C=n.R.C=!1,ao(this,t),e=this._;break}}else{n=t.L,n.C&&(n.C=!1,t.C=!0,fo(this,t),n=t.L);if(n.L&&n.L.C||n.R&&n.R.C){if(!n.L||!n.L.C)n.R.C=!1,n.C=!0,ao(this,n),n=t.L;n.C=t.C,t.C=n.L.C=!1,fo(this,t),e=this._;break}}n.C=!0,e=t,t=t.U}while(!e.C);e&&(e.C=!1)}},e.geom.voronoi=function(e){function o(e){var t=new Array(e.length),n=s[0][0],r=s[0][1],i=s[1][0],o=s[1][1];return co(u(e),s).cells.forEach(function(s,u){var a=s.edges,f=s.site,l=t[u]=a.length?a.map(function(e){var t=e.start();return[t.x,t.y]}):f.x>=n&&f.x<=i&&f.y>=r&&f.y<=o?[[n,o],[i,o],[i,r],[n,r]]:[];l.point=e[u]}),t}function u(e){return e.map(function(e,t){return{x:Math.round(r(e,t)/Lt)*Lt,y:Math.round(i(e,t)/Lt)*Lt,i:t}})}var t=Ns,n=Cs,r=t,i=n,s=po;return e?o(e):(o.links=function(e){return co(u(e)).edges.filter(function(e){return e.l&&e.r}).map(function(t){return{source:e[t.l.i],target:e[t.r.i]}})},o.triangles=function(e){var t=[];return co(u(e)).cells.forEach(function(n,r){var i=n.site,s=n.edges.sort(Ks),o=-1,u=s.length,a,f,l=s[u-1].edge,c=l.l===i?l.r:l.l;while(++o<u)a=l,f=c,l=s[o].edge,c=l.l===i?l.r:l.l,r<f.i&&r<c.i&&vo(i,f,c)<0&&t.push([e[r],e[f.i],e[c.i]])}),t},o.x=function(e){return arguments.length?(r=Cn(t=e),o):t},o.y=function(e){return arguments.length?(i=Cn(n=e),o):n},o.clipExtent=function(e){return arguments.length?(s=e==null?po:e,o):s===po?null:s},o.size=function(e){return arguments.length?o.clipExtent(e&&[[0,0],e]):s===po?null:s&&s[1]},o)};var po=[[-1e6,-1e6],[1e6,1e6]];e.geom.delaunay=function(t){return e.geom.voronoi().triangles(t)},e.geom.quadtree=function(e,t,n,r,i){function a(e){function T(e,t,n,r,i,s,o,u){if(isNaN(n)||isNaN(r))return;if(e.leaf){var a=e.x,f=e.y;if(a!=null)if(w(a-n)+w(f-r)<.01)N(e,t,n,r,i,s,o,u);else{var l=e.point;e.x=e.y=e.point=null,N(e,l,a,f,i,s,o,u),N(e,t,n,r,i,s,o,u)}else e.x=n,e.y=r,e.point=t}else N(e,t,n,r,i,s,o,u)}function N(e,t,n,r,i,s,o,u){var a=(i+o)*.5,f=(s+u)*.5,l=n>=a,c=r>=f,h=c<<1|l;e.leaf=!1,e=e.nodes[h]||(e.nodes[h]=yo()),l?i=a:o=a,c?s=f:u=f,T(e,t,n,r,i,s,o,u)}var a,f=Cn(s),l=Cn(o),c,h,p,d,v,m,g,y;if(t!=null)v=t,m=n,g=r,y=i;else{g=y=-(v=m=Infinity),c=[],h=[],d=e.length;if(u)for(p=0;p<d;++p)a=e[p],a.x<v&&(v=a.x),a.y<m&&(m=a.y),a.x>g&&(g=a.x),a.y>y&&(y=a.y),c.push(a.x),h.push(a.y);else for(p=0;p<d;++p){var b=+f(a=e[p],p),E=+l(a,p);b<v&&(v=b),E<m&&(m=E),b>g&&(g=b),E>y&&(y=E),c.push(b),h.push(E)}}var S=g-v,x=y-m;S>x?y=m+S:g=v+x;var C=yo();C.add=function(e){T(C,e,+f(e,++p),+l(e,p),v,m,g,y)},C.visit=function(e){bo(e,C,v,m,g,y)},C.find=function(e){return wo(C,e[0],e[1],v,m,g,y)},p=-1;if(t==null){while(++p<d)T(C,e[p],c[p],h[p],v,m,g,y);--p}else e.forEach(C.add);return c=h=e=a=null,C}var s=Ns,o=Cs,u;return(u=arguments.length)?(s=mo,o=go,u===3&&(i=n,r=t,n=t=0),a(e)):(a.x=function(e){return arguments.length?(s=e,a):s},a.y=function(e){return arguments.length?(o=e,a):o},a.extent=function(e){return arguments.length?(e==null?t=n=r=i=null:(t=+e[0][0],n=+e[0][1],r=+e[1][0],i=+e[1][1]),a):t==null?null:[[t,n],[r,i]]},a.size=function(e){return arguments.length?(e==null?t=n=r=i=null:(t=n=0,r=+e[0],i=+e[1]),a):t==null?null:[r-t,i-n]},a)},e.interpolateRgb=Eo,e.interpolateObject=So,e.interpolateNumber=xo,e.interpolateString=To;var No=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Co=new RegExp(No.source,"g");e.interpolate=ko,e.interpolators=[function(e,t){var n=typeof t;return(n==="string"?Nn.has(t.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(t)?Eo:To:t instanceof Qt?Eo:Array.isArray(t)?Lo:n==="object"&&isNaN(t)?So:xo)(e,t)}],e.interpolateArray=Lo;var Ao=function(){return P},Oo=e.map({linear:Ao,poly:Fo,quad:function(){return Ho},cubic:function(){return Bo},sin:function(){return Io},exp:function(){return qo},circle:function(){return Ro},elastic:Uo,back:zo,bounce:function(){return Wo}}),Mo=e.map({"in":P,out:Do,"in-out":Po,"out-in":function(e){return Po(Do(e))}});e.ease=function(e){var t=e.indexOf("-"),r=t>=0?e.slice(0,t):e,i=t>=0?e.slice(t+1):"in";return r=Oo.get(r)||Ao,i=Mo.get(i)||P,_o(i(r.apply(null,n.call(arguments,1))))},e.interpolateHcl=Xo,e.interpolateHsl=Vo,e.interpolateLab=$o,e.interpolateRound=Jo,e.transform=function(t){var n=i.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(e){if(e!=null){n.setAttribute("transform",e);var t=n.transform.baseVal.consolidate()}return new Ko(t?t.matrix:Zo)})(t)},Ko.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Zo={a:1,b:0,c:0,d:1,e:0,f:0};e.interpolateTransform=su,e.layout={},e.layout.bundle=function(){return function(e){var t=[],n=-1,r=e.length;while(++n<r)t.push(au(e[n]));return t}},e.layout.chord=function(){function l(){var t={},l=[],h=e.range(s),p=[],d,v,m,g,y;n=[],r=[],d=0,g=-1;while(++g<s){v=0,y=-1;while(++y<s)v+=i[g][y];l.push(v),p.push(e.range(s)),d+=v}u&&h.sort(function(e,t){return u(l[e],l[t])}),a&&p.forEach(function(e,t){e.sort(function(e,n){return a(i[t][e],i[t][n])})}),d=(Mt-o*s)/d,v=0,g=-1;while(++g<s){m=v,y=-1;while(++y<s){var b=h[g],w=p[b][y],E=i[b][w],S=v,x=v+=E*d;t[b+"-"+w]={index:b,subindex:w,startAngle:S,endAngle:x,value:E}}r[b]={index:b,startAngle:m,endAngle:v,value:l[b]},v+=o}g=-1;while(++g<s){y=g-1;while(++y<s){var T=t[g+"-"+y],N=t[y+"-"+g];(T.value||N.value)&&n.push(T.value<N.value?{source:N,target:T}:{source:T,target:N})}}f&&c()}function c(){n.sort(function(e,t){return f((e.source.value+e.target.value)/2,(t.source.value+t.target.value)/2)})}var t={},n,r,i,s,o=0,u,a,f;return t.matrix=function(e){return arguments.length?(s=(i=e)&&i.length,n=r=null,t):i},t.padding=function(e){return arguments.length?(o=e,n=r=null,t):o},t.sortGroups=function(e){return arguments.length?(u=e,n=r=null,t):u},t.sortSubgroups=function(e){return arguments.length?(a=e,n=null,t):a},t.sortChords=function(e){return arguments.length?(f=e,n&&c(),t):f},t.chords=function(){return n||l(),n},t.groups=function(){return r||l(),r},t},e.layout.force=function(){function b(e){return function(t,n,r,i){if(t.point!==e){var s=t.cx-e.x,o=t.cy-e.y,u=i-n,a=s*s+o*o;if(u*u/p<a){if(a<c){var f=t.charge/a;e.px-=s*f,e.py-=o*f}return!0}if(t.point&&a&&a<c){var f=t.pointCharge/a;e.px-=s*f,e.py-=o*f}}return!t.charge}}function w(n){n.px=e.event.x,n.py=e.event.y,t.resume()}var t={},n=e.dispatch("start","tick","end"),r,i=[1,1],s,o,u=.9,a=mu,f=gu,l=-30,c=yu,h=.1,p=.64,d=[],v=[],m,g,y;return t.tick=function(){if((o*=.99)<.005)return r=null,n.end({type:"end",alpha:o=0}),!0;var t=d.length,s=v.length,a
,f,c,p,w,E,S,x,T;for(f=0;f<s;++f){c=v[f],p=c.source,w=c.target,x=w.x-p.x,T=w.y-p.y;if(E=x*x+T*T)E=o*g[f]*((E=Math.sqrt(E))-m[f])/E,x*=E,T*=E,w.x-=x*(S=p.weight+w.weight?p.weight/(p.weight+w.weight):.5),w.y-=T*S,p.x+=x*(S=1-S),p.y+=T*S}if(S=o*h){x=i[0]/2,T=i[1]/2,f=-1;if(S)while(++f<t)c=d[f],c.x+=(x-c.x)*S,c.y+=(T-c.y)*S}if(l){vu(a=e.geom.quadtree(d),o,y),f=-1;while(++f<t)(c=d[f]).fixed||a.visit(b(c))}f=-1;while(++f<t)c=d[f],c.fixed?(c.x=c.px,c.y=c.py):(c.x-=(c.px-(c.px=c.x))*u,c.y-=(c.py-(c.py=c.y))*u);n.tick({type:"tick",alpha:o})},t.nodes=function(e){return arguments.length?(d=e,t):d},t.links=function(e){return arguments.length?(v=e,t):v},t.size=function(e){return arguments.length?(i=e,t):i},t.linkDistance=function(e){return arguments.length?(a=typeof e=="function"?e:+e,t):a},t.distance=t.linkDistance,t.linkStrength=function(e){return arguments.length?(f=typeof e=="function"?e:+e,t):f},t.friction=function(e){return arguments.length?(u=+e,t):u},t.charge=function(e){return arguments.length?(l=typeof e=="function"?e:+e,t):l},t.chargeDistance=function(e){return arguments.length?(c=e*e,t):Math.sqrt(c)},t.gravity=function(e){return arguments.length?(h=+e,t):h},t.theta=function(e){return arguments.length?(p=e*e,t):Math.sqrt(p)},t.alpha=function(e){return arguments.length?(e=+e,o?e>0?o=e:(r.c=null,r.t=NaN,r=null,n.end({type:"end",alpha:o=0})):e>0&&(n.start({type:"start",alpha:o=e}),r=Bn(t.tick)),t):o},t.start=function(){function h(t,i){if(!u){u=new Array(n);for(a=0;a<n;++a)u[a]=[];for(a=0;a<r;++a){var s=v[a];u[s.source.index].push(s.target),u[s.target.index].push(s.source)}}var o=u[e],a=-1,f=o.length,l;while(++a<f)if(!isNaN(l=o[a][t]))return l;return Math.random()*i}var e,n=d.length,r=v.length,s=i[0],o=i[1],u,c;for(e=0;e<n;++e)(c=d[e]).index=e,c.weight=0;for(e=0;e<r;++e)c=v[e],typeof c.source=="number"&&(c.source=d[c.source]),typeof c.target=="number"&&(c.target=d[c.target]),++c.source.weight,++c.target.weight;for(e=0;e<n;++e)c=d[e],isNaN(c.x)&&(c.x=h("x",s)),isNaN(c.y)&&(c.y=h("y",o)),isNaN(c.px)&&(c.px=c.x),isNaN(c.py)&&(c.py=c.y);m=[];if(typeof a=="function")for(e=0;e<r;++e)m[e]=+a.call(this,v[e],e);else for(e=0;e<r;++e)m[e]=a;g=[];if(typeof f=="function")for(e=0;e<r;++e)g[e]=+f.call(this,v[e],e);else for(e=0;e<r;++e)g[e]=f;y=[];if(typeof l=="function")for(e=0;e<n;++e)y[e]=+l.call(this,d[e],e);else for(e=0;e<n;++e)y[e]=l;return t.resume()},t.resume=function(){return t.alpha(.1)},t.stop=function(){return t.alpha(0)},t.drag=function(){s||(s=e.behavior.drag().origin(P).on("dragstart.force",cu).on("drag.force",w).on("dragend.force",hu));if(!arguments.length)return s;this.on("mouseover.force",pu).on("mouseout.force",du).call(s)},e.rebind(t,n,"on")};var mu=20,gu=1,yu=Infinity;e.layout.hierarchy=function(){function r(i){var s=[i],o=[],u;i.depth=0;while((u=s.pop())!=null){o.push(u);if((f=t.call(r,u,u.depth))&&(a=f.length)){var a,f,l;while(--a>=0)s.push(l=f[a]),l.parent=u,l.depth=u.depth+1;n&&(u.value=0),u.children=f}else n&&(u.value=+n.call(r,u,u.depth)||0),delete u.children}return Eu(i,function(t){var r,i;e&&(r=t.children)&&r.sort(e),n&&(i=t.parent)&&(i.value+=t.value)}),o}var e=Tu,t=Su,n=xu;return r.sort=function(t){return arguments.length?(e=t,r):e},r.children=function(e){return arguments.length?(t=e,r):t},r.value=function(e){return arguments.length?(n=e,r):n},r.revalue=function(e){return n&&(wu(e,function(e){e.children&&(e.value=0)}),Eu(e,function(e){var t;e.children||(e.value=+n.call(r,e,e.depth)||0);if(t=e.parent)t.value+=e.value})),e},r},e.layout.partition=function(){function r(e,t,n,i){var s=e.children;e.x=t,e.y=e.depth*i,e.dx=n,e.dy=i;if(s&&(u=s.length)){var o=-1,u,a,f;n=e.value?n/e.value:0;while(++o<u)r(a=s[o],t,f=a.value*n,i),t+=f}}function i(e){var t=e.children,n=0;if(t&&(s=t.length)){var r=-1,s;while(++r<s)n=Math.max(n,i(t[r]))}return 1+n}function s(e,s){var o=t.call(this,e,s);return r(o[0],0,n[0],n[1]/i(o[0])),o}var t=e.layout.hierarchy(),n=[1,1];return s.size=function(e){return arguments.length?(n=e,s):n},bu(s,t)},e.layout.pie=function(){function o(u){var a=u.length,f=u.map(function(e,n){return+t.call(o,e,n)}),l=+(typeof r=="function"?r.apply(this,arguments):r),c=(typeof i=="function"?i.apply(this,arguments):i)-l,h=Math.min(Math.abs(c)/a,+(typeof s=="function"?s.apply(this,arguments):s)),p=h*(c<0?-1:1),d=e.sum(f),v=d?(c-a*p)/d:0,m=e.range(a),g=[],y;return n!=null&&m.sort(n===Cu?function(e,t){return f[t]-f[e]}:function(e,t){return n(u[e],u[t])}),m.forEach(function(e){g[e]={data:u[e],value:y=f[e],startAngle:l,endAngle:l+=y*v+p,padAngle:h}}),g}var t=Number,n=Cu,r=0,i=Mt,s=0;return o.value=function(e){return arguments.length?(t=e,o):t},o.sort=function(e){return arguments.length?(n=e,o):n},o.startAngle=function(e){return arguments.length?(r=e,o):r},o.endAngle=function(e){return arguments.length?(i=e,o):i},o.padAngle=function(e){return arguments.length?(s=e,o):s},o};var Cu={};e.layout.stack=function(){function u(a,f){if(!(v=a.length))return a;var l=a.map(function(e,n){return t.call(u,e,n)}),c=l.map(function(e){return e.map(function(e,t){return[s.call(u,e,t),o.call(u,e,t)]})}),h=n.call(u,c,f);l=e.permute(l,h),c=e.permute(c,h);var p=r.call(u,c,f),d=l[0].length,v,m,g,y;for(g=0;g<d;++g){i.call(u,l[0][g],y=p[g],c[0][g][1]);for(m=1;m<v;++m)i.call(u,l[m][g],y+=c[m-1][g][1],c[m][g][1])}return a}var t=P,n=_u,r=Du,i=Au,s=ku,o=Lu;return u.values=function(e){return arguments.length?(t=e,u):t},u.order=function(e){return arguments.length?(n=typeof e=="function"?e:Ou.get(e)||_u,u):n},u.offset=function(e){return arguments.length?(r=typeof e=="function"?e:Mu.get(e)||Du,u):r},u.x=function(e){return arguments.length?(s=e,u):s},u.y=function(e){return arguments.length?(o=e,u):o},u.out=function(e){return arguments.length?(i=e,u):i},u};var Ou=e.map({"inside-out":function(t){var n=t.length,r,i,s=t.map(Pu),o=t.map(Hu),u=e.range(n).sort(function(e,t){return s[e]-s[t]}),a=0,f=0,l=[],c=[];for(r=0;r<n;++r)i=u[r],a<f?(a+=o[i],l.push(i)):(f+=o[i],c.push(i));return c.reverse().concat(l)},reverse:function(t){return e.range(t.length).reverse()},"default":_u}),Mu=e.map({silhouette:function(e){var t=e.length,n=e[0].length,r=[],i=0,s,o,u,a=[];for(o=0;o<n;++o){for(s=0,u=0;s<t;s++)u+=e[s][o][1];u>i&&(i=u),r.push(u)}for(o=0;o<n;++o)a[o]=(i-r[o])/2;return a},wiggle:function(e){var t=e.length,n=e[0],r=n.length,i,s,o,u,a,f,l,c,h,p=[];p[0]=c=h=0;for(s=1;s<r;++s){for(i=0,u=0;i<t;++i)u+=e[i][s][1];for(i=0,a=0,l=n[s][0]-n[s-1][0];i<t;++i){for(o=0,f=(e[i][s][1]-e[i][s-1][1])/(2*l);o<i;++o)f+=(e[o][s][1]-e[o][s-1][1])/l;a+=f*e[i][s][1]}p[s]=c-=u?a/u*l:0,c<h&&(h=c)}for(s=0;s<r;++s)p[s]-=h;return p},expand:function(e){var t=e.length,n=e[0].length,r=1/t,i,s,o,u=[];for(s=0;s<n;++s){for(i=0,o=0;i<t;i++)o+=e[i][s][1];if(o)for(i=0;i<t;i++)e[i][s][1]/=o;else for(i=0;i<t;i++)e[i][s][1]=r}for(s=0;s<n;++s)u[s]=0;return u},zero:Du});e.layout.histogram=function(){function s(s,o){var u=[],a=s.map(n,this),f=r.call(this,a,o),l=i.call(this,f,a,o),c,o=-1,h=a.length,p=l.length-1,d=t?1:1/h,v;while(++o<p)c=u[o]=[],c.dx=l[o+1]-(c.x=l[o]),c.y=0;if(p>0){o=-1;while(++o<h)v=a[o],v>=f[0]&&v<=f[1]&&(c=u[e.bisect(l,v,1,p)-1],c.y+=d,c.push(s[o]))}return u}var t=!0,n=Number,r=Iu,i=ju;return s.value=function(e){return arguments.length?(n=e,s):n},s.range=function(e){return arguments.length?(r=Cn(e),s):r},s.bins=function(e){return arguments.length?(i=typeof e=="number"?function(t){return Fu(t,e)}:Cn(e),s):i},s.frequency=function(e){return arguments.length?(t=!!e,s):t},s},e.layout.pack=function(){function s(e,s){var o=t.call(this,e,s),u=o[0],a=r[0],f=r[1],l=i==null?Math.sqrt:typeof i=="function"?i:function(){return i};u.x=u.y=0,Eu(u,function(e){e.r=+l(e.value)}),Eu(u,Wu);if(n){var c=n*(i?1:Math.max(2*u.r/a,2*u.r/f))/2;Eu(u,function(e){e.r+=c}),Eu(u,Wu),Eu(u,function(e){e.r-=c})}return $u(u,a/2,f/2,i?1:1/Math.max(2*u.r/a,2*u.r/f)),o}var t=e.layout.hierarchy().sort(qu),n=0,r=[1,1],i;return s.size=function(e){return arguments.length?(r=e,s):r},s.radius=function(e){return arguments.length?(i=e==null||typeof e=="function"?e:+e,s):i},s.padding=function(e){return arguments.length?(n=+e,s):n},bu(s,t)},e.layout.tree=function(){function s(e,s){var f=t.call(this,e,s),c=f[0],h=o(c);Eu(h,u),h.parent.m=-h.z,wu(h,a);if(i)wu(c,l);else{var p=c,d=c,v=c;wu(c,function(e){e.x<p.x&&(p=e),e.x>d.x&&(d=e),e.depth>v.depth&&(v=e)});var m=n(p,d)/2-p.x,g=r[0]/(d.x+n(d,p)/2+m),y=r[1]/(v.depth||1);wu(c,function(e){e.x=(e.x+m)*g,e.y=e.depth*y})}return f}function o(e){var t={A:null,children:[e]},n=[t],r;while((r=n.pop())!=null)for(var i=r.children,s,o=0,u=i.length;o<u;++o)n.push((i[o]=s={_:i[o],parent:r,children:(s=i[o].children)&&s.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=s);return t.children[0]}function u(e){var t=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(t.length){Zu(e);var s=(t[0].z+t[t.length-1].z)/2;i?(e.z=i.z+n(e._,i._),e.m=e.z-s):e.z=s}else i&&(e.z=i.z+n(e._,i._));e.parent.A=f(e,i,e.parent.A||r[0])}function a(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function f(e,t,r){if(t){var i=e,s=e,o=t,u=i.parent.children[0],a=i.m,f=s.m,l=o.m,c=u.m,h;while(o=Gu(o),i=Qu(i),o&&i)u=Qu(u),s=Gu(s),s.a=e,h=o.z+l-i.z-a+n(o._,i._),h>0&&(Yu(ea(o,e,r),e,h),a+=h,f+=h),l+=o.m,a+=i.m,c+=u.m,f+=s.m;o&&!Gu(s)&&(s.t=o,s.m+=l-f),i&&!Qu(u)&&(u.t=i,u.m+=a-c,r=e)}return r}function l(e){e.x*=r[0],e.y=e.depth*r[1]}var t=e.layout.hierarchy().sort(null).value(null),n=Ku,r=[1,1],i=null;return s.separation=function(e){return arguments.length?(n=e,s):n},s.size=function(e){return arguments.length?(i=(r=e)==null?l:null,s):i?null:r},s.nodeSize=function(e){return arguments.length?(i=(r=e)==null?null:l,s):i?r:null},bu(s,t)},e.layout.cluster=function(){function s(e,s){var o=t.call(this,e,s),u=o[0],a,f=0;Eu(u,function(e){var t=e.children;t&&t.length?(e.x=na(t),e.y=ta(t)):(e.x=a?f+=n(e,a):0,e.y=0,a=e)});var l=ra(u),c=ia(u),h=l.x-n(l,c)/2,p=c.x+n(c,l)/2;return Eu(u,i?function(e){e.x=(e.x-u.x)*r[0],e.y=(u.y-e.y)*r[1]}:function(e){e.x=(e.x-h)/(p-h)*r[0],e.y=(1-(u.y?e.y/u.y:1))*r[1]}),o}var t=e.layout.hierarchy().sort(null).value(null),n=Ku,r=[1,1],i=!1;return s.separation=function(e){return arguments.length?(n=e,s):n},s.size=function(e){return arguments.length?(i=(r=e)==null,s):i?null:r},s.nodeSize=function(e){return arguments.length?(i=(r=e)!=null,s):i?r:null},bu(s,t)},e.layout.treemap=function(){function l(e,t){var n=-1,r=e.length,i,s;while(++n<r)s=(i=e[n]).value*(t<0?0:t),i.area=isNaN(s)||s<=0?0:s}function c(e){var t=e.children;if(t&&t.length){var n=s(e),r=[],i=t.slice(),o,u=Infinity,f,h=a==="slice"?n.dx:a==="dice"?n.dy:a==="slice-dice"?e.depth&1?n.dy:n.dx:Math.min(n.dx,n.dy),v;l(i,n.dx*n.dy/e.value),r.area=0;while((v=i.length)>0)r.push(o=i[v-1]),r.area+=o.area,a!=="squarify"||(f=p(r,h))<=u?(i.pop(),u=f):(r.area-=r.pop().area,d(r,h,n,!1),h=Math.min(n.dx,n.dy),r.length=r.area=0,u=Infinity);r.length&&(d(r,h,n,!0),r.length=r.area=0),t.forEach(c)}}function h(e){var t=e.children;if(t&&t.length){var n=s(e),r=t.slice(),i,o=[];l(r,n.dx*n.dy/e.value),o.area=0;while(i=r.pop())o.push(i),o.area+=i.area,i.z!=null&&(d(o,i.z?n.dx:n.dy,n,!r.length),o.length=o.area=0);t.forEach(h)}}function p(e,t){var n=e.area,r,i=0,s=Infinity,o=-1,u=e.length;while(++o<u){if(!(r=e[o].area))continue;r<s&&(s=r),r>i&&(i=r)}return n*=n,t*=t,n?Math.max(t*i*f/n,n/(t*s*f)):Infinity}function d(e,t,r,i){var s=-1,o=e.length,u=r.x,a=r.y,f=t?n(e.area/t):0,l;if(t==r.dx){if(i||f>r.dy)f=r.dy;while(++s<o)l=e[s],l.x=u,l.y=a,l.dy=f,u+=l.dx=Math.min(r.x+r.dx-u,f?n(l.area/f):0);l.z=!0,l.dx+=r.x+r.dx-u,r.y+=f,r.dy-=f}else{if(i||f>r.dx)f=r.dx;while(++s<o)l=e[s],l.x=u,l.y=a,l.dx=f,a+=l.dy=Math.min(r.y+r.dy-a,f?n(l.area/f):0);l.z=!1,l.dy+=r.y+r.dy-a,r.x+=f,r.dx-=f}}function v(e){var n=u||t(e),i=n[0];return i.x=i.y=0,i.value?(i.dx=r[0],i.dy=r[1]):i.dx=i.dy=0,u&&t.revalue(i),l([i],i.dx*i.dy/i.value),(u?h:c)(i),o&&(u=n),n}var t=e.layout.hierarchy(),n=Math.round,r=[1,1],i=null,s=sa,o=!1,u,a="squarify",f=.5*(1+Math.sqrt(5));return v.size=function(e){return arguments.length?(r=e,v):r},v.padding=function(e){function t(t){var n=e.call(v,t,t.depth);return n==null?sa(t):oa(t,typeof n=="number"?[n,n,n,n]:n)}function n(t){return oa(t,e)}if(!arguments.length)return i;var r;return s=(i=e)==null?sa:(r=typeof e)==="function"?t:r==="number"?(e=[e,e,e,e],n):n,v},v.round=function(e){return arguments.length?(n=e?Math.round:Number,v):n!=Number},v.sticky=function(e){return arguments.length?(o=e,u=null,v):o},v.ratio=function(e){return arguments.length?(f=e,v):f},v.mode=function(e){return arguments.length?(a=e+"",v):a},bu(v,t)},e.random={normal:function(e,t){var n=arguments.length;return n<2&&(t=1),n<1&&(e=0),function(){var n,r,i;do n=Math.random()*2-1,r=Math.random()*2-1,i=n*n+r*r;while(!i||i>1);return e+t*n*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=e.random.normal.apply(e,arguments);return function(){return Math.exp(t())}},bates:function(t){var n=e.random.irwinHall(t);return function(){return n()/t}},irwinHall:function(e){return function(){for(var t=0,n=0;n<e;n++)t+=Math.random();return t}}},e.scale={};var ha={floor:P,ceil:P};e.scale.linear=function(){return da([0,1],[0,1],ko,!1)};var wa={s:1,g:1,p:1,r:1,e:1};e.scale.log=function(){return xa(e.scale.linear().domain([0,1]),10,!0,[1,10])};var Ta=e.format(".0e"),Na={floor:function(e){return-Math.ceil(-e)},ceil:function(e){return-Math.floor(-e)}};e.scale.pow=function(){return Ca(e.scale.linear(),1,[0,1])},e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return La([],{t:"range",a:[[]]})},e.scale.category10=function(){return e.scale.ordinal().range(Aa)},e.scale.category20=function(){return e.scale.ordinal().range(Oa)},e.scale.category20b=function(){return e.scale.ordinal().range(Ma)},e.scale.category20c=function(){return e.scale.ordinal().range(_a)};var Aa=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(gn),Oa=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(gn),Ma=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(gn),_a=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(gn);e.scale.quantile=function(){return Da([],[])},e.scale.quantize=function(){return Pa(0,1,[0,1])},e.scale.threshold=function(){return Ha([.5],[0,1])},e.scale.identity=function(){return Ba([0,1])},e.svg={},e.svg.arc=function(){function u(){var u=Math.max(0,+e.apply(this,arguments)),f=Math.max(0,+t.apply(this,arguments)),l=i.apply(this,arguments)-Dt,c=s.apply(this,arguments)-Dt,h=Math.abs(c-l),p=l>c?0:1;f<u&&(d=f,f=u,u=d);if(h>=_t)return a(f,p)+(u?a(u,1-p):"")+"Z";var d,v,m,g,y=0,b=0,w,E,S,x,T,N,C,k,L=[];if(g=(+o.apply(this,arguments)||0)/2)m=r===Fa?Math.sqrt(u*u+f*f):+r.apply(this,arguments),p||(b*=-1),f&&(b=It(m/f*Math.sin(g))),u&&(y=It(m/u*Math.sin(g)));if(f){w=f*Math.cos(l+b),E=f*Math.sin(l+b),S=f*Math.cos(c-b),x=f*Math.sin(c-b);var A=Math.abs(c-l-2*b)<=Ot?0:1;if(b&&Wa(w,E,S,x)===p^A){var O=(l+c)/2;w=f*Math.cos(O),E=f*Math.sin(O),S=x=null}}else w=E=0;if(u){T=u*Math.cos(c-y),N=u*Math.sin(c-y),C=u*Math.cos(l+y),k=u*Math.sin(l+y);var M=Math.abs(l-c+2*y)<=Ot?0:1;if(y&&Wa(T,N,C,k)===1-p^M){var _=(l+c)/2;T=u*Math.cos(_),N=u*Math.sin(_),C=k=null}}else T=N=0;if(h>Lt&&(d=Math.min(Math.abs(f-u)/2,+n.apply(this,arguments)))>.001){v=u<f^p?0:1;var D=d,P=d;if(h<Ot){var H=C==null?[T,N]:S==null?[w,E]:Ms([w,E],[C,k],[S,x],[T,N]),B=w-H[0],j=E-H[1],F=S-H[0],I=x-H[1],q=1/Math.sin(Math.acos((B*F+j*I)/(Math.sqrt(B*B+j*j)*Math.sqrt(F*F+I*I)))/2),R=Math.sqrt(H[0]*H[0]+H[1]*H[1]);P=Math.min(d,(u-R)/(q-1)),D=Math.min(d,(f-R)/(q+1))}if(S!=null){var U=Xa(C==null?[T,N]:[C,k],[w,E],f,D,p),z=Xa([S,x],[T,N],f,D,p);d===D?L.push("M",U[0],"A",D,",",D," 0 0,",v," ",U[1],"A",f,",",f," 0 ",1-p^Wa(U[1][0],U[1][1],z[1][0],z[1][1]),",",p," ",z[1],"A",D,",",D," 0 0,",v," ",z[0]):L.push("M",U[0],"A",D,",",D," 0 1,",v," ",z[0])}else L.push("M",w,",",E);if(C!=null){var W=Xa([w,E],[C,k],u,-P,p),X=Xa([T,N],S==null?[w,E]:[S,x],u,-P,p);d===P?L.push("L",X[0],"A",P,",",P," 0 0,",v," ",X[1],"A",u,",",u," 0 ",p^Wa(X[1][0],X[1][1],W[1][0],W[1][1]),",",1-p," ",W[1],"A",P,",",P," 0 0,",v," ",W[0]):L.push("L",X[0],"A",P,",",P," 0 0,",v," ",W[0])}else L.push("L",T,",",N)}else L.push("M",w,",",E),S!=null&&L.push("A",f,",",f," 0 ",A,",",p," ",S,",",x),L.push("L",T,",",N),C!=null&&L.push("A",u,",",u," 0 ",M,",",1-p," ",C,",",k);return L.push("Z"),L.join("")}function a(e,t){return"M0,"+e+"A"+e+","+e+" 0 1,"+t+" 0,"+ -e+"A"+e+","+e+" 0 1,"+t+" 0,"+e}var e=Ia,t=qa,n=ja,r=Fa,i=Ra,s=Ua,o=za;return u.innerRadius=function(t){return arguments.length?(e=Cn(t),u):e},u.outerRadius=function(e){return arguments.length?(t=Cn(e),u):t},u.cornerRadius=function(e){return arguments.length?(n=Cn(e),u):n},u.padRadius=function(e){return arguments.length?(r=e==Fa?Fa:Cn(e),u):r},u.startAngle=function(e){return arguments.length?(i=Cn(e),u):i},u.endAngle=function(e){return arguments.length?(s=Cn(e),u):s},u.padAngle=function(e){return arguments.length?(o=Cn(e),u):o},u.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +s.apply(this,arguments))/2-Dt;return[Math.cos(r)*n,Math.sin(r)*n]},u};var Fa="auto";e.svg.line=function(){return Va(P)};var $a=e.map({linear:Ja,"linear-closed":Ka,step:Qa,"step-before":Ga,"step-after":Ya,basis:sf,"basis-open":of,"basis-closed":uf,bundle:af,cardinal:tf,"cardinal-open":Za,"cardinal-closed":ef,monotone:gf});$a.forEach(function(e,t){t.key=e,t.closed=/-closed$/.test(e)});var lf=[0,2/3,1/3,0],cf=[0,1/3,2/3,0],hf=[0,1/6,2/3,1/6];e.svg.line.radial=function(){var e=Va(yf);return e.radius=e.x,delete e.x,e.angle=e.y,delete e.y,e},Ga.reverse=Ya,Ya.reverse=Ga,e.svg.area=function(){return bf(P)},e.svg.area.radial=function(){var e=bf(yf);return e.radius=e.x,delete e.x,e.innerRadius=e.x0,delete e.x0,e.outerRadius=e.x1,delete e.x1,e.angle=e.y,delete e.y,e.startAngle=e.y0,delete e.y0,e.endAngle=e.y1,delete e.y1,e},e.svg.chord=function(){function s(n,r){var i=o(this,e,n,r),s=o(this,t,n,r);return"M"+i.p0+a(i.r,i.p1,i.a1-i.a0)+(u(i,s)?f(i.r,i.p1,i.r,i.p0):f(i.r,i.p1,s.r,s.p0)+a(s.r,s.p1,s.a1-s.a0)+f(s.r,s.p1,i.r,i.p0))+"Z"}function o(e,t,s,o){var u=t.call(e,s,o),a=n.call(e,u,o),f=r.call(e,u,o)-Dt,l=i.call(e,u,o)-Dt;return{r:a,a0:f,a1:l,p0:[a*Math.cos(f),a*Math.sin(f)],p1:[a*Math.cos(l),a*Math.sin(l)]}}function u(e,t){return e.a0==t.a0&&e.a1==t.a1}function a(e,t,n){return"A"+e+","+e+" 0 "+ +(n>Ot)+",1 "+t}function f(e,t,n,r){return"Q 0,0 "+r}var e=as,t=fs,n=wf,r=Ra,i=Ua;return s.radius=function(e){return arguments.length?(n=Cn(e),s):n},s.source=function(t){return arguments.length?(e=Cn(t),s):e},s.target=function(e){return arguments.length?(t=Cn(e),s):t},s.startAngle=function(e){return arguments.length?(r=Cn(e),s):r},s.endAngle=function(e){return arguments.length?(i=Cn(e),s):i},s},e.svg.diagonal=function(){function r(r,i){var s=e.call(this,r,i),o=t.call(this,r,i),u=(s.y+o.y)/2,a=[s,{x:s.x,y:u},{x:o.x,y:u},o];return a=a.map(n),"M"+a[0]+"C"+a[1]+" "+a[2]+" "+a[3]}var e=as,t=fs,n=Ef;return r.source=function(t){return arguments.length?(e=Cn(t),r):e},r.target=function(e){return arguments.length?(t=Cn(e),r):t},r.projection=function(e){return arguments.length?(n=e,r):n},r},e.svg.diagonal.radial=function(){var t=e.svg.diagonal(),n=Ef,r=t.projection;return t.projection=function(e){return arguments.length?r(Sf(n=e)):n},t},e.svg.symbol=function(){function n(n,r){return(Cf.get(e.call(this,n,r))||Nf)(t.call(this,n,r))}var e=Tf,t=xf;return n.type=function(t){return arguments.length?(e=Cn(t),n):e},n.size=function(e){return arguments.length?(t=Cn(e),n):t},n};var Cf=e.map({circle:Nf,cross:function(e){var t=Math.sqrt(e/5)/2;return"M"+ -3*t+","+ -t+"H"+ -t+"V"+ -3*t+"H"+t+"V"+ -t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+ -t+"V"+t+"H"+ -3*t+"Z"},diamond:function(e){var t=Math.sqrt(e/(2*Lf)),n=t*Lf;return"M0,"+ -t+"L"+n+",0"+" 0,"+t+" "+ -n+",0"+"Z"},square:function(e){var t=Math.sqrt(e)/2;return"M"+ -t+","+ -t+"L"+t+","+ -t+" "+t+","+t+" "+ -t+","+t+"Z"},"triangle-down":function(e){var t=Math.sqrt(e/kf),n=t*kf/2;return"M0,"+n+"L"+t+","+ -n+" "+ -t+","+ -n+"Z"},"triangle-up":function(e){var t=Math.sqrt(e/kf),n=t*kf/2;return"M0,"+ -n+"L"+t+","+n+" "+ -t+","+n+"Z"}});e.svg.symbolTypes=Cf.keys();var kf=Math.sqrt(3),Lf=Math.tan(30*Pt);Q.transition=function(e){var t=Pf||++Df,n=Ff(e),r=[],i,s,o=Hf||{time:Date.now(),ease:jo,delay:0,duration:250};for(var u=-1,a=this.length;++u<a;){r.push(i=[]);for(var f=this[u],l=-1,c=f.length;++l<c;)(s=f[l])&&If(s,l,n,t,o),i.push(s)}return Mf(r,n,t)},Q.interrupt=function(e){return this.each(e==null?Af:Of(Ff(e)))};var Af=Of(Ff()),_f=[],Df=0,Pf,Hf;_f.call=Q.call,_f.empty=Q.empty,_f.node=Q.node,_f.size=Q.size,e.transition=function(t,n){return t&&t.transition?Pf?t.transition(n):t:e.selection().transition(t)},e.transition.prototype=_f,_f.select=function(e){var t=this.id,n=this.namespace,r=[],i,s,o;e=G(e);for(var u=-1,a=this.length;++u<a;){r.push(i=[]);for(var f=this[u],l=-1,c=f.length;++l<c;)(o=f[l])&&(s=e.call(o,o.__data__,l,u))?("__data__"in o&&(s.__data__=o.__data__),If(s,l,n,t,o[n][t]),i.push(s)):i.push(null)}return Mf(r,n,t)},_f.selectAll=function(e){var t=this.id,n=this.namespace,r=[],i,s,o,u,a;e=Y(e);for(var f=-1,l=this.length;++f<l;)for(var c=this[f],h=-1,p=c.length;++h<p;)if(o=c[h]){a=o[n][t],s=e.call(o,o.__data__,h,f),r.push(i=[]);for(var d=-1,v=s.length;++d<v;)(u=s[d])&&If(u,d,n,t,a),i.push(u)}return Mf(r,n,t)},_f.filter=function(e){var t=[],n,r,i;typeof e!="function"&&(e=ht(e));for(var s=0,o=this.length;s<o;s++){t.push(n=[]);for(var r=this[s],u=0,a=r.length;u<a;u++)(i=r[u])&&e.call(i,i.__data__,u,s)&&n.push(i)}return Mf(t,this.namespace,this.id)},_f.tween=function(e,t){var n=this.id,r=this.namespace;return arguments.length<2?this.node()[r][n].tween.get(e):dt(this,t==null?function(t){t[r][n].tween.remove(e)}:function(i){i[r][n].tween.set(e,t)})},_f.attr=function(t,n){function s(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}function u(e){return e==null?s:(e+="",function(){var t=this.getAttribute(i),n;return t!==e&&(n=r(t,e),function(e){this.setAttribute(i,n(e))})})}function a(e){return e==null?o:(e+="",function(){var t=this.getAttributeNS(i.space,i.local),n;return t!==e&&(n=r(t,e),function(e){this.setAttributeNS(i.space,i.local,n(e))})})}if(arguments.length<2){for(n in t)this.attr(n,t[n]);return this}var r=t=="transform"?su:ko,i=e.ns.qualify(t);return Bf(this,"attr."+t,n,i.local?a:u)},_f.attrTween=function(t,n){function i(e,t){var i=n.call(this,e,t,this.getAttribute(r));return i&&function(e){this.setAttribute(r,i(e))}}function s(e,t){var i=n.call(this,e,t,this.getAttributeNS(r.space,r.local));return i&&function(e){this.setAttributeNS(r.space,r.local,i(e))}}var r=e.ns.qualify(t);return this.tween("attr."+t,r.local?s:i)},_f.style=function(e,t,n){function i(){this.style.removeProperty(e)}function s(t){return t==null?i:(t+="",function(){var r=o(this).getComputedStyle(this,null).getPropertyValue(e),i;return r!==t&&(i=ko(r,t),function(t){this.style.setProperty(e,i(t),n)})})}var r=arguments.length;if(r<3){if(typeof e!="string"){r<2&&(t="");for(n in e)this.style(n,e[n],t);return this}n=""}return Bf(this,"style."+e,t,s)},_f.styleTween=function(e,t,n){function r(r,i){var s=t.call(this,r,i,o(this).getComputedStyle(this,null).getPropertyValue(e));return s&&function(t){this.style.setProperty(e,s(t),n)}}return arguments.length<3&&(n=""),this.tween("style."+e,r)},_f.text=function(e){return Bf(this,"text",e,jf)},_f.remove=function(){var e=this.namespace;return this.each("end.transition",function(){var t;this[e].count<2&&(t=this.parentNode)&&t.removeChild(this)})},_f.ease=function(t){var n=this.id,r=this.namespace;return arguments.length<1?this.node()[r][n].ease:(typeof t!="function"&&(t=e.ease.apply(e,arguments)),dt(this,function(e){e[r][n].ease=t}))},_f.delay=function(e){var t=this.id,n=this.namespace;return arguments.length<1?this.node()[n][t].delay:dt(this,typeof e=="function"?function(r,i,s){r[n][t].delay=+e.call(r,r.__data__,i,s)}:(e=+e,function(r){r[n][t].delay=e}))},_f.duration=function(e){var t=this.id,n=this.namespace;return arguments.length<1?this.node()[n][t].duration:dt(this,typeof e=="function"?function(r,i,s){r[n][t].duration=Math.max(1,e.call(r,r.__data__,i,s))}:(e=Math.max(1,e),function(r){r[n][t].duration=e}))},_f.each=function(t,n){var r=this.id,i=this.namespace;if(arguments.length<2){var s=Hf,o=Pf;try{Pf=r,dt(this,function(e,n,s){Hf=e[i][r],t.call(e,e.__data__,n,s)})}finally{Hf=s,Pf=o}}else dt(this,function(s){var o=s[i][r];(o.event||(o.event=e.dispatch("start","end","interrupt"))).on(t,n)});return this},_f.transition=function(){var e=this.id,t=++Df,n=this.namespace,r=[],i,s,o,u;for(var a=0,f=this.length;a<f;a++){r.push(i=[]);for(var s=this[a],l=0,c=s.length;l<c;l++){if(o=s[l])u=o[n][e],If(o,l,n,t,{time:u.time,ease:u.ease,delay:u.delay+u.duration,duration:u.duration});i.push(o)}}return Mf(r,n,t)},e.svg.axis=function(){function l(r){r.each(function(){var r=e.select(this),l=this.__chart__||t,c=this.__chart__=t.copy(),h=a==null?c.ticks?c.ticks.apply(c,u):c.domain():a,p=f==null?c.tickFormat?c.tickFormat.apply(c,u):P:f,d=r.selectAll(".tick").data(h,c),v=d.enter().insert("g",".domain").attr("class","tick").style("opacity",Lt),m=e.transition(d.exit()).style("opacity",Lt).remove(),g=e.transition(d.order()).style("opacity",1),y=Math.max(i,0)+o,b,w=aa(c),E=r.selectAll(".domain").data([0]),S=(E.enter().append("path").attr("class","domain"),e.transition(E));v.append("line"),v.append("text");var x=v.select("line"),T=g.select("line"),N=d.select("text").text(p),C=v.select("text"),k=g.select("text"),L=n==="top"||n==="left"?-1:1,A,O,M,_;n==="bottom"||n==="top"?(b=Uf,A="x",M="y",O="x2",_="y2",N.attr("dy",L<0?"0em":".71em").style("text-anchor","middle"),S.attr("d","M"+w[0]+","+L*s+"V0H"+w[1]+"V"+L*s)):(b=zf,A="y",M="x",O="y2",_="x2",N.attr("dy",".32em").style("text-anchor",L<0?"end":"start"),S.attr("d","M"+L*s+","+w[0]+"H0V"+w[1]+"H"+L*s)),x.attr(_,L*i),C.attr(M,L*y),T.attr(O,0).attr(_,L*i),k.attr(A,0).attr(M,L*y);if(c.rangeBand){var D=c,H=D.rangeBand()/2;l=c=function(e){return D(e)+H}}else l.rangeBand?l=c:m.call(b,c,l);v.call(b,l,c),g.call(b,c,c)})}var t=e.scale.linear(),n=qf,i=6,s=6,o=3,u=[10],a=null,f;return l.scale=function(e){return arguments.length?(t=e,l):t},l.orient=function(e){return arguments.length?(n=e in Rf?e+"":qf,l):n},l.ticks=function(){return arguments.length?(u=r(arguments),l):u},l.tickValues=function(e){return arguments.length?(a=e,l):a},l.tickFormat=function(e){return arguments.length?(f=e,l):f},l.tickSize=function(e){var t=arguments.length;return t?(i=+e,s=+arguments[t-1],l):i},l.innerTickSize=function(e){return arguments.length?(i=+e,l):i},l.outerTickSize=function(e){return arguments.length?(s=+e,l):s},l.tickPadding=function(e){return arguments.length?(o=+e,l):o},l.tickSubdivide=function(){return arguments.length&&l},l};var qf="bottom",Rf={top:1,right:1,bottom:1,left:1};e.svg.brush=function(){function h(t){t.each(function(){var t=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",m).on("touchstart.brush",m),i=t.selectAll(".background").data([0]);i.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var s=t.selectAll(".resize").data(c,P);s.exit().remove(),s.enter().append("g").attr("class",function(e){return"resize "+e}).style("cursor",function(e){return Wf[e]}).append("rect").attr("x",function(e){return/[ew]$/.test(e)?-3:null}).attr("y",function(e){return/^[ns]/.test(e)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),s.style("display",h.empty()?"none":null);var o=e.transition(t),u=e.transition(i),a;n&&(a=aa(n),u.attr("x",a[0]).attr("width",a[1]-a[0]),d(o)),r&&(a=aa(r),u.attr("y",a[0]).attr("height",a[1]-a[0]),v(o)),p(o)})}function p(e){e.selectAll(".resize").attr("transform",function(e){return"translate("+i[+/e$/.test(e)]+","+s[+/^s/.test(e)]+")"})}function d(e){e.select(".extent").attr("x",i[0]),e.selectAll(".extent,.n>rect,.s>rect").attr("width",i[1]-i[0])}function v(e){e.select(".extent").attr("y",s[0]),e.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function m(){function O(){e.event.keyCode==32&&(S||(T=null,N[0]-=i[1],N[1]-=s[1],S=2),R())}function M(){e.event.keyCode==32&&S==2&&(N[0]+=i[1],N[1]+=s[1],S=0,R())}function _(){var t=e.mouse(c),o=!1;C&&(t[0]+=C[0],t[1]+=C[1]),S||(e.event.altKey?(T||(T=[(i[0]+i[1])/2,(s[0]+s[1])/2]),N[0]=i[+(t[0]<T[0])],N[1]=s[+(t[1]<T[1])]):T=null),w&&D(t,n,0)&&(d(y),o=!0),E&&D(t,r,1)&&(v(y),o=!0),o&&(p(y),g({type:"brush",mode:S?"move":"resize"}))}function D(e,t,n){var r=aa(t),o=r[0],c=r[1],h=N[n],p=n?s:i,d=p[1]-p[0],v,m;S&&(o-=h,c-=d+h),v=(n?l:f)?Math.max(o,Math.min(c,e[n])):e[n],S?m=(v+=h)+d:(T&&(h=Math.max(o,Math.min(c,2*T[n]-v))),h<v?(m=v,v=h):m=h);if(p[0]!=v||p[1]!=m)return n?a=null:u=null,p[0]=v,p[1]=m,!0}function P(){_(),y.style("pointer-events","all").selectAll(".resize").style("display",h.empty()?"none":null),e.select("body").style("cursor",null),k.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),x(),g({type:"brushend"})}var c=this,m=e.select(e.event.target),g=t.of(c,arguments),y=e.select(c),b=m.datum(),w=!/^(n|s)$/.test(b)&&n,E=!/^(e|w)$/.test(b)&&r,S=m.classed("extent"),x=Tt(c),T,N=e.mouse(c),C,k=e.select(o(c)).on("keydown.brush",O).on("keyup.brush",M);e.event.changedTouches?k.on("touchmove.brush",_).on("touchend.brush",P):k.on("mousemove.brush",_).on("mouseup.brush",P),y.interrupt().selectAll("*").interrupt();if(S)N[0]=i[0]-N[0],N[1]=s[0]-N[1];else if(b){var L=+/w$/.test(b),A=+/^n/.test(b);C=[i[1-L]-N[0],s[1-A]-N[1]],N[0]=i[L],N[1]=s[A]}else e.event.altKey&&(T=N.slice());y.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",m.style("cursor")),g({type:"brushstart"}),_()}var t=z(h,"brushstart","brush","brushend"),n=null,r=null,i=[0,0],s=[0,0],u,a,f=!0,l=!0,c=Xf[0];return h.event=function(n){n.each(function(){var n=t.of(this,arguments),r={x:i,y:s,i:u,j:a},o=this.__chart__||r;this.__chart__=r,Pf?e.select(this).transition().each("start.brush",function(){u=o.i,a=o.j,i=o.x,s=o.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=Lo(i,r.x),t=Lo(s,r.y);return u=a=null,function(o){i=r.x=e(o),s=r.y=t(o),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){u=r.i,a=r.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},h.x=function(e){return arguments.length?(n=e,c=Xf[!n<<1|!r],h):n},h.y=function(e){return arguments.length?(r=e,c=Xf[!n<<1|!r],h):r},h.clamp=function(e){return arguments.length?(n&&r?(f=!!e[0],l=!!e[1]):n?f=!!e:r&&(l=!!e),h):n&&r?[f,l]:n?f:r?l:null},h.extent=function(e){var t,o,f,l,c;if(!arguments.length)return n&&(u?(t=u[0],o=u[1]):(t=i[0],o=i[1],n.invert&&(t=n.invert(t),o=n.invert(o)),o<t&&(c=t,t=o,o=c))),r&&(a?(f=a[0],l=a[1]):(f=s[0],l=s[1],r.invert&&(f=r.invert(f),l=r.invert(l)),l<f&&(c=f,f=l,l=c))),n&&r?[[t,f],[o,l]]:n?[t,o]:r&&[f,l];if(n){t=e[0],o=e[1],r&&(t=t[0],o=o[0]),u=[t,o],n.invert&&(t=n(t),o=n(o)),o<t&&(c=t,t=o,o=c);if(t!=i[0]||o!=i[1])i=[t,o]}if(r){f=e[0],l=e[1],n&&(f=f[1],l=l[1]),a=[f,l],r.invert&&(f=r(f),l=r(l)),l<f&&(c=f,f=l,l=c);if(f!=s[0]||l!=s[1])s=[f,l]}return h},h.clear=function(){return h.empty()||(i=[0,0],s=[0,0],u=a=null),h},h.empty=function(){return!!n&&i[0]==i[1]||!!r&&s[0]==s[1]},e.rebind(h,t,"on")};var Wf={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Xf=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Vf=$n.format=xr.timeFormat,$f=Vf.utc,Jf=$f("%Y-%m-%dT%H:%M:%S.%LZ");Vf.iso=Date.prototype.toISOString&&+(new Date("2000-01-01T00:00:00.000Z"))?Kf:Jf,Kf.parse=function(e){var t=new Date(e);return isNaN(t)?null:t},Kf.toString=Jf.toString,$n.second=Gn(function(e){return new Jn(Math.floor(e/1e3)*1e3)},function(e,t){e.setTime(e.getTime()+Math.floor(t)*1e3)},function(e){return e.getSeconds()}),$n.seconds=$n.second.range,$n.seconds.utc=$n.second.utc.range,$n.minute=Gn(function(e){return new Jn(Math.floor(e/6e4)*6e4)},function(e,t){e.setTime(e.getTime()+Math.floor(t)*6e4)},function(e){return e.getMinutes()}),$n.minutes=$n.minute.range,$n.minutes.utc=$n.minute.utc.range,$n.hour=Gn(function(e){var t=e.getTimezoneOffset()/60;return new Jn((Math.floor(e/36e5-t)+t)*36e5
)},function(e,t){e.setTime(e.getTime()+Math.floor(t)*36e5)},function(e){return e.getHours()}),$n.hours=$n.hour.range,$n.hours.utc=$n.hour.utc.range,$n.month=Gn(function(e){return e=$n.day(e),e.setDate(1),e},function(e,t){e.setMonth(e.getMonth()+t)},function(e){return e.getMonth()}),$n.months=$n.month.range,$n.months.utc=$n.month.utc.range;var Yf=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Zf=[[$n.second,1],[$n.second,5],[$n.second,15],[$n.second,30],[$n.minute,1],[$n.minute,5],[$n.minute,15],[$n.minute,30],[$n.hour,1],[$n.hour,3],[$n.hour,6],[$n.hour,12],[$n.day,1],[$n.day,2],[$n.week,1],[$n.month,1],[$n.month,3],[$n.year,1]],el=Vf.multi([[".%L",function(e){return e.getMilliseconds()}],[":%S",function(e){return e.getSeconds()}],["%I:%M",function(e){return e.getMinutes()}],["%I %p",function(e){return e.getHours()}],["%a %d",function(e){return e.getDay()&&e.getDate()!=1}],["%b %d",function(e){return e.getDate()!=1}],["%B",function(e){return e.getMonth()}],["%Y",ai]]),tl={range:function(t,n,r){return e.range(Math.ceil(t/r)*r,+n,r).map(Gf)},floor:P,ceil:P};Zf.year=$n.year,$n.scale=function(){return Qf(e.scale.linear(),Zf,el)};var nl=Zf.map(function(e){return[e[0].utc,e[1]]}),rl=$f.multi([[".%L",function(e){return e.getUTCMilliseconds()}],[":%S",function(e){return e.getUTCSeconds()}],["%I:%M",function(e){return e.getUTCMinutes()}],["%I %p",function(e){return e.getUTCHours()}],["%a %d",function(e){return e.getUTCDay()&&e.getUTCDate()!=1}],["%b %d",function(e){return e.getUTCDate()!=1}],["%B",function(e){return e.getUTCMonth()}],["%Y",ai]]);nl.year=$n.year.utc,$n.scale.utc=function(){return Qf(e.scale.linear(),nl,rl)},e.text=kn(function(e){return e.responseText}),e.json=function(e,t){return Ln(e,"application/json",il,t)},e.html=function(e,t){return Ln(e,"text/html",sl,t)},e.xml=kn(function(e){return e.responseXML}),typeof define=="function"&&define.amd?(this.d3=e,define(e)):typeof t=="object"&&t.exports?t.exports=e:this.d3=e}()},{}],84:[function(e,t,n){!function(){var n={Burg:{2:["#ffc6c4","#672044"],3:["#ffc6c4","#cc607d","#672044"],4:["#ffc6c4","#e38191","#ad466c","#672044"],5:["#ffc6c4","#ee919b","#cc607d","#9e3963","#672044"],6:["#ffc6c4","#f29ca3","#da7489","#b95073","#93345d","#672044"],7:["#ffc6c4","#f4a3a8","#e38191","#cc607d","#ad466c","#8b3058","#672044"],tags:["quantitative"]},BurgYl:{2:["#fbe6c5","#70284a"],3:["#fbe6c5","#dc7176","#70284a"],4:["#fbe6c5","#ee8a82","#c8586c","#70284a"],5:["#fbe6c5","#f2a28a","#dc7176","#b24b65","#70284a"],6:["#fbe6c5","#f4b191","#e7807d","#d06270","#a44360","#70284a"],7:["#fbe6c5","#f5ba98","#ee8a82","#dc7176","#c8586c","#9c3f5d","#70284a"],tags:["quantitative"]},RedOr:{2:["#f6d2a9","#b13f64"],3:["#f6d2a9","#ea8171","#b13f64"],4:["#f6d2a9","#f19c7c","#dd686c","#b13f64"],5:["#f6d2a9","#f3aa84","#ea8171","#d55d6a","#b13f64"],6:["#f6d2a9","#f4b28a","#ef9177","#e3726d","#cf5669","#b13f64"],7:["#f6d2a9","#f5b78e","#f19c7c","#ea8171","#dd686c","#ca5268","#b13f64"],tags:["quantitative"]},OrYel:{2:["#ecda9a","#ee4d5a"],3:["#ecda9a","#f7945d","#ee4d5a"],4:["#ecda9a","#f3ad6a","#f97b57","#ee4d5a"],5:["#ecda9a","#f1b973","#f7945d","#f86f56","#ee4d5a"],6:["#ecda9a","#f0c079","#f5a363","#f98558","#f76856","#ee4d5a"],7:["#ecda9a","#efc47e","#f3ad6a","#f7945d","#f97b57","#f66356","#ee4d5a"],tags:["quantitative"]},Peach:{2:["#fde0c5","#eb4a40"],3:["#fde0c5","#f59e72","#eb4a40"],4:["#fde0c5","#f8b58b","#f2855d","#eb4a40"],5:["#fde0c5","#f9c098","#f59e72","#f17854","#eb4a40"],6:["#fde0c5","#fac7a1","#f7ac80","#f38f65","#f0704f","#eb4a40"],7:["#fde0c5","#facba6","#f8b58b","#f59e72","#f2855d","#ef6a4c","#eb4a40"],tags:["quantitative"]},PinkYl:{2:["#fef6b5","#e15383"],3:["#fef6b5","#ffa679","#e15383"],4:["#fef6b5","#ffc285","#fa8a76","#e15383"],5:["#fef6b5","#ffd08e","#ffa679","#f67b77","#e15383"],6:["#fef6b5","#ffd795","#ffb77f","#fd9576","#f37378","#e15383"],7:["#fef6b5","#ffdd9a","#ffc285","#ffa679","#fa8a76","#f16d7a","#e15383"],tags:["quantitative"]},Mint:{2:["#e4f1e1","#0d585f"],3:["#e4f1e1","#63a6a0","#0d585f"],4:["#e4f1e1","#89c0b6","#448c8a","#0d585f"],5:["#E4F1E1","#9CCDC1","#63A6A0","#337F7F","#0D585F"],6:["#e4f1e1","#abd4c7","#7ab5ad","#509693","#2c7778","#0d585f"],7:["#e4f1e1","#b4d9cc","#89c0b6","#63a6a0","#448c8a","#287274","#0d585f"],tags:["quantitative"]},BluGrn:{2:["#c4e6c3","#1d4f60"],3:["#c4e6c3","#4da284","#1d4f60"],4:["#c4e6c3","#6dbc90","#36877a","#1d4f60"],5:["#c4e6c3","#80c799","#4da284","#2d7974","#1d4f60"],6:["#c4e6c3","#8dce9f","#5fb28b","#3e927e","#297071","#1d4f60"],7:["#c4e6c3","#96d2a4","#6dbc90","#4da284","#36877a","#266b6e","#1d4f60"],tags:["quantitative"]},DarkMint:{2:["#d2fbd4","#123f5a"],3:["#d2fbd4","#559c9e","#123f5a"],4:["#d2fbd4","#7bbcb0","#3a7c89","#123f5a"],5:["#d2fbd4","#8eccb9","#559c9e","#2b6c7f","#123f5a"],6:["#d2fbd4","#9cd5be","#6cafa9","#458892","#266377","#123f5a"],7:["#d2fbd4","#a5dbc2","#7bbcb0","#559c9e","#3a7c89","#235d72","#123f5a"],tags:["quantitative"]},Emrld:{2:["#d3f2a3","#074050"],3:["#d3f2a3","#4c9b82","#074050"],4:["#d3f2a3","#6cc08b","#217a79","#074050"],5:["#d3f2a3","#82d091","#4c9b82","#19696f","#074050"],6:["#d3f2a3","#8fda94","#60b187","#35877d","#145f69","#074050"],7:["#d3f2a3","#97e196","#6cc08b","#4c9b82","#217a79","#105965","#074050"],tags:["quantitative"]},ag_GrnYl:{2:["#245668","#EDEF5D"],3:["#245668","#39AB7E","#EDEF5D"],4:["#245668","#0D8F81","#6EC574","#EDEF5D"],5:["#245668","#04817E","#39AB7E","#8BD16D","#EDEF5D"],6:["#245668","#09787C","#1D9A81","#58BB79","#9DD869","#EDEF5D"],7:["#245668","#0F7279","#0D8F81","#39AB7E","#6EC574","#A9DC67","#EDEF5D"],tags:["aggregation"]},BluYl:{2:["#f7feae","#045275"],3:["#f7feae","#46aea0","#045275"],4:["#f7feae","#7ccba2","#089099","#045275"],5:["#f7feae","#9bd8a4","#46aea0","#058092","#045275"],6:["#f7feae","#ace1a4","#68bfa1","#2a9c9c","#02778e","#045275"],7:["#f7feae","#b7e6a5","#7ccba2","#46aea0","#089099","#00718b","#045275"],tags:["quantitative"]},Teal:{2:["#d1eeea","#2a5674"],3:["#d1eeea","#68abb8","#2a5674"],4:["#d1eeea","#85c4c9","#4f90a6","#2a5674"],5:["#d1eeea","#96d0d1","#68abb8","#45829b","#2a5674"],6:["#d1eeea","#a1d7d6","#79bbc3","#599bae","#3f7994","#2a5674"],7:["#d1eeea","#a8dbd9","#85c4c9","#68abb8","#4f90a6","#3b738f","#2a5674"],tags:["quantitative"]},TealGrn:{2:["#b0f2bc","#257d98"],3:["#b0f2bc","#4cc8a3","#257d98"],4:["#b0f2bc","#67dba5","#38b2a3","#257d98"],5:["#b0f2bc","#77e2a8","#4cc8a3","#31a6a2","#257d98"],6:["#b0f2bc","#82e6aa","#5bd4a4","#3fbba3","#2e9ea1","#257d98"],7:["#b0f2bc","#89e8ac","#67dba5","#4cc8a3","#38b2a3","#2c98a0","#257d98"],tags:["quantitative"]},Purp:{2:["#f3e0f7","#63589f"],3:["#f3e0f7","#b998dd","#63589f"],4:["#f3e0f7","#d1afe8","#9f82ce","#63589f"],5:["#f3e0f7","#dbbaed","#b998dd","#9178c4","#63589f"],6:["#f3e0f7","#e0c2ef","#c8a5e4","#aa8bd4","#8871be","#63589f"],7:["#f3e0f7","#e4c7f1","#d1afe8","#b998dd","#9f82ce","#826dba","#63589f"],tags:["quantitative"]},PurpOr:{3:["#f9ddda","#ce78b3","#573b88"],4:["#f9ddda","#e597b9","#ad5fad","#573b88"],5:["#f9ddda","#eda8bd","#ce78b3","#9955a8","#573b88"],6:["#f9ddda","#f0b2c1","#dd8ab6","#bb69b0","#8c4fa4","#573b88"],7:["#f9ddda","#f2b9c4","#e597b9","#ce78b3","#ad5fad","#834ba0","#573b88"],tags:["quantitative"]},Sunset:{2:["#f3e79b","#5c53a5"],3:["#f3e79b","#eb7f86","#5c53a5"],4:["#f3e79b","#f8a07e","#ce6693","#5c53a5"],5:["#f3e79b","#fab27f","#eb7f86","#b95e9a","#5c53a5"],6:["#f3e79b","#fabc82","#f59280","#dc6f8e","#ab5b9e","#5c53a5"],7:["#f3e79b","#fac484","#f8a07e","#eb7f86","#ce6693","#a059a0","#5c53a5"],tags:["quantitative"]},Magenta:{2:["#f3cbd3","#6c2167"],3:["#f3cbd3","#ca699d","#6c2167"],4:["#f3cbd3","#dd88ac","#b14d8e","#6c2167"],5:["#f3cbd3","#e498b4","#ca699d","#a24186","#6c2167"],6:["#f3cbd3","#e7a2b9","#d67ba5","#bc5894","#983a81","#6c2167"],7:["#f3cbd3","#eaa9bd","#dd88ac","#ca699d","#b14d8e","#91357d","#6c2167"],tags:["quantitative"]},SunsetDark:{2:["#fcde9c","#7c1d6f"],3:["#fcde9c","#e34f6f","#7c1d6f"],4:["#fcde9c","#f0746e","#dc3977","#7c1d6f"],5:["#fcde9c","#f58670","#e34f6f","#d72d7c","#7c1d6f"],6:["#fcde9c","#f89872","#ec666d","#df4273","#c5287b","#7c1d6f"],7:["#fcde9c","#faa476","#f0746e","#e34f6f","#dc3977","#b9257a","#7c1d6f"],tags:["quantitative"]},ag_Sunset:{2:["#4b2991","#edd9a3"],3:["#4b2991","#ea4f88","#edd9a3"],4:["#4b2991","#c0369d","#fa7876","#edd9a3"],5:["#4b2991","#a52fa2","#ea4f88","#fa9074","#edd9a3"],6:["#4b2991","#932da3","#d43f96","#f7667c","#f89f77","#edd9a3"],7:["#4b2991","#872ca2","#c0369d","#ea4f88","#fa7876","#f6a97a","#edd9a3"],tags:["aggregation"]},BrwnYl:{2:["#ede5cf","#541f3f"],3:["#ede5cf","#c1766f","#541f3f"],4:["#ede5cf","#d39c83","#a65461","#541f3f"],5:["#ede5cf","#daaf91","#c1766f","#95455a","#541f3f"],6:["#ede5cf","#ddba9b","#cd8c7a","#b26166","#8a3c56","#541f3f"],7:["#ede5cf","#e0c2a2","#d39c83","#c1766f","#a65461","#813753","#541f3f"],tags:["quantitative"]},ArmyRose:{2:["#929b4f","#db8195"],3:["#a3ad62","#fdfbe4","#df91a3"],4:["#929b4f","#d9dbaf","#f3d1ca","#db8195"],5:["#879043","#c1c68c","#fdfbe4","#ebb4b8","#d8758b"],6:["#7f883b","#b0b874","#e3e4be","#f6ddd1","#e4a0ac","#d66d85"],7:["#798234","#a3ad62","#d0d3a2","#fdfbe4","#f0c6c3","#df91a3","#d46780"],tags:["diverging"]},Fall:{2:["#3d5941","#ca562c"],3:["#3d5941","#f6edbd","#ca562c"],4:["#3d5941","#b5b991","#edbb8a","#ca562c"],5:["#3d5941","#96a07c","#f6edbd","#e6a272","#ca562c"],6:["#3d5941","#839170","#cecea2","#f1cf9e","#e19464","#ca562c"],7:["#3d5941","#778868","#b5b991","#f6edbd","#edbb8a","#de8a5a","#ca562c"],tags:["diverging"]},Geyser:{2:["#008080","#ca562c"],3:["#008080","#f6edbd","#ca562c"],4:["#008080","#b4c8a8","#edbb8a","#ca562c"],5:["#008080","#92b69e","#f6edbd","#e6a272","#ca562c"],6:["#008080","#7eab98","#ced7b1","#f1cf9e","#e19464","#ca562c"],7:["#008080","#70a494","#b4c8a8","#f6edbd","#edbb8a","#de8a5a","#ca562c"],tags:["diverging"]},Temps:{2:["#009392","#cf597e"],3:["#009392","#e9e29c","#cf597e"],4:["#009392","#9ccb86","#eeb479","#cf597e"],5:["#009392","#71be83","#e9e29c","#ed9c72","#cf597e"],6:["#009392","#52b684","#bcd48c","#edc783","#eb8d71","#cf597e"],7:["#009392","#39b185","#9ccb86","#e9e29c","#eeb479","#e88471","#cf597e"],tags:["diverging"]},TealRose:{2:["#009392","#d0587e"],3:["#009392","#f1eac8","#d0587e"],4:["#009392","#91b8aa","#f1eac8","#dfa0a0","#d0587e"],5:["#009392","#91b8aa","#f1eac8","#dfa0a0","#d0587e"],6:["#009392","#72aaa1","#b1c7b3","#e5b9ad","#d98994","#d0587e"],7:["#009392","#72aaa1","#b1c7b3","#f1eac8","#e5b9ad","#d98994","#d0587e"],tags:["diverging"]},Tropic:{2:["#009B9E","#C75DAB"],3:["#009B9E","#F1F1F1","#C75DAB"],4:["#009B9E","#A7D3D4","#E4C1D9","#C75DAB"],5:["#009B9E","#7CC5C6","#F1F1F1","#DDA9CD","#C75DAB"],6:["#009B9E","#5DBCBE","#C6DFDF","#E9D4E2","#D99BC6","#C75DAB"],7:["#009B9E","#42B7B9","#A7D3D4","#F1F1F1","#E4C1D9","#D691C1","#C75DAB"],tags:["diverging"]},Earth:{2:["#A16928","#2887a1"],3:["#A16928","#edeac2","#2887a1"],4:["#A16928","#d6bd8d","#b5c8b8","#2887a1"],5:["#A16928","#caa873","#edeac2","#98b7b2","#2887a1"],6:["#A16928","#c29b64","#e0cfa2","#cbd5bc","#85adaf","#2887a1"],7:["#A16928","#bd925a","#d6bd8d","#edeac2","#b5c8b8","#79a7ac","#2887a1"],tags:["diverging"]},Antique:{2:["#855C75","#D9AF6B","#7C7C7C"],3:["#855C75","#D9AF6B","#AF6458","#7C7C7C"],4:["#855C75","#D9AF6B","#AF6458","#736F4C","#7C7C7C"],5:["#855C75","#D9AF6B","#AF6458","#736F4C","#526A83","#7C7C7C"],6:["#855C75","#D9AF6B","#AF6458","#736F4C","#526A83","#625377","#7C7C7C"],7:["#855C75","#D9AF6B","#AF6458","#736F4C","#526A83","#625377","#68855C","#7C7C7C"],8:["#855C75","#D9AF6B","#AF6458","#736F4C","#526A83","#625377","#68855C","#9C9C5E","#7C7C7C"],9:["#855C75","#D9AF6B","#AF6458","#736F4C","#526A83","#625377","#68855C","#9C9C5E","#A06177","#7C7C7C"],10:["#855C75","#D9AF6B","#AF6458","#736F4C","#526A83","#625377","#68855C","#9C9C5E","#A06177","#8C785D","#7C7C7C"],11:["#855C75","#D9AF6B","#AF6458","#736F4C","#526A83","#625377","#68855C","#9C9C5E","#A06177","#8C785D","#467378","#7C7C7C"],tags:["qualitative"]},Bold:{2:["#7F3C8D","#11A579","#A5AA99"],3:["#7F3C8D","#11A579","#3969AC","#A5AA99"],4:["#7F3C8D","#11A579","#3969AC","#F2B701","#A5AA99"],5:["#7F3C8D","#11A579","#3969AC","#F2B701","#E73F74","#A5AA99"],6:["#7F3C8D","#11A579","#3969AC","#F2B701","#E73F74","#80BA5A","#A5AA99"],7:["#7F3C8D","#11A579","#3969AC","#F2B701","#E73F74","#80BA5A","#E68310","#A5AA99"],8:["#7F3C8D","#11A579","#3969AC","#F2B701","#E73F74","#80BA5A","#E68310","#008695","#A5AA99"],9:["#7F3C8D","#11A579","#3969AC","#F2B701","#E73F74","#80BA5A","#E68310","#008695","#CF1C90","#A5AA99"],10:["#7F3C8D","#11A579","#3969AC","#F2B701","#E73F74","#80BA5A","#E68310","#008695","#CF1C90","#f97b72","#A5AA99"],11:["#7F3C8D","#11A579","#3969AC","#F2B701","#E73F74","#80BA5A","#E68310","#008695","#CF1C90","#f97b72","#4b4b8f","#A5AA99"],tags:["qualitative"]},Pastel:{2:["#66C5CC","#F6CF71","#B3B3B3"],3:["#66C5CC","#F6CF71","#F89C74","#B3B3B3"],4:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#B3B3B3"],5:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#87C55F","#B3B3B3"],6:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#87C55F","#9EB9F3","#B3B3B3"],7:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#87C55F","#9EB9F3","#FE88B1","#B3B3B3"],8:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#87C55F","#9EB9F3","#FE88B1","#C9DB74","#B3B3B3"],9:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#87C55F","#9EB9F3","#FE88B1","#C9DB74","#8BE0A4","#B3B3B3"],10:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#87C55F","#9EB9F3","#FE88B1","#C9DB74","#8BE0A4","#B497E7","#B3B3B3"],11:["#66C5CC","#F6CF71","#F89C74","#DCB0F2","#87C55F","#9EB9F3","#FE88B1","#C9DB74","#8BE0A4","#B497E7","#D3B484","#B3B3B3"],tags:["qualitative"]},Prism:{2:["#5F4690","#1D6996","#666666"],3:["#5F4690","#1D6996","#38A6A5","#666666"],4:["#5F4690","#1D6996","#38A6A5","#0F8554","#666666"],5:["#5F4690","#1D6996","#38A6A5","#0F8554","#73AF48","#666666"],6:["#5F4690","#1D6996","#38A6A5","#0F8554","#73AF48","#EDAD08","#666666"],7:["#5F4690","#1D6996","#38A6A5","#0F8554","#73AF48","#EDAD08","#E17C05","#666666"],8:["#5F4690","#1D6996","#38A6A5","#0F8554","#73AF48","#EDAD08","#E17C05","#CC503E","#666666"],9:["#5F4690","#1D6996","#38A6A5","#0F8554","#73AF48","#EDAD08","#E17C05","#CC503E","#94346E","#666666"],10:["#5F4690","#1D6996","#38A6A5","#0F8554","#73AF48","#EDAD08","#E17C05","#CC503E","#94346E","#6F4070","#666666"],11:["#5F4690","#1D6996","#38A6A5","#0F8554","#73AF48","#EDAD08","#E17C05","#CC503E","#94346E","#6F4070","#994E95","#666666"],tags:["qualitative"]},Safe:{2:["#88CCEE","#CC6677","#888888"],3:["#88CCEE","#CC6677","#DDCC77","#888888"],4:["#88CCEE","#CC6677","#DDCC77","#117733","#888888"],5:["#88CCEE","#CC6677","#DDCC77","#117733","#332288","#888888"],6:["#88CCEE","#CC6677","#DDCC77","#117733","#332288","#AA4499","#888888"],7:["#88CCEE","#CC6677","#DDCC77","#117733","#332288","#AA4499","#44AA99","#888888"],8:["#88CCEE","#CC6677","#DDCC77","#117733","#332288","#AA4499","#44AA99","#999933","#888888"],9:["#88CCEE","#CC6677","#DDCC77","#117733","#332288","#AA4499","#44AA99","#999933","#882255","#888888"],10:["#88CCEE","#CC6677","#DDCC77","#117733","#332288","#AA4499","#44AA99","#999933","#882255","#661100","#888888"],11:["#88CCEE","#CC6677","#DDCC77","#117733","#332288","#AA4499","#44AA99","#999933","#882255","#661100","#6699CC","#888888"],tags:["qualitative","colorblind"]},Vivid:{2:["#E58606","#5D69B1","#A5AA99"],3:["#E58606","#5D69B1","#52BCA3","#A5AA99"],4:["#E58606","#5D69B1","#52BCA3","#99C945","#A5AA99"],5:["#E58606","#5D69B1","#52BCA3","#99C945","#CC61B0","#A5AA99"],6:["#E58606","#5D69B1","#52BCA3","#99C945","#CC61B0","#24796C","#A5AA99"],7:["#E58606","#5D69B1","#52BCA3","#99C945","#CC61B0","#24796C","#DAA51B","#A5AA99"],8:["#E58606","#5D69B1","#52BCA3","#99C945","#CC61B0","#24796C","#DAA51B","#2F8AC4","#A5AA99"],9:["#E58606","#5D69B1","#52BCA3","#99C945","#CC61B0","#24796C","#DAA51B","#2F8AC4","#764E9F","#A5AA99"],10:["#E58606","#5D69B1","#52BCA3","#99C945","#CC61B0","#24796C","#DAA51B","#2F8AC4","#764E9F","#ED645A","#A5AA99"],11:["#E58606","#5D69B1","#52BCA3","#99C945","#CC61B0","#24796C","#DAA51B","#2F8AC4","#764E9F","#ED645A","#CC3A8E","#A5AA99"],tags:["qualitative"]}},r={Blues:{tags:["quantitative"]},BrBG:{tags:["diverging"]},Greys:{tags:["quantitative"]},PiYG:{tags:["diverging"]},PRGn:{tags:["diverging"]},Purples:{tags:["quantitative"]},RdYlGn:{tags:["diverging"]},Spectral:{tags:["diverging"]},YlOrBr:{tags:["quantitative"]},YlGn:{tags:["quantitative"]},YlGnBu:{tags:["quantitative"]},YlOrRd:{tags:["quantitative"]}},i=e("colorbrewer");for(var s in i){var o=i[s],u={};for(var a in o)u[a]=o[a];s in r&&(u.tags=r[s].tags),n["cb_"+s]=u}typeof define=="function"&&define.amd?define(n):typeof t=="object"&&t.exports?t.exports=n:this.colorbrewer=n}()},{colorbrewer:87}],85:[function(e,t,n){t.exports=e("./cartocolor")},{"./cartocolor":84}],86:[function(e,t,n){!function(){var e={YlGn:{3:["#f7fcb9","#addd8e","#31a354"],4:["#ffffcc","#c2e699","#78c679","#238443"],5:["#ffffcc","#c2e699","#78c679","#31a354","#006837"],6:["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],7:["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],8:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],9:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]},YlGnBu:{3:["#edf8b1","#7fcdbb","#2c7fb8"],4:["#ffffcc","#a1dab4","#41b6c4","#225ea8"],5:["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],6:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],7:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],8:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],9:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]},GnBu:{3:["#e0f3db","#a8ddb5","#43a2ca"],4:["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],5:["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],6:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],7:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],8:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],9:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]},BuGn:{3:["#e5f5f9","#99d8c9","#2ca25f"],4:["#edf8fb","#b2e2e2","#66c2a4","#238b45"],5:["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],6:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],7:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],8:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],9:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]},PuBuGn:{3:["#ece2f0","#a6bddb","#1c9099"],4:["#f6eff7","#bdc9e1","#67a9cf","#02818a"],5:["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],6:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],7:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],8:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],9:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]},PuBu:{3:["#ece7f2","#a6bddb","#2b8cbe"],4:["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],5:["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],6:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],7:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],8:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],9:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]},BuPu:{3:["#e0ecf4","#9ebcda","#8856a7"],4:["#edf8fb","#b3cde3","#8c96c6","#88419d"],5:["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],6:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],7:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],8:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],9:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]},RdPu:{3:["#fde0dd","#fa9fb5","#c51b8a"],4:["#feebe2","#fbb4b9","#f768a1","#ae017e"],5:["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],6:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],7:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],8:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],9:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]},PuRd:{3:["#e7e1ef","#c994c7","#dd1c77"],4:["#f1eef6","#d7b5d8","#df65b0","#ce1256"],5:["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],6:["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],7:["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],8:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],9:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]},OrRd:{3:["#fee8c8","#fdbb84","#e34a33"],4:["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],5:["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],6:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],7:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],8:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],9:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]},YlOrRd:{3:["#ffeda0","#feb24c","#f03b20"],4:["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],5:["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],6:["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],7:["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],8:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],9:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]},YlOrBr:{3:["#fff7bc","#fec44f","#d95f0e"],4:["#ffffd4","#fed98e","#fe9929","#cc4c02"],5:["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],6:["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],7:["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],8:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],9:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]},Purples:{3:["#efedf5","#bcbddc","#756bb1"],4:["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],5:["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],6:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],7:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],8:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],9:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]},Blues:{3:["#deebf7","#9ecae1","#3182bd"],4:["#eff3ff","#bdd7e7","#6baed6","#2171b5"],5:["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],6:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],7:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],8:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],9:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]},Greens:{3:["#e5f5e0","#a1d99b","#31a354"],4:["#edf8e9","#bae4b3","#74c476","#238b45"],5:["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],6:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],7:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],8:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],9:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]},Oranges:{3:["#fee6ce","#fdae6b","#e6550d"],4:["#feedde","#fdbe85","#fd8d3c","#d94701"],5:["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],6:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],7:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],8:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],9:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]},Reds:{3:["#fee0d2","#fc9272","#de2d26"],4:["#fee5d9","#fcae91","#fb6a4a","#cb181d"],5:["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],6:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],7:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],8:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],9:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]},Greys:{3:["#f0f0f0","#bdbdbd","#636363"],4:["#f7f7f7","#cccccc","#969696","#525252"],5:["#f7f7f7","#cccccc","#969696","#636363","#252525"],6:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],7:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],8:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],9:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]},PuOr:{3:["#f1a340","#f7f7f7","#998ec3"],4:["#e66101","#fdb863","#b2abd2","#5e3c99"],5:["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],6:["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],7:["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],8:["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],9:["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],10:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],11:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]},BrBG:{3:["#d8b365","#f5f5f5","#5ab4ac"],4:["#a6611a","#dfc27d","#80cdc1","#018571"],5:["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],6:["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],7:["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],8:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],9:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],10:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],11:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]},PRGn:{3:["#af8dc3","#f7f7f7","#7fbf7b"],4:["#7b3294","#c2a5cf","#a6dba0","#008837"],5:["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],6:["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],7:["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],8:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],9:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],10:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],11:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]},PiYG:{3:["#e9a3c9","#f7f7f7","#a1d76a"],4:["#d01c8b","#f1b6da","#b8e186","#4dac26"],5:["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],6:["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],7:["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],8:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],9:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],10:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],11:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]},RdBu:{3:["#ef8a62","#f7f7f7","#67a9cf"],4:["#ca0020","#f4a582","#92c5de","#0571b0"],5:["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],6:["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],7:["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]},RdGy:{3:["#ef8a62","#ffffff","#999999"],4:["#ca0020","#f4a582","#bababa","#404040"],5:["#ca0020","#f4a582","#ffffff","#bababa","#404040"],6:["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],7:["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]},RdYlBu:{3:["#fc8d59","#ffffbf","#91bfdb"],4:["#d7191c","#fdae61","#abd9e9","#2c7bb6"],5:["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],6:["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],7:["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],8:["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],9:["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]},Spectral:{3:["#fc8d59","#ffffbf","#99d594"],4:["#d7191c","#fdae61","#abdda4","#2b83ba"],5:["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],6:["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],7:["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],8:["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],9:["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],10:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],11:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]},RdYlGn:{3:["#fc8d59","#ffffbf","#91cf60"],4:["#d7191c","#fdae61","#a6d96a","#1a9641"],5:["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],6:["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],7:["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],8:["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],9:["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]},Accent:{3:["#7fc97f","#beaed4","#fdc086"],4:["#7fc97f","#beaed4","#fdc086","#ffff99"],5:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],6:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],7:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],8:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]},Dark2:{3:["#1b9e77","#d95f02","#7570b3"],4:["#1b9e77","#d95f02","#7570b3","#e7298a"],5:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],6:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],7:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],8:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]},Paired:{3:["#a6cee3","#1f78b4","#b2df8a"],4:["#a6cee3","#1f78b4","#b2df8a","#33a02c"],5:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],6:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],7:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],8:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],9:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],10:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],11:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],12:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]},Pastel1:{3:["#fbb4ae","#b3cde3","#ccebc5"],4:["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],5:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],6:["#fbb4ae","#b3cde3","#ccebc5","#decbe4"
,"#fed9a6","#ffffcc"],7:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],8:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],9:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Pastel2:{3:["#b3e2cd","#fdcdac","#cbd5e8"],4:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],5:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],6:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],7:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],8:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]},Set1:{3:["#e41a1c","#377eb8","#4daf4a"],4:["#e41a1c","#377eb8","#4daf4a","#984ea3"],5:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],6:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],7:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],8:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],9:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]},Set2:{3:["#66c2a5","#fc8d62","#8da0cb"],4:["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],5:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],6:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],7:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],8:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]},Set3:{3:["#8dd3c7","#ffffb3","#bebada"],4:["#8dd3c7","#ffffb3","#bebada","#fb8072"],5:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],6:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],7:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],8:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],9:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],10:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],11:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],12:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]}};typeof define=="function"&&define.amd?define(e):typeof t=="object"&&t.exports?t.exports=e:this.colorbrewer=e}()},{}],87:[function(e,t,n){t.exports=e("./colorbrewer.js")},{"./colorbrewer.js":86}],88:[function(e,t,n){function r(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function i(){var e=arguments,t=this.useColors;e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+n.humanize(this.diff);if(!t)return e;var r="color: "+this.color;e=[e[0],r,"color: inherit"].concat(Array.prototype.slice.call(e,1));var i=0,s=0;return e[0].replace(/%[a-z%]/g,function(e){if("%%"===e)return;i++,"%c"===e&&(s=i)}),e.splice(s,0,r),e}function s(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function o(e){try{null==e?n.storage.removeItem("debug"):n.storage.debug=e}catch(t){}}function u(){var e;try{e=n.storage.debug}catch(t){}return e}function a(){try{return window.localStorage}catch(e){}}n=t.exports=e("./debug"),n.log=s,n.formatArgs=i,n.save=o,n.load=u,n.useColors=r,n.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:a(),n.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],n.formatters.j=function(e){return JSON.stringify(e)},n.enable(u())},{"./debug":89}],89:[function(e,t,n){function s(){return n.colors[r++%n.colors.length]}function o(e){function t(){}function r(){var e=r,t=+(new Date),o=t-(i||t);e.diff=o,e.prev=i,e.curr=t,i=t,null==e.useColors&&(e.useColors=n.useColors()),null==e.color&&e.useColors&&(e.color=s());var u=Array.prototype.slice.call(arguments);u[0]=n.coerce(u[0]),"string"!=typeof u[0]&&(u=["%o"].concat(u));var a=0;u[0]=u[0].replace(/%([a-z%])/g,function(t,r){if(t==="%%")return t;a++;var i=n.formatters[r];if("function"==typeof i){var s=u[a];t=i.call(e,s),u.splice(a,1),a--}return t}),"function"==typeof n.formatArgs&&(u=n.formatArgs.apply(e,u));var f=r.log||n.log||console.log.bind(console);f.apply(e,u)}t.enabled=!1,r.enabled=!0;var o=n.enabled(e)?r:t;return o.namespace=e,o}function u(e){n.save(e);var t=(e||"").split(/[\s,]+/),r=t.length;for(var i=0;i<r;i++){if(!t[i])continue;e=t[i].replace(/\*/g,".*?"),e[0]==="-"?n.skips.push(new RegExp("^"+e.substr(1)+"$")):n.names.push(new RegExp("^"+e+"$"))}}function a(){n.enable("")}function f(e){var t,r;for(t=0,r=n.skips.length;t<r;t++)if(n.skips[t].test(e))return!1;for(t=0,r=n.names.length;t<r;t++)if(n.names[t].test(e))return!0;return!1}function l(e){return e instanceof Error?e.stack||e.message:e}n=t.exports=o,n.coerce=l,n.disable=a,n.enable=u,n.enabled=f,n.humanize=e("ms"),n.names=[],n.skips=[],n.formatters={};var r=0,i},{ms:90}],90:[function(e,t,n){function a(e){e=""+e;if(e.length>1e4)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var n=parseFloat(t[1]),a=(t[2]||"ms").toLowerCase();switch(a){case"years":case"year":case"yrs":case"yr":case"y":return n*u;case"days":case"day":case"d":return n*o;case"hours":case"hour":case"hrs":case"hr":case"h":return n*s;case"minutes":case"minute":case"mins":case"min":case"m":return n*i;case"seconds":case"second":case"secs":case"sec":case"s":return n*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n}}function f(e){return e>=o?Math.round(e/o)+"d":e>=s?Math.round(e/s)+"h":e>=i?Math.round(e/i)+"m":e>=r?Math.round(e/r)+"s":e+"ms"}function l(e){return c(e,o,"day")||c(e,s,"hour")||c(e,i,"minute")||c(e,r,"second")||e+" ms"}function c(e,t,n){if(e<t)return;return e<t*1.5?Math.floor(e/t)+" "+n:Math.ceil(e/t)+" "+n+"s"}var r=1e3,i=r*60,s=i*60,o=s*24,u=o*365.25;t.exports=function(e,t){return t=t||{},"string"==typeof e?a(e):t.long?l(e):f(e)}},{}],91:[function(e,t,n){(function(n,r){(function(){"use strict";function i(e){return typeof e=="function"||typeof e=="object"&&e!==null}function s(e){return typeof e=="function"}function o(e){return typeof e=="object"&&e!==null}function p(e){c=e}function d(e){h=e}function w(){return function(){n.nextTick(C)}}function E(){return function(){l(C)}}function S(){var e=0,t=new g(C),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}function x(){var e=new MessageChannel;return e.port1.onmessage=C,function(){e.port2.postMessage(0)}}function T(){return function(){setTimeout(C,1)}}function C(){for(var e=0;e<f;e+=2){var t=N[e],n=N[e+1];t(n),N[e]=undefined,N[e+1]=undefined}f=0}function k(){try{var t=e,n=t("vertx");return l=n.runOnLoop||n.runOnContext,E()}catch(r){return T()}}function A(e,t){var n=this,r=n._state;if(r===H&&!e||r===B&&!t)return this;var i=new this.constructor(D),s=n._result;if(r){var o=arguments[r-1];h(function(){et(r,i,o,s)})}else K(n,i,e,t);return i}function M(e){var t=this;if(e&&typeof e=="object"&&e.constructor===t)return e;var n=new t(D);return X(n,e),n}function D(){}function F(){return new TypeError("You cannot resolve a promise with itself")}function I(){return new TypeError("A promises callback cannot return that same promise.")}function q(e){try{return e.then}catch(t){return j.error=t,j}}function R(e,t,n,r){try{e.call(t,n,r)}catch(i){return i}}function U(e,t,n){h(function(e){var r=!1,i=R(n,t,function(n){if(r)return;r=!0,t!==n?X(e,n):$(e,n)},function(t){if(r)return;r=!0,J(e,t)},"Settle: "+(e._label||" unknown promise"));!r&&i&&(r=!0,J(e,i))},e)}function z(e,t){t._state===H?$(e,t._result):t._state===B?J(e,t._result):K(t,undefined,function(t){X(e,t)},function(t){J(e,t)})}function W(e,t,n){t.constructor===e.constructor&&n===O&&constructor.resolve===_?z(e,t):n===j?J(e,j.error):n===undefined?$(e,t):s(n)?U(e,t,n):$(e,t)}function X(e,t){e===t?J(e,F()):i(t)?W(e,t,q(t)):$(e,t)}function V(e){e._onerror&&e._onerror(e._result),Q(e)}function $(e,t){if(e._state!==P)return;e._result=t,e._state=H,e._subscribers.length!==0&&h(Q,e)}function J(e,t){if(e._state!==P)return;e._state=B,e._result=t,h(V,e)}function K(e,t,n,r){var i=e._subscribers,s=i.length;e._onerror=null,i[s]=t,i[s+H]=n,i[s+B]=r,s===0&&e._state&&h(Q,e)}function Q(e){var t=e._subscribers,n=e._state;if(t.length===0)return;var r,i,s=e._result;for(var o=0;o<t.length;o+=3)r=t[o],i=t[o+n],r?et(n,r,i,s):i(s);e._subscribers.length=0}function G(){this.error=null}function Z(e,t){try{return e(t)}catch(n){return Y.error=n,Y}}function et(e,t,n,r){var i=s(n),o,u,a,f;if(i){o=Z(n,r),o===Y?(f=!0,u=o.error,o=null):a=!0;if(t===o){J(t,I());return}}else o=r,a=!0;t._state===P&&(i&&a?X(t,o):f?J(t,u):e===H?$(t,o):e===B&&J(t,o))}function tt(e,t){try{t(function(n){X(e,n)},function(n){J(e,n)})}catch(n){J(e,n)}}function nt(e){return(new pt(this,e)).promise}function it(e){function i(e){X(n,e)}function s(e){J(n,e)}var t=this,n=new t(D);if(!a(e))return J(n,new TypeError("You must pass an array to race.")),n;var r=e.length;for(var o=0;n._state===P&&o<r;o++)K(t.resolve(e[o]),undefined,i,s);return n}function ot(e){var t=this,n=new t(D);return J(n,e),n}function ft(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function lt(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function ht(e){this._id=at++,this._state=undefined,this._result=undefined,this._subscribers=[],D!==e&&(typeof e!="function"&&ft(),this instanceof ht?tt(this,e):lt())}function dt(e,t){this._instanceConstructor=e,this.promise=new e(D),Array.isArray(t)?(this._input=t,this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),this.length===0?$(this.promise,this._result):(this.length=this.length||0,this._enumerate(),this._remaining===0&&$(this.promise,this._result))):J(this.promise,this._validationError())}function vt(){var e;if(typeof r!="undefined")e=r;else if(typeof self!="undefined")e=self;else try{e=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=e.Promise;if(n&&Object.prototype.toString.call(n.resolve())==="[object Promise]"&&!n.cast)return;e.Promise=ct}var u;Array.isArray?u=Array.isArray:u=function(e){return Object.prototype.toString.call(e)==="[object Array]"};var a=u,f=0,l,c,h=function(t,n){N[f]=t,N[f+1]=n,f+=2,f===2&&(c?c(C):L())},v=typeof window!="undefined"?window:undefined,m=v||{},g=m.MutationObserver||m.WebKitMutationObserver,y=typeof n!="undefined"&&{}.toString.call(n)==="[object process]",b=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined",N=new Array(1e3),L;y?L=w():g?L=S():b?L=x():v===undefined&&typeof e=="function"?L=k():L=T();var O=A,_=M,P=void 0,H=1,B=2,j=new G,Y=new G,rt=nt,st=it,ut=ot,at=0,ct=ht;ht.all=rt,ht.race=st,ht.resolve=_,ht.reject=ut,ht._setScheduler=p,ht._setAsap=d,ht._asap=h,ht.prototype={constructor:ht,then:O,"catch":function(e){return this.then(null,e)}};var pt=dt;dt.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},dt.prototype._enumerate=function(){var e=this.length,t=this._input;for(var n=0;this._state===P&&n<e;n++)this._eachEntry(t[n],n)},dt.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===_){var i=q(e);if(i===O&&e._state!==P)this._settledAt(e._state,t,e._result);else if(typeof i!="function")this._remaining--,this._result[t]=e;else if(n===ct){var s=new n(D);W(s,e,i),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){t(e)}),t)}else this._willSettleAt(r(e),t)},dt.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===P&&(this._remaining--,e===B?J(r,n):this._result[t]=n),this._remaining===0&&$(r,this._result)},dt.prototype._willSettleAt=function(e,t){var n=this;K(e,undefined,function(e){n._settledAt(H,t,e)},function(e){n._settledAt(B,t,e)})};var mt=vt,gt={Promise:ct,polyfill:mt};typeof define=="function"&&define.amd?define(function(){return gt}):typeof t!="undefined"&&t.exports?t.exports=gt:typeof this!="undefined"&&(this.ES6Promise=gt),mt()}).call(this)}).call(this,e("_process"),typeof global!="undefined"?global:typeof self!="undefined"?self:typeof window!="undefined"?window:{})},{_process:42}],92:[function(e,t,n){function o(e){return this instanceof o?(this.nodes=r(e),this):new o(e)}var r=e("./parse"),i=e("./walk"),s=e("./stringify");o.prototype.toString=function(){return Array.isArray(this.nodes)?s(this.nodes):""},o.prototype.walk=function(e,t){return i(this.nodes,e,t),this},o.unit=e("./unit"),o.walk=i,o.stringify=s,t.exports=o},{"./parse":93,"./stringify":94,"./unit":95,"./walk":96}],93:[function(e,t,n){var r="(".charCodeAt(0),i=")".charCodeAt(0),s="'".charCodeAt(0),o='"'.charCodeAt(0),u="\\".charCodeAt(0),a="/".charCodeAt(0),f=",".charCodeAt(0),l=":".charCodeAt(0),c="*".charCodeAt(0);t.exports=function(e){var t=[],n=e,h,p,d,v,m,g,y,b=0,w=n.charCodeAt(b),E=n.length,S=[{nodes:t}],x=0,T,N="",C="",k="";while(b<E)if(w<=32){h=b;do h+=1,w=n.charCodeAt(h);while(w<=32);v=n.slice(b,h),d=t[t.length-1],w===i&&x?k=v:d&&d.type==="div"?d.after=v:w===f||w===l||w===a&&n.charCodeAt(h+1)!==c?C=v:t.push({type:"space",sourceIndex:b,value:v}),b=h}else if(w===s||w===o){h=b,p=w===s?"'":'"',v={type:"string",sourceIndex:b,quote:p};do{m=!1,h=n.indexOf(p,h+1);if(~h){g=h;while(n.charCodeAt(g-1)===u)g-=1,m=!m}else n+=p,h=n.length-1,v.unclosed=!0}while(m);v.value=n.slice(b+1,h),t.push(v),b=h+1,w=n.charCodeAt(b)}else if(w===a&&n.charCodeAt(b+1)===c)v={type:"comment",sourceIndex:b},h=n.indexOf("*/",b),h===-1&&(v.unclosed=!0,h=n.length),v.value=n.slice(b+2,h),t.push(v),b=h+2,w=n.charCodeAt(b);else if(w===a||w===f||w===l)v=n[b],t.push({type:"div",sourceIndex:b-C.length,value:v,before:C,after:""}),C="",b+=1,w=n.charCodeAt(b);else if(r===w){h=b;do h+=1,w=n.charCodeAt(h);while(w<=32);v={type:"function",sourceIndex:b-N.length,value:N,before:n.slice(b+1,h)},b=h;if(N==="url"&&w!==s&&w!==o){h-=1;do{m=!1,h=n.indexOf(")",h+1);if(~h){g=h;while(n.charCodeAt(g-1)===u)g-=1,m=!m}else n+=")",h=n.length-1,v.unclosed=!0}while(m);y=h;do y-=1,w=n.charCodeAt(y);while(w<=32);b!==y+1?v.nodes=[{type:"word",sourceIndex:b,value:n.slice(b,y+1)}]:v.nodes=[],v.unclosed&&y+1!==h?(v.after="",v.nodes.push({type:"space",sourceIndex:y+1,value:n.slice(y+1,h)})):v.after=n.slice(y+1,h),b=h+1,w=n.charCodeAt(b),t.push(v)}else x+=1,v.after="",t.push(v),S.push(v),t=v.nodes=[],T=v;N=""}else if(i===w&&x)b+=1,w=n.charCodeAt(b),T.after=k,k="",x-=1,S.pop(),T=S[x],t=T.nodes;else{h=b;do w===u&&(h+=1),h+=1,w=n.charCodeAt(h);while(h<E&&!(w<=32||w===s||w===o||w===f||w===l||w===a||w===r||w===i&&x));v=n.slice(b,h),r===w?N=v:t.push({type:"word",sourceIndex:b,value:v}),b=h}for(b=S.length-1;b;b-=1)S[b].unclosed=!0;return S[0].nodes}},{}],94:[function(e,t,n){function r(e,t){var n=e.type,r=e.value,s,o;return t&&(o=t(e))!==undefined?o:n==="word"||n==="space"?r:n==="string"?(s=e.quote||"",s+r+(e.unclosed?"":s)):n==="comment"?"/*"+r+(e.unclosed?"":"*/"):n==="div"?(e.before||"")+r+(e.after||""):Array.isArray(e.nodes)?(s=i(e.nodes),n!=="function"?s:r+"("+(e.before||"")+s+(e.after||"")+(e.unclosed?"":")")):r}function i(e,t){var n,i;if(Array.isArray(e)){n="";for(i=e.length-1;~i;i-=1)n=r(e[i],t)+n;return n}return r(e,t)}t.exports=i},{}],95:[function(e,t,n){var r="-".charCodeAt(0),i="+".charCodeAt(0),s=".".charCodeAt(0);t.exports=function(e){var t=0,n=e.length,o=!1,u=!1,a,f="";while(t<n){a=e.charCodeAt(t);if(a>=48&&a<=57)f+=e[t],u=!0;else if(a===s){if(o)break;o=!0,f+=e[t]}else{if(a!==i&&a!==r)break;if(t!==0)break;f+=e[t]}t+=1}return u?{number:f,unit:e.slice(t)}:!1}},{}],96:[function(e,t,n){t.exports=function r(e,t,n){var i,s,o,u;for(i=0,s=e.length;i<s;i+=1)o=e[i],n||(u=t(o,i,e)),u!==!1&&o.type==="function"&&Array.isArray(o.nodes)&&r(o.nodes,t,n),n&&t(o,i,e)}},{}],97:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||typeof t!="object"&&typeof t!="function"?e:t}function c(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("./container"),s=a(i),o=e("./warn-once"),u=a(o),h=function(e){function t(n){f(this,t);var r=l(this,e.call(this,n));return r.type="atrule",r}return c(t,e),t.prototype.append=function(){var n;this.nodes||(this.nodes=[]);for(var r=arguments.length,i=Array(r),s=0;s<r;s++)i[s]=arguments[s];return(n=e.prototype.append).call.apply(n,[this].concat(i))},t.prototype.prepend=function(){var n;this.nodes||(this.nodes=[]);for(var r=arguments.length,i=Array(r),s=0;s<r;s++)i[s]=arguments[s];return(n=e.prototype.prepend).call.apply(n,[this].concat(i))},r(t,[{key:"afterName",get:function(){return(0,u.default)("AtRule#afterName was deprecated. Use AtRule#raws.afterName"),this.raws.afterName},set:function(t){(0,u.default)("AtRule#afterName was deprecated. Use AtRule#raws.afterName"),this.raws.afterName=t}},{key:"_params",get:function(){return(0,u.default)("AtRule#_params was deprecated. Use AtRule#raws.params"),this.raws.params},set:function(t){(0,u.default)("AtRule#_params was deprecated. Use AtRule#raws.params"),this.raws.params=t}}]),t}(s.default);n.default=h,t.exports=n["default"]},{"./container":99,"./warn-once":119}],98:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||typeof t!="object"&&typeof t!="function"?e:t}function c(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("./warn-once"),s=a(i),o=e("./node"),u=a(o),h=function(e){function t(n){f(this,t);var r=l(this,e.call(this,n));return r.type="comment",r}return c(t,e),r(t,[{key:"left",get:function(){return(0,s.default)("Comment#left was deprecated. Use Comment#raws.left"),this.raws.left},set:function(t){(0,s.default)("Comment#left was deprecated. Use Comment#raws.left"),this.raws.left=t}},{key:"right",get:function(){return(0,s.default)("Comment#right was deprecated. Use Comment#raws.right"),this.raws.right},set:function(t){(0,s.default)("Comment#right was deprecated. Use Comment#raws.right"),this.raws.right=t}}]),t}(u.default);n.default=h,t.exports=n["default"]},{"./node":106,"./warn-once":119}],99:[function(e,t,n){"use strict";function h(e){return e&&e.__esModule?e:{"default":e}}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||typeof t!="object"&&typeof t!="function"?e:t}function v(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("./declaration"),s=h(i),o=e("./warn-once"),u=h(o),a=e("./comment"),f=h(a),l=e("./node"),c=h(l),m=function(t){function n(){return p(this,n),d(this,t.apply(this,arguments))}return v(n,t),n.prototype.push=function(t){return t.parent=this,this.nodes.push(t),this},n.prototype.each=function(t){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;var n=this.lastEach;this.indexes[n]=0;if(!this.nodes)return undefined;var r=undefined,i=undefined;while(this.indexes[n]<this.nodes.length){r=this.indexes[n],i=t(this.nodes[r],r);if(i===!1)break;this.indexes[n]+=1}return delete this.indexes[n],i},n.prototype.walk=function(t){return this.each(function(e,n){var r=t(e,n);return r!==!1&&e.walk&&(r=e.walk(t)),r})},n.prototype.walkDecls=function(t,n){return n?t instanceof RegExp?this.walk(function(e,r){if(e.type==="decl"&&t.test(e.prop))return n(e,r)}):this.walk(function(e,r){if(e.type==="decl"&&e.prop===t)return n(e,r)}):(n=t,this.walk(function(e,t){if(e.type==="decl")return n(e,t)}))},n.prototype.walkRules=function(t,n){return n?t instanceof RegExp?this.walk(function(e,r){if(e.type==="rule"&&t.test(e.selector))return n(e,r)}):this.walk(function(e,r){if(e.type==="rule"&&e.selector===t)return n(e,r)}):(n=t,this.walk(function(e,t){if(e.type==="rule")return n(e,t)}))},n.prototype.walkAtRules=function(t,n){return n?t instanceof RegExp?this.walk(function(e,r){if(e.type==="atrule"&&t.test(e.name))return n(e,r)}):this.walk(function(e,r){if(e.type==="atrule"&&e.name===t)return n(e,r)}):(n=t,this.walk(function(e,t){if(e.type==="atrule")return n(e,t)}))},n.prototype.walkComments=function(t){return this.walk(function(e,n){if(e.type==="comment")return t(e,n)})},n.prototype.append=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];for(var i=n,s=Array.isArray(i),o=0,i=s?i:i[Symbol.iterator]();;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{o=i.next();if(o.done)break;u=o.value}var a=u,f=this.normalize(a,this.last);for(var l=f,c=Array.isArray(l),h=0,l=c?l:l[Symbol.iterator]();;){var p;if(c){if(h>=l.length)break;p=l[h++]}else{h=l.next();if(h.done)break;p=h.value}var d=p;this.nodes.push(d)}}return this},n.prototype.prepend=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];n=n.reverse();for(var i=n,s=Array.isArray(i),o=0,i=s?i:i[Symbol.iterator]();;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{o=i.next();if(o.done)break;u=o.value}var a=u,f=this.normalize(a,this.first,"prepend").reverse();for(var l=f,c=Array.isArray(l),h=0,l=c?l:l[Symbol.iterator]();;){var p;if(c){if(h>=l.length)break;p=l[h++]}else{h=l.next();if(h.done)break;p=h.value}var d=p;this.nodes.unshift(d)}for(var v in this.indexes)this.indexes[v]=this.indexes[v]+f.length}return this},n.prototype.cleanRaws=function(n){t.prototype.cleanRaws.call(this,n);if(this.nodes)for(var r=this.nodes,i=Array.isArray(r),s=0,r=i?r:r[Symbol.iterator]();;){var o;if(i){if(s>=r.length)break;o=r[s++]}else{s=r.next();if(s.done)break;o=s.value}var u=o;u.cleanRaws(n)}},n.prototype.insertBefore=function(t,n){t=this.index(t);var r=t===0?"prepend":!1,i=this.normalize(n,this.nodes[t],r).reverse();for(var s=i,o=Array.isArray(s),u=0,s=o?s:s[Symbol.iterator]();;){var a;if(o){if(u>=s.length)break;a=s[u++]}else{u=s.next();if(u.done)break;a=u.value}var f=a;this.nodes.splice(t,0,f)}var l=undefined;for(var c in this.indexes)l=this.indexes[c],t<=l&&(this.indexes[c]=l+i.length);return this},n.prototype.insertAfter=function(t,n){t=this.index(t);var r=this.normalize(n,this.nodes[t]).reverse();for(var i=r,s=Array.isArray(i),o=0,i=s?i:i[Symbol.iterator]();;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{o=i.next();if(o.done)break;u=o.value}var a=u;this.nodes.splice(t+1,0,a)}var f=undefined;for(var l in this.indexes)f=this.indexes[l],t<f&&(this.indexes[l]=f+r.length);return this},n.prototype.remove=function(n){return typeof n!="undefined"?((0,u.default)("Container#remove is deprecated. Use Container#removeChild"),this.removeChild(n)):t.prototype.remove.call(this),this},n.prototype.removeChild=function(t){t=this.index(t),this.nodes[t].parent=undefined,this.nodes.splice(t,1);var n=undefined;for(var r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this},n.prototype.removeAll=function(){for(var t=this.nodes,n=Array.isArray(t),r=0,t=n?t:t[Symbol.iterator]();;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{r=t.next();if(r.done)break;i=r.value}var s=i;s.parent=undefined}return this.nodes=[],this},n.prototype.replaceValues=function(t,n,r){return r||(r=n,n={}),this.walkDecls(function(e){if(n.props&&n.props.indexOf(e.prop)===-1)return;if(n.fast&&e.value.indexOf(n.fast)===-1)return;e.value=e.value.replace(t,r)}),this},n.prototype.every=function(t){return this.nodes.every(t)},n.prototype.some=function(t){return this.nodes.some(t)},n.prototype.index=function(t){return typeof t=="number"?t:this.nodes.indexOf(t)},n.prototype.normalize=function(n,r){var i=this;if(typeof n=="string"){var o=e("./parse");n=o(n).nodes}else if(!Array.isArray(n))if(n.type==="root")n=n.nodes;else if(n.type)n=[n];else if(n.prop){if(typeof n.value=="undefined")throw new Error("Value field is missed in node creation");n=[new s.default(n)]}else if(n.selector){var u=e("./rule");n=[new u(n)]}else if(n.name){var a=e("./at-rule");n=[new a(n)]}else{if(!n.text)throw new Error("Unknown node type in node creation");n=[new f.default(n)]}var l=n.map(function(e){return typeof e.raws=="undefined"&&(e=i.rebuild(e)),e.parent&&(e=e.clone()),typeof e.raws.before=="undefined"&&r&&typeof r.raws.before!="undefined"&&(e.raws.before=r.raws.before.replace(/[^\s]/g,"")),e.parent=i,e});return l},n.prototype.rebuild=function(n,r){var i=this,o=undefined;if(n.type==="root"){var u=e("./root");o=new u}else if(n.type==="atrule"){var a=e("./at-rule");o=new a}else if(n.type==="rule"){var l=e("./rule");o=new l}else n.type==="decl"?o=new s.default:n.type==="comment"&&(o=new f.default);for(var c in n)c==="nodes"?o.nodes=n.nodes.map(function(e){return i.rebuild(e,o)}):c==="parent"&&r?o.parent=r:n.hasOwnProperty(c)&&(o[c]=n[c]);return o},n.prototype.eachInside=function(t){return(0,u.default)("Container#eachInside is deprecated. Use Container#walk instead."),this.walk(t)},n.prototype.eachDecl=function(t,n){return(0,u.default)("Container#eachDecl is deprecated. Use Container#walkDecls instead."),this.walkDecls(t,n)},n.prototype.eachRule=function(t,n){return(0,u.default)("Container#eachRule is deprecated. Use Container#walkRules instead."),this.walkRules(t,n)},n.prototype.eachAtRule=function(t,n){return(0,u.default)("Container#eachAtRule is deprecated. Use Container#walkAtRules instead."),this.walkAtRules(t,n)},n.prototype.eachComment=function(t){return(0,u.default)("Container#eachComment is deprecated. Use Container#walkComments instead."),this.walkComments(t)},r(n,[{key:"first",get:function(){return this.nodes?this.nodes[0]:undefined}},{key:"last",get:function(){return this.nodes?this.nodes[this.nodes.length-1]:undefined}},{key:"semicolon",get:function(){return(0,u.default)("Node#semicolon is deprecated. Use Node#raws.semicolon"),this.raws.semicolon},set:function(t){(0,u.default)("Node#semicolon is deprecated. Use Node#raws.semicolon"),this.raws.semicolon=t}},{key:"after",get:function(){return(0,u.default)("Node#after is deprecated. Use Node#raws.after"),this.raws.after},set:function(t){(0,u.default)("Node#after is deprecated. Use Node#raws.after"),this.raws.after=t}}]),n}(c.default);n.default=m,t.exports=n["default"]},{"./at-rule":97,"./comment":98,"./declaration":101,"./node":106,"./parse":107,"./root":113,"./rule":114,"./warn-once":119}],100:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("supports-color"),s=a(i),o=e("./warn-once"),u=a(o),l=function(){function e(t,n,r,i,s,o){f(this,e),this.name="CssSyntaxError",this.reason=t,s&&(this.file=s),i&&(this.source=i),o&&(this.plugin=o),typeof n!="undefined"&&typeof r!="undefined"&&(this.line=n,this.column=r),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}return e.prototype.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line!="undefined"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},e.prototype.showSourceCode=function(t){if(!this.source)return"";var n=this.line-1,r=this.source.split("\n"),i=n>0?r[n-1]+"\n":"",o=r[n],u=n<r.length-1?"\n"+r[n+1]:"",a="\n";for(var f=0;f<this.column-1;f++)a+=" ";return typeof t=="undefined"&&(t=s.default),t?a+="^":a+="^","\n"+i+o+a+u},e.prototype.toString=function t(){return this.name+": "+this.message+this.showSourceCode()},r(e,[{key:"generated",get:function(){return(0,u.default)("CssSyntaxError#generated is depreacted. Use input instead."),this.input}}]),e}();n.default=l,t.exports=n["default"]},{"./warn-once":119,"supports-color":133}],101:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||typeof t!="object"&&typeof t!="function"?e:t}function c(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("./warn-once"),s=a(i),o=e("./node"),u=a(o),h=function(e){function t(n){f(this,t);var r=l(this,e.call(this,n));return r.type="decl",r}return c(t,e),r(t,[{key:"_value",get:function(){return(0,s.default)("Node#_value was deprecated. Use Node#raws.value"),this.raws.value},set:function(t){(0,s.default)("Node#_value was deprecated. Use Node#raws.value"),this.raws.value=t}},{key:"_important",get:function(){return(0,s.default)("Node#_important was deprecated. Use Node#raws.important"),this.raws.important},set:function(t){(0,s.default)("Node#_important was deprecated. Use Node#raws.important"),this.raws.important=t}}]),t}(u.default);n.default=h,t.exports=n["default"]},{"./node":106,"./warn-once":119}],102:[function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("./css-syntax-error"),s=l(i),o=e("./previous-map"),u=l(o),a=e("path"),f=l(a),h=0,p=function(){function e(t){var n=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];c(this,e),this.css=t.toString();if(this.css[0]===""||this.css[0]==="￾")this.css=this.css.slice(1);n.from&&(this.file=f.default.resolve(n.from));var r=new u.default(this.css,n);if(r.text){this.map=r;var i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}this.file||(h+=1,this.id="<input css "+h+">"),this.map&&(this.map.file=this.from)}return e.prototype.error=function(t,n,r){var i=arguments.length<=3||arguments[3]===undefined?{}:arguments[3],o=undefined,u=this.origin(n,r);return u?o=new s.default(t,u.line,u.column,u.source,u.file,i.plugin):o=new s.default(
t,n,r,this.css,this.file,i.plugin),o.input={line:n,column:r,source:this.css},this.file&&(o.input.file=this.file),o},e.prototype.origin=function(t,n){if(!this.map)return!1;var r=this.map.consumer(),i=r.originalPositionFor({line:t,column:n});if(!i.source)return!1;var s={file:this.mapResolve(i.source),line:i.line,column:i.column},o=r.sourceContentFor(i.source);return o&&(s.source=o),s},e.prototype.mapResolve=function(t){return f.default.resolve(this.map.consumer().sourceRoot||".",t)},r(e,[{key:"from",get:function(){return this.file||this.id}}]),e}();n.default=p,t.exports=n["default"]},{"./css-syntax-error":100,"./previous-map":110,path:41}],103:[function(e,t,n){"use strict";function v(e){return e&&e.__esModule?e:{"default":e}}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function g(e){return(typeof e=="undefined"?"undefined":i(e))==="object"&&typeof e.then=="function"}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol?"symbol":typeof e},s=e("./map-generator"),o=v(s),u=e("./stringify"),a=v(u),f=e("./warn-once"),l=v(f),c=e("./result"),h=v(c),p=e("./parse"),d=v(p),y=function(){function e(t,n,r){m(this,e),this.stringified=!1,this.processed=!1;var s=undefined;if((typeof n=="undefined"?"undefined":i(n))==="object"&&n.type==="root")s=n;else if(n instanceof e||n instanceof h.default)s=n.root,n.map&&(typeof r.map=="undefined"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{var o=d.default;r.syntax&&(o=r.syntax.parse),r.parser&&(o=r.parser),o.parse&&(o=o.parse);try{s=o(n,r)}catch(u){this.error=u}}this.result=new h.default(t,s,r)}return e.prototype.warnings=function(){return this.sync().warnings()},e.prototype.toString=function t(){return this.css},e.prototype.then=function(t,n){return this.async().then(t,n)},e.prototype.catch=function(t){return this.async().catch(t)},e.prototype.handleError=function(t,n){try{this.error=t;if(t.name==="CssSyntaxError"&&!t.plugin)t.plugin=n.postcssPlugin,t.setMessage();else if(n.postcssVersion){var r=n.postcssPlugin,i=n.postcssVersion,s=this.result.processor.version,o=i.split("."),u=s.split(".");(o[0]!==u[0]||parseInt(o[1])>parseInt(u[1]))&&(0,l.default)("Your current PostCSS version is "+s+", but "+r+" "+"uses "+i+". Perhaps this is "+"the source of the error below.")}}catch(a){console&&console.error&&console.error(a)}},e.prototype.asyncTick=function(t,n){var r=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,t();try{(function(){var e=r.processor.plugins[r.plugin],i=r.run(e);r.plugin+=1,g(i)?i.then(function(){r.asyncTick(t,n)}).catch(function(t){r.handleError(t,e),r.processed=!0,n(t)}):r.asyncTick(t,n)})()}catch(i){this.processed=!0,n(i)}},e.prototype.async=function(){var t=this;return this.processed?new Promise(function(e,n){t.error?n(t.error):e(t.stringify())}):this.processing?this.processing:(this.processing=(new Promise(function(e,n){if(t.error)return n(t.error);t.plugin=0,t.asyncTick(e,n)})).then(function(){return t.processed=!0,t.stringify()}),this.processing)},e.prototype.sync=function(){if(this.processed)return this.result;this.processed=!0;if(this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var t=this.result.processor.plugins,n=Array.isArray(t),r=0,t=n?t:t[Symbol.iterator]();;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{r=t.next();if(r.done)break;i=r.value}var s=i,o=this.run(s);if(g(o))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},e.prototype.run=function(t){this.result.lastPlugin=t;try{return t(this.result.root,this.result)}catch(n){throw this.handleError(n,t),n}},e.prototype.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var t=this.result.opts,n=a.default;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);var r=new o.default(n,this.result.root,this.result.opts),i=r.generate();return this.result.css=i[0],this.result.map=i[1],this.result},r(e,[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}]),e}();n.default=y,t.exports=n["default"]},{"./map-generator":105,"./parse":107,"./result":112,"./stringify":116,"./warn-once":119}],104:[function(e,t,n){"use strict";n.__esModule=!0;var r={split:function i(e,t,n){var r=[],s="",i=!1,o=0,u=!1,a=!1;for(var f=0;f<e.length;f++){var l=e[f];u?a?a=!1:l==="\\"?a=!0:l===u&&(u=!1):l==='"'||l==="'"?u=l:l==="("?o+=1:l===")"?o>0&&(o-=1):o===0&&t.indexOf(l)!==-1&&(i=!0),i?(s!==""&&r.push(s.trim()),s="",i=!1):s+=l}return(n||s!=="")&&r.push(s.trim()),r},space:function(t){var n=[" ","\n"," "];return r.split(t,n)},comma:function s(e){var s=",";return r.split(e,[s],!0)}};n.default=r,t.exports=n["default"]},{}],105:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=e("js-base64"),i=e("source-map"),s=a(i),o=e("path"),u=a(o),l=function(){function e(t,n,r){f(this,e),this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r}return e.prototype.isMap=function(){return typeof this.opts.map!="undefined"?!!this.opts.map:this.previous().length>0},e.prototype.previous=function(){var t=this;return this.previousMaps||(this.previousMaps=[],this.root.walk(function(e){if(e.source&&e.source.input.map){var n=e.source.input.map;t.previousMaps.indexOf(n)===-1&&t.previousMaps.push(n)}})),this.previousMaps},e.prototype.isInline=function(){if(typeof this.mapOpts.inline!="undefined")return this.mapOpts.inline;var t=this.mapOpts.annotation;return typeof t!="undefined"&&t!==!0?!1:this.previous().length?this.previous().some(function(e){return e.inline}):!0},e.prototype.isSourcesContent=function(){return typeof this.mapOpts.sourcesContent!="undefined"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(function(e){return e.withContent()}):!0},e.prototype.clearAnnotation=function(){if(this.mapOpts.annotation===!1)return;var t=undefined;for(var n=this.root.nodes.length-1;n>=0;n--){t=this.root.nodes[n];if(t.type!=="comment")continue;t.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(n)}},e.prototype.setSourcesContent=function(){var t=this,n={};this.root.walk(function(e){if(e.source){var r=e.source.input.from;if(r&&!n[r]){n[r]=!0;var i=t.relative(r);t.map.setSourceContent(i,e.source.input.css)}}})},e.prototype.applyPrevMaps=function(){for(var t=this.previous(),n=Array.isArray(t),r=0,t=n?t:t[Symbol.iterator]();;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{r=t.next();if(r.done)break;i=r.value}var o=i,a=this.relative(o.file),f=o.root||u.default.dirname(o.file),l=undefined;this.mapOpts.sourcesContent===!1?(l=new s.default.SourceMapConsumer(o.text),l.sourcesContent&&(l.sourcesContent=l.sourcesContent.map(function(){return null}))):l=o.consumer(),this.map.applySourceMap(l,a,this.relative(f))}},e.prototype.isAnnotation=function(){return this.isInline()?!0:typeof this.mapOpts.annotation!="undefined"?this.mapOpts.annotation:this.previous().length?this.previous().some(function(e){return e.annotation}):!0},e.prototype.addAnnotation=function(){var t=undefined;this.isInline()?t="data:application/json;base64,"+r.Base64.encode(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:t=this.outputFile()+".map";var n="\n";this.css.indexOf("\r\n")!==-1&&(n="\r\n"),this.css+=n+"/*# sourceMappingURL="+t+" */"},e.prototype.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):"to.css"},e.prototype.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},e.prototype.relative=function(t){var n=this.opts.to?u.default.dirname(this.opts.to):".";return typeof this.mapOpts.annotation=="string"&&(n=u.default.dirname(u.default.resolve(n,this.mapOpts.annotation))),t=u.default.relative(n,t),u.default.sep==="\\"?t.replace(/\\/g,"/"):t},e.prototype.sourcePath=function(t){return this.relative(t.source.input.from)},e.prototype.generateString=function(){var t=this;this.css="",this.map=new s.default.SourceMapGenerator({file:this.outputFile()});var n=1,r=1,i=undefined,o=undefined;this.stringify(this.root,function(e,s,u){t.css+=e,s&&s.source&&s.source.start&&u!=="end"&&t.map.addMapping({source:t.sourcePath(s),original:{line:s.source.start.line,column:s.source.start.column-1},generated:{line:n,column:r-1}}),i=e.match(/\n/g),i?(n+=i.length,o=e.lastIndexOf("\n"),r=e.length-o):r+=e.length,s&&s.source&&s.source.end&&u!=="start"&&t.map.addMapping({source:t.sourcePath(s),original:{line:s.source.end.line,column:s.source.end.column},generated:{line:n,column:r-1}})})},e.prototype.generate=function(){this.clearAnnotation();if(this.isMap())return this.generateMap();var t="";return this.stringify(this.root,function(e){t+=e}),[t]},e}();n.default=l,t.exports=n["default"]},{"js-base64":121,path:41,"source-map":132}],106:[function(e,t,n){"use strict";function d(e){return e&&e.__esModule?e:{"default":e}}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol?"symbol":typeof e},o=e("./css-syntax-error"),u=d(o),a=e("./stringifier"),f=d(a),l=e("./stringify"),c=d(l),h=e("./warn-once"),p=d(h),m=function y(e,t){var n=new e.constructor;for(var r in e){if(!e.hasOwnProperty(r))continue;var i=e[r],o=typeof i=="undefined"?"undefined":s(i);r==="parent"&&o==="object"?t&&(n[r]=t):r==="source"?n[r]=i:i instanceof Array?n[r]=i.map(function(e){return y(e,n)}):r!=="before"&&r!=="after"&&r!=="between"&&r!=="semicolon"&&(o==="object"&&i!==null&&(i=y(i)),n[r]=i)}return n},g=function(){function e(){var t=arguments.length<=0||arguments[0]===undefined?{}:arguments[0];v(this,e),this.raws={};for(var n in t)this[n]=t[n]}return e.prototype.error=function(t){var n=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];if(this.source){var r=this.positionBy(n);return this.source.input.error(t,r.line,r.column,n)}return new u.default(t)},e.prototype.warn=function(t,n,i){return t.warn(n,r({node:this},i))},e.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=undefined,this},e.prototype.toString=function t(){var e=arguments.length<=0||arguments[0]===undefined?c.default:arguments[0];e.stringify&&(e=e.stringify);var t="";return e(this,function(e){t+=e}),t},e.prototype.clone=function(){var t=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],n=m(this);for(var r in t)n[r]=t[r];return n},e.prototype.cloneBefore=function(){var t=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],n=this.clone(t);return this.parent.insertBefore(this,n),n},e.prototype.cloneAfter=function(){var t=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],n=this.clone(t);return this.parent.insertAfter(this,n),n},e.prototype.replaceWith=function(){if(this.parent){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];for(var i=n,s=Array.isArray(i),o=0,i=s?i:i[Symbol.iterator]();;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{o=i.next();if(o.done)break;u=o.value}var a=u;this.parent.insertBefore(this,a)}this.remove()}return this},e.prototype.moveTo=function(t){return this.cleanRaws(this.root()===t.root()),this.remove(),t.append(this),this},e.prototype.moveBefore=function(t){return this.cleanRaws(this.root()===t.root()),this.remove(),t.parent.insertBefore(t,this),this},e.prototype.moveAfter=function(t){return this.cleanRaws(this.root()===t.root()),this.remove(),t.parent.insertAfter(t,this),this},e.prototype.next=function(){var t=this.parent.index(this);return this.parent.nodes[t+1]},e.prototype.prev=function(){var t=this.parent.index(this);return this.parent.nodes[t-1]},e.prototype.toJSON=function(){var t={};for(var n in this){if(!this.hasOwnProperty(n))continue;if(n==="parent")continue;var r=this[n];r instanceof Array?t[n]=r.map(function(e){return(typeof e=="undefined"?"undefined":s(e))==="object"&&e.toJSON?e.toJSON():e}):(typeof r=="undefined"?"undefined":s(r))==="object"&&r.toJSON?t[n]=r.toJSON():t[n]=r}return t},e.prototype.raw=function(t,n){var r=new f.default;return r.raw(this,t,n)},e.prototype.root=function(){var t=this;while(t.parent)t=t.parent;return t},e.prototype.cleanRaws=function(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between},e.prototype.positionInside=function(t){var n=this.toString(),r=this.source.start.column,i=this.source.start.line;for(var s=0;s<t;s++)n[s]==="\n"?(r=1,i+=1):r+=1;return{line:i,column:r}},e.prototype.positionBy=function(t){var n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){var r=this.toString().indexOf(t.word);r!==-1&&(n=this.positionInside(r))}return n},e.prototype.removeSelf=function(){return(0,p.default)("Node#removeSelf is deprecated. Use Node#remove."),this.remove()},e.prototype.replace=function(t){return(0,p.default)("Node#replace is deprecated. Use Node#replaceWith"),this.replaceWith(t)},e.prototype.style=function(t,n){return(0,p.default)("Node#style() is deprecated. Use Node#raw()"),this.raw(t,n)},e.prototype.cleanStyles=function(t){return(0,p.default)("Node#cleanStyles() is deprecated. Use Node#cleanRaws()"),this.cleanRaws(t)},i(e,[{key:"before",get:function(){return(0,p.default)("Node#before is deprecated. Use Node#raws.before"),this.raws.before},set:function(t){(0,p.default)("Node#before is deprecated. Use Node#raws.before"),this.raws.before=t}},{key:"between",get:function(){return(0,p.default)("Node#between is deprecated. Use Node#raws.between"),this.raws.between},set:function(t){(0,p.default)("Node#between is deprecated. Use Node#raws.between"),this.raws.between=t}}]),e}();n.default=g,t.exports=n["default"]},{"./css-syntax-error":100,"./stringifier":115,"./stringify":116,"./warn-once":119}],107:[function(e,t,n){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(t&&t.safe)throw new Error('Option safe was removed. Use parser: require("postcss-safe-parser")');var n=new o.default(e,t),r=new i.default(n);return r.tokenize(),r.loop(),r.root}n.__esModule=!0,n.default=a;var r=e("./parser"),i=u(r),s=e("./input"),o=u(s);t.exports=n["default"]},{"./input":102,"./parser":108}],108:[function(e,t,n){"use strict";function v(e){return e&&e.__esModule?e:{"default":e}}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=e("./declaration"),i=v(r),s=e("./tokenize"),o=v(s),u=e("./comment"),a=v(u),f=e("./at-rule"),l=v(f),c=e("./root"),h=v(c),p=e("./rule"),d=v(p),g=function(){function e(t){m(this,e),this.input=t,this.pos=0,this.root=new h.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.root.source={input:t,start:{line:1,column:1}}}return e.prototype.tokenize=function(){this.tokens=(0,o.default)(this.input)},e.prototype.loop=function(){var t=undefined;while(this.pos<this.tokens.length){t=this.tokens[this.pos];switch(t[0]){case"word":case":":this.word();break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.spaces+=t[1]}this.pos+=1}this.endFile()},e.prototype.comment=function(t){var n=new a.default;this.init(n,t[2],t[3]),n.source.end={line:t[4],column:t[5]};var r=t[1].slice(2,-2);if(/^\s*$/.test(r))n.text="",n.raws.left=r,n.raws.right="";else{var i=r.match(/^(\s*)([^]*[^\s])(\s*)$/);n.text=i[2],n.raws.left=i[1],n.raws.right=i[3]}},e.prototype.emptyRule=function(t){var n=new d.default;this.init(n,t[2],t[3]),n.selector="",n.raws.between="",this.current=n},e.prototype.word=function(){var t=undefined,n=!1,r=null,i=!1,s=null,o=0,u=this.pos;this.pos+=1;while(this.pos<this.tokens.length){t=this.tokens[this.pos],r=t[0];if(r==="(")s||(s=t),o+=1;else if(o===0){if(r===";"){if(i){this.decl(this.tokens.slice(u,this.pos+1));return}break}if(r==="{"){this.rule(this.tokens.slice(u,this.pos+1));return}if(r==="}"){this.pos-=1,n=!0;break}r===":"&&(i=!0)}else r===")"&&(o-=1,o===0&&(s=null));this.pos+=1}this.pos===this.tokens.length&&(this.pos-=1,n=!0),o>0&&this.unclosedBracket(s);if(n&&i){while(this.pos>u){t=this.tokens[this.pos][0];if(t!=="space"&&t!=="comment")break;this.pos-=1}this.decl(this.tokens.slice(u,this.pos+1));return}this.unknownWord(u)},e.prototype.rule=function(t){t.pop();var n=new d.default;this.init(n,t[0][2],t[0][3]),n.raws.between=this.spacesFromEnd(t),this.raw(n,"selector",t),this.current=n},e.prototype.decl=function(t){var n=new i.default;this.init(n);var r=t[t.length-1];r[0]===";"&&(this.semicolon=!0,t.pop()),r[4]?n.source.end={line:r[4],column:r[5]}:n.source.end={line:r[2],column:r[3]};while(t[0][0]!=="word")n.raws.before+=t.shift()[1];n.source.start={line:t[0][2],column:t[0][3]},n.prop="";while(t.length){var s=t[0][0];if(s===":"||s==="space"||s==="comment")break;n.prop+=t.shift()[1]}n.raws.between="";var o=undefined;while(t.length){o=t.shift();if(o[0]===":"){n.raws.between+=o[1];break}n.raws.between+=o[1]}if(n.prop[0]==="_"||n.prop[0]==="*")n.raws.before+=n.prop[0],n.prop=n.prop.slice(1);n.raws.between+=this.spacesFromStart(t),this.precheckMissedSemicolon(t);for(var u=t.length-1;u>0;u--){o=t[u];if(o[1]==="!important"){n.important=!0;var a=this.stringFrom(t,u);a=this.spacesFromEnd(t)+a,a!==" !important"&&(n.raws.important=a);break}if(o[1]==="important"){var f=t.slice(0),l="";for(var c=u;c>0;c--){var s=f[c][0];if(l.trim().indexOf("!")===0&&s!=="space")break;l=f.pop()[1]+l}l.trim().indexOf("!")===0&&(n.important=!0,n.raws.important=l,t=f)}if(o[0]!=="space"&&o[0]!=="comment")break}this.raw(n,"value",t),n.value.indexOf(":")!==-1&&this.checkMissedSemicolon(t)},e.prototype.atrule=function(t){var n=new l.default;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2],t[3]);var r=!1,i=!1,s=[];this.pos+=1;while(this.pos<this.tokens.length){t=this.tokens[this.pos];if(t[0]===";"){n.source.end={line:t[2],column:t[3]},this.semicolon=!0;break}if(t[0]==="{"){i=!0;break}if(t[0]==="}"){this.end(t);break}s.push(t),this.pos+=1}this.pos===this.tokens.length&&(r=!0),n.raws.between=this.spacesFromEnd(s),s.length?(n.raws.afterName=this.spacesFromStart(s),this.raw(n,"params",s),r&&(t=s[s.length-1],n.source.end={line:t[4],column:t[5]},this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),i&&(n.nodes=[],this.current=n)},e.prototype.end=function(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:t[2],column:t[3]},this.current=this.current.parent):this.unexpectedClose(t)},e.prototype.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},e.prototype.init=function(t,n,r){this.current.push(t),t.source={start:{line:n,column:r},input:this.input},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)},e.prototype.raw=function t(e,n,r){var i=undefined,s=undefined,o=r.length,u="",a=!0;for(var f=0;f<o;f+=1)i=r[f],s=i[0],s==="comment"||s==="space"&&f===o-1?a=!1:u+=i[1];if(!a){var t=r.reduce(function(e,t){return e+t[1]},"");e.raws[n]={value:u,raw:t}}e[n]=u},e.prototype.spacesFromEnd=function(t){var n=undefined,r="";while(t.length){n=t[t.length-1][0];if(n!=="space"&&n!=="comment")break;r+=t.pop()[1]}return r},e.prototype.spacesFromStart=function(t){var n=undefined,r="";while(t.length){n=t[0][0];if(n!=="space"&&n!=="comment")break;r+=t.shift()[1]}return r},e.prototype.stringFrom=function(t,n){var r="";for(var i=n;i<t.length;i++)r+=t[i][1];return t.splice(n,t.length-n),r},e.prototype.colon=function(t){var n=0,r=undefined,i=undefined,s=undefined;for(var o=0;o<t.length;o++){r=t[o],i=r[0];if(i==="(")n+=1;else if(i===")")n-=1;else if(n===0&&i===":"){if(!!s){if(s[0]==="word"&&s[1]==="progid")continue;return o}this.doubleColon(r)}s=r}return!1},e.prototype.unclosedBracket=function(t){throw this.input.error("Unclosed bracket",t[2],t[3])},e.prototype.unknownWord=function(t){var n=this.tokens[t];throw this.input.error("Unknown word",n[2],n[3])},e.prototype.unexpectedClose=function(t){throw this.input.error("Unexpected }",t[2],t[3])},e.prototype.unclosedBlock=function(){var t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)},e.prototype.doubleColon=function(t){throw this.input.error("Double colon",t[2],t[3])},e.prototype.unnamedAtrule=function(t,n){throw this.input.error("At-rule without name",n[2],n[3])},e.prototype.precheckMissedSemicolon=function(t){t},e.prototype.checkMissedSemicolon=function(t){var n=this.colon(t);if(n===!1)return;var r=0,i=undefined;for(var s=n-1;s>=0;s--){i=t[s];if(i[0]!=="space"){r+=1;if(r===2)break}}throw this.input.error("Missed semicolon",i[2],i[3])},e}();n.default=g,t.exports=n["default"]},{"./at-rule":97,"./comment":98,"./declaration":101,"./root":113,"./rule":114,"./tokenize":117}],109:[function(e,t,n){"use strict";function x(e){return e&&e.__esModule?e:{"default":e}}n.__esModule=!0;var r=e("./declaration"),i=x(r),s=e("./processor"),o=x(s),u=e("./stringify"),a=x(u),f=e("./comment"),l=x(f),c=e("./at-rule"),h=x(c),p=e("./vendor"),d=x(p),v=e("./parse"),m=x(v),g=e("./list"),y=x(g),b=e("./rule"),w=x(b),E=e("./root"),S=x(E),T=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return n.length===1&&Array.isArray(n[0])&&(n=n[0]),new o.default(n)};T.plugin=function(e,t){var n=function(){var r=t.apply(undefined,arguments);return r.postcssPlugin=e,r.postcssVersion=(new o.default).version,r};return n.postcss=n(),n.process=function(e,t){return T([n(t)]).process(e,t)},n},T.stringify=a.default,T.vendor=d.default,T.parse=m.default,T.list=y.default,T.comment=function(e){return new l.default(e)},T.atRule=function(e){return new h.default(e)},T.decl=function(e){return new i.default(e)},T.rule=function(e){return new w.default(e)},T.root=function(e){return new S.default(e)},n.default=T,t.exports=n["default"]},{"./at-rule":97,"./comment":98,"./declaration":101,"./list":104,"./parse":107,"./processor":111,"./root":113,"./rule":114,"./stringify":116,"./vendor":118}],110:[function(e,t,n){"use strict";function c(e){return e&&e.__esModule?e:{"default":e}}function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol?"symbol":typeof e},i=e("js-base64"),s=e("source-map"),o=c(s),u=e("path"),a=c(u),f=e("fs"),l=c(f),p=function(){function e(t,n){h(this,e),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");var r=n.map?n.map.prev:undefined,i=this.loadMap(n.from,r);i&&(this.text=i)}return e.prototype.consumer=function(){return this.consumerCache||(this.consumerCache=new o.default.SourceMapConsumer(this.text)),this.consumerCache},e.prototype.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},e.prototype.startWith=function(t,n){return t?t.substr(0,n.length)===n:!1},e.prototype.loadAnnotation=function(t){var n=t.match(/\/\*\s*# sourceMappingURL=(.*)\s*\*\//);n&&(this.annotation=n[1].trim())},e.prototype.decodeInline=function(t){var n="data:application/json;charset=utf-8;base64,",r="data:application/json;base64,",s="data:application/json,";if(this.startWith(t,s))return decodeURIComponent(t.substr(s.length));if(this.startWith(t,r))return i.Base64.decode(t.substr(r.length));if(this.startWith(t,n))return i.Base64.decode(t.substr(n.length));var o=t.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+o)},e.prototype.loadMap=function(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(n instanceof o.default.SourceMapConsumer)return o.default.SourceMapGenerator.fromSourceMap(n).toString();if(n instanceof o.default.SourceMapGenerator)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var r=this.annotation;return t&&(r=a.default.join(a.default.dirname(t),r)),this.root=a.default.dirname(r),l.default.existsSync&&l.default.existsSync(r)?l.default.readFileSync(r,"utf-8").toString().trim():!1}},e.prototype.isMap=function(t){return(typeof t=="undefined"?"undefined":r(t))!=="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"},e}();n.default=p,t.exports=n["default"]},{fs:35,"js-base64":121,path:41,"source-map":132}],111:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol?"symbol":typeof e},i=e("./lazy-result"),s=o(i),a=function(){function e(){var t=arguments.length<=0||arguments[0]===undefined?[]:arguments[0];u(this,e),this.version="5.0.14",this.plugins=this.normalize(t)}return e.prototype.use=function(t){return this.plugins=this.plugins.concat(this.normalize([t])),this},e.prototype.process=function(t){var n=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];return new s.default(this,t,n)},e.prototype.normalize=function(t){var n=[];for(var i=t,s=Array.isArray(i),o=0,i=s?i:i[Symbol.iterator]();;){var u;if(s){if(o>=i.length)break;u=i[o++]}else{o=i.next();if(o.done)break;u=o.value}var a=u;a.postcss&&(a=a.postcss);if((typeof a=="undefined"?"undefined":r(a))==="object"&&Array.isArray(a.plugins))n=n.concat(a.plugins);else{if(typeof a!="function")throw new Error(a+" is not a PostCSS plugin");n.push(a)}}return n},e}();n.default=a,t.exports=n["default"]},{"./lazy-result":103}],112:[function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("./warning"),s=o(i),a=function(){function e(t,n,r){u(this,e),this.processor=t,this.messages=[],this.root=n,this.opts=r,this.css=undefined,this.map=undefined}return e.prototype.toString=function t(){return this.css},e.prototype.warn=function(t){var n=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin),this.messages.push(new s.default(t,n))},e.prototype.warnings=function(){return this.messages.filter(function(e){return e.type==="warning"})},r(e,[{key:"content",get:function(){return this.css}}]),e}();n.default=a,t.exports=n["default"]},{"./warning":120}],113:[function(e,t,n){"use strict";function u(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||typeof t!="object"&&typeof t!="function"?e:t}function l(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}n.__esModule=!0;var r=e("./container"),i=u(r),s=e("./warn-once"),o=u(s),c=function(t){function n(e){a(this,n);var r=f(this,t.call(this,e));return r.type="root",r.nodes||(r.nodes=[]),r}return l(n,t),n.prototype.removeChild=function(n){return n=this.index(n),n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),t.prototype.removeChild.call(this,n)},n.prototype.normalize=function(n,r,i){var s=t.prototype.normalize.call(this,n);if(r)if(i==="prepend")this.nodes.length>1?r.raws.before=this.nodes[1].raws.before:delete r.raws.before;else if(this.first!==r)for(var o=s,u=Array.isArray(o),a=0,o=u?o:o[Symbol.iterator]();;){var f;if(u){if(a>=o.length)break;f=o[a++]}else{a=o.next();if(a.done)break;f=a.value}var l=f;l.raws.before=r.raws.before}return s},n.prototype.toResult=function(){var n=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],r=e("./lazy-result"),i=e("./processor"),s=new r(new i,this,n);return s.stringify()},n.prototype.remove=function(t){(0,o.default)("Root#remove is deprecated. Use Root#removeChild"),this.removeChild(t)},n.prototype.prevMap=function(){return(0,o.default)("Root#prevMap is deprecated. Use Root#source.input.map"),this.source.input.map},n}(i.default);n.default=c,t.exports=n["default"]},{"./container":99,"./lazy-result":103,"./processor":111,"./warn-once":119}],114:[function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||typeof t!="object"&&typeof t!="function"?e:t}function p(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}n.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("./container"),s=l(i),o=e("./warn-once"),u=l(o),a=e("./list"),f=l(a),d=function(e){function t(n){c(this,t);var r=h(this,e.call(this,n));return r.type="rule",r.nodes||(r.nodes=[]),r}return p(t,e),r(t,[{key:"selectors",get:function(){return f.default.comma(this.selector)},set:function(t){var n=this.selector?this.selector.match(/,\s*/):null,r=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}},{key:"_selector",get:function(){return(0,u.default)("Rule#_selector is deprecated. Use Rule#raws.selector"),this.raws.selector},set:function(t){(0,u.default)("Rule#_selector is deprecated. Use Rule#raws.selector"),this.raws.selector=t}}]),t}(s.default);n.default=d,t.exports=n["default"]},{"./container":99,"./list":104,"./warn-once":119}],115:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){return e[0].toUpperCase()+e.slice(1)}n.__esModule=!0;var i={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" "},o=function(){function e(t){r(this,e),this.builder=t}return e.prototype.stringify=function(t,n){this[t.type](t,n)}
,e.prototype.root=function(t){this.body(t),t.raws.after&&this.builder(t.raws.after)},e.prototype.comment=function(t){var n=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder("/*"+n+t.text+r+"*/",t)},e.prototype.decl=function(t,n){var r=this.raw(t,"between","colon"),i=t.prop+r+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),n&&(i+=";"),this.builder(i,t)},e.prototype.rule=function(t){this.block(t,this.rawValue(t,"selector"))},e.prototype.atrule=function(t,n){var r="@"+t.name,i=t.params?this.rawValue(t,"params"):"";typeof t.raws.afterName!="undefined"?r+=t.raws.afterName:i&&(r+=" ");if(t.nodes)this.block(t,r+i);else{var s=(t.raws.between||"")+(n?";":"");this.builder(r+i+s,t)}},e.prototype.body=function(t){var n=t.nodes.length-1;while(n>0){if(t.nodes[n].type!=="comment")break;n-=1}var r=this.raw(t,"semicolon");for(var i=0;i<t.nodes.length;i++){var s=t.nodes[i],o=this.raw(s,"before");o&&this.builder(o),this.stringify(s,n!==i||r)}},e.prototype.block=function(t,n){var r=this.raw(t,"between","beforeOpen");this.builder(n+r+"{",t,"start");var i=undefined;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(i),this.builder("}",t,"end")},e.prototype.raw=function(t,n,r){var o=undefined;r||(r=n);if(n){o=t.raws[n];if(typeof o!="undefined")return o}var u=t.parent;if(r==="before")if(!u||u.type==="root"&&u.first===t)return"";if(!u)return i[r];var a=t.root();a.rawCache||(a.rawCache={});if(typeof a.rawCache[r]!="undefined")return a.rawCache[r];if(r==="before"||r==="after")return this.beforeAfter(t,r);var f="raw"+s(r);return this[f]?o=this[f](a,t):a.walk(function(e){o=e.raws[n];if(typeof o!="undefined")return!1}),typeof o=="undefined"&&(o=i[r]),a.rawCache[r]=o,o},e.prototype.rawSemicolon=function(t){var n=undefined;return t.walk(function(e){if(e.nodes&&e.nodes.length&&e.last.type==="decl"){n=e.raws.semicolon;if(typeof n!="undefined")return!1}}),n},e.prototype.rawEmptyBody=function(t){var n=undefined;return t.walk(function(e){if(e.nodes&&e.nodes.length===0){n=e.raws.after;if(typeof n!="undefined")return!1}}),n},e.prototype.rawIndent=function(t){if(t.raws.indent)return t.raws.indent;var n=undefined;return t.walk(function(e){var r=e.parent;if(r&&r!==t&&r.parent&&r.parent===t&&typeof e.raws.before!="undefined"){var i=e.raws.before.split("\n");return n=i[i.length-1],n=n.replace(/[^\s]/g,""),!1}}),n},e.prototype.rawBeforeComment=function(t,n){var r=undefined;return t.walkComments(function(e){if(typeof e.raws.before!="undefined")return r=e.raws.before,r.indexOf("\n")!==-1&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r=="undefined"&&(r=this.raw(n,null,"beforeDecl")),r},e.prototype.rawBeforeDecl=function(t,n){var r=undefined;return t.walkDecls(function(e){if(typeof e.raws.before!="undefined")return r=e.raws.before,r.indexOf("\n")!==-1&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r=="undefined"&&(r=this.raw(n,null,"beforeRule")),r},e.prototype.rawBeforeRule=function(t){var n=undefined;return t.walk(function(e){if(e.nodes&&(e.parent!==t||t.first!==e)&&typeof e.raws.before!="undefined")return n=e.raws.before,n.indexOf("\n")!==-1&&(n=n.replace(/[^\n]+$/,"")),!1}),n},e.prototype.rawBeforeClose=function(t){var n=undefined;return t.walk(function(e){if(e.nodes&&e.nodes.length>0&&typeof e.raws.after!="undefined")return n=e.raws.after,n.indexOf("\n")!==-1&&(n=n.replace(/[^\n]+$/,"")),!1}),n},e.prototype.rawBeforeOpen=function(t){var n=undefined;return t.walk(function(e){if(e.type!=="decl"){n=e.raws.between;if(typeof n!="undefined")return!1}}),n},e.prototype.rawColon=function(t){var n=undefined;return t.walkDecls(function(e){if(typeof e.raws.between!="undefined")return n=e.raws.between.replace(/[^\s:]/g,""),!1}),n},e.prototype.beforeAfter=function(t,n){var r=undefined;t.type==="decl"?r=this.raw(t,null,"beforeDecl"):t.type==="comment"?r=this.raw(t,null,"beforeComment"):n==="before"?r=this.raw(t,null,"beforeRule"):r=this.raw(t,null,"beforeClose");var i=t.parent,s=0;while(i&&i.type!=="root")s+=1,i=i.parent;if(r.indexOf("\n")!==-1){var o=this.raw(t,null,"indent");if(o.length)for(var u=0;u<s;u++)r+=o}return r},e.prototype.rawValue=function(t,n){var r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r},e}();n.default=o,t.exports=n["default"]},{}],116:[function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){var n=new i.default(t);n.stringify(e)}n.__esModule=!0,n.default=o;var r=e("./stringifier"),i=s(r);t.exports=n["default"]},{"./stringifier":115}],117:[function(e,t,n){"use strict";function x(e){function q(t){throw e.error("Unclosed "+t,F,I-j)}var t=[],n=e.css.valueOf(),x=undefined,T=undefined,N=undefined,C=undefined,k=undefined,L=undefined,A=undefined,O=undefined,M=undefined,_=undefined,D=undefined,P=undefined,H=undefined,B=n.length,j=-1,F=1,I=0;while(I<B){x=n.charCodeAt(I);if(x===u||x===f||x===c&&n.charCodeAt(I+1)!==u)j=I,F+=1;switch(x){case u:case a:case l:case c:case f:T=I;do T+=1,x=n.charCodeAt(T),x===u&&(j=T,F+=1);while(x===a||x===u||x===l||x===c||x===f);t.push(["space",n.slice(I,T)]),I=T-1;break;case d:t.push(["{","{",F,I-j]);break;case v:t.push(["}","}",F,I-j]);break;case y:t.push([":",":",F,I-j]);break;case m:t.push([";",";",F,I-j]);break;case h:P=t.length?t[t.length-1][1]:"",H=n.charCodeAt(I+1);if(P==="url"&&H!==r&&H!==i&&H!==a&&H!==u&&H!==l&&H!==f&&H!==c){T=I;do{_=!1,T=n.indexOf(")",T+1),T===-1&&q("bracket"),D=T;while(n.charCodeAt(D-1)===s)D-=1,_=!_}while(_);t.push(["brackets",n.slice(I,T+1),F,I-j,F,T-j]),I=T}else T=n.indexOf(")",I+1),L=n.slice(I,T+1),T===-1||S.test(L)?t.push(["(","(",F,I-j]):(t.push(["brackets",L,F,I-j,F,T-j]),I=T);break;case p:t.push([")",")",F,I-j]);break;case r:case i:N=x===r?"'":'"',T=I;do{_=!1,T=n.indexOf(N,T+1),T===-1&&q("quote"),D=T;while(n.charCodeAt(D-1)===s)D-=1,_=!_}while(_);L=n.slice(I,T+1),C=L.split("\n"),k=C.length-1,k>0?(O=F+k,M=T-C[k].length):(O=F,M=j),t.push(["string",n.slice(I,T+1),F,I-j,O,T-M]),j=M,F=O,I=T;break;case b:w.lastIndex=I+1,w.test(n),w.lastIndex===0?T=n.length-1:T=w.lastIndex-2,t.push(["at-word",n.slice(I,T+1),F,I-j,F,T-j]),I=T;break;case s:T=I,A=!0;while(n.charCodeAt(T+1)===s)T+=1,A=!A;x=n.charCodeAt(T+1),A&&x!==o&&x!==a&&x!==u&&x!==l&&x!==c&&x!==f&&(T+=1),t.push(["word",n.slice(I,T+1),F,I-j,F,T-j]),I=T;break;default:x===o&&n.charCodeAt(I+1)===g?(T=n.indexOf("*/",I+2)+1,T===0&&q("comment"),L=n.slice(I,T+1),C=L.split("\n"),k=C.length-1,k>0?(O=F+k,M=T-C[k].length):(O=F,M=j),t.push(["comment",L,F,I-j,O,T-M]),j=M,F=O,I=T):(E.lastIndex=I+1,E.test(n),E.lastIndex===0?T=n.length-1:T=E.lastIndex-2,t.push(["word",n.slice(I,T+1),F,I-j,F,T-j]),I=T)}I++}return t}n.__esModule=!0,n.default=x;var r=39,i=34,s=92,o=47,u=10,a=32,f=12,l=9,c=13,h=40,p=41,d=123,v=125,m=59,g=42,y=58,b=64,w=/[ \n\t\r\f\{\(\)'"\\;/]/g,E=/[ \n\t\r\f\(\)\{\}:;@!'"\\]|\/(?=\*)/g,S=/.[\\\/\("'\n]/;t.exports=n["default"]},{}],118:[function(e,t,n){"use strict";n.__esModule=!0,n.default={prefix:function(t){if(t[0]==="-"){var n=t.indexOf("-",1);return t.substr(0,n+1)}return""},unprefixed:function(t){if(t[0]==="-"){var n=t.indexOf("-",1);return t.substr(n+1)}return t}},t.exports=n["default"]},{}],119:[function(e,t,n){"use strict";function i(e){if(r[e])return;r[e]=!0,typeof console!="undefined"&&console.warn&&console.warn(e)}n.__esModule=!0,n.default=i;var r={};t.exports=n["default"]},{}],120:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=function(){function e(t){var n=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];r(this,e),this.type="warning",this.text=t;if(n.node&&n.node.source){var i=n.node.positionBy(n);this.line=i.line,this.column=i.column}for(var s in n)this[s]=n[s]}return e.prototype.toString=function t(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text},e}();n.default=i,t.exports=n["default"]},{}],121:[function(e,t,n){(function(n){"use strict";var r=n.Base64,i="2.1.9",s;if(typeof t!="undefined"&&t.exports)try{s=e("buffer").Buffer}catch(o){}var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=function(e){var t={};for(var n=0,r=e.length;n<r;n++)t[e.charAt(n)]=n;return t}(u),f=String.fromCharCode,l=function(e){if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?f(192|t>>>6)+f(128|t&63):f(224|t>>>12&15)+f(128|t>>>6&63)+f(128|t&63)}var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return f(240|t>>>18&7)+f(128|t>>>12&63)+f(128|t>>>6&63)+f(128|t&63)},c=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,h=function(e){return e.replace(c,l)},p=function(e){var t=[0,2,1][e.length%3],n=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0),r=[u.charAt(n>>>18),u.charAt(n>>>12&63),t>=2?"=":u.charAt(n>>>6&63),t>=1?"=":u.charAt(n&63)];return r.join("")},d=n.btoa?function(e){return n.btoa(e)}:function(e){return e.replace(/[\s\S]{1,3}/g,p)},v=s?function(e){return(e.constructor===s.constructor?e:new s(e)).toString("base64")}:function(e){return d(h(e))},m=function(e,t){return t?v(String(e)).replace(/[+\/]/g,function(e){return e=="+"?"-":"_"}).replace(/=/g,""):v(String(e))},g=function(e){return m(e,!0)},y=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g"),b=function(e){switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),n=t-65536;return f((n>>>10)+55296)+f((n&1023)+56320);case 3:return f((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return f((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},w=function(e){return e.replace(y,b)},E=function(e){var t=e.length,n=t%4,r=(t>0?a[e.charAt(0)]<<18:0)|(t>1?a[e.charAt(1)]<<12:0)|(t>2?a[e.charAt(2)]<<6:0)|(t>3?a[e.charAt(3)]:0),i=[f(r>>>16),f(r>>>8&255),f(r&255)];return i.length-=[0,0,2,1][n],i.join("")},S=n.atob?function(e){return n.atob(e)}:function(e){return e.replace(/[\s\S]{1,4}/g,E)},x=s?function(e){return(e.constructor===s.constructor?e:new s(e,"base64")).toString()}:function(e){return w(S(e))},T=function(e){return x(String(e).replace(/[-_]/g,function(e){return e=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))},N=function(){var e=n.Base64;return n.Base64=r,e};n.Base64={VERSION:i,atob:S,btoa:d,fromBase64:T,toBase64:m,utob:h,encode:m,encodeURI:g,btou:w,decode:T,noConflict:N};if(typeof Object.defineProperty=="function"){var C=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}};n.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",C(function(){return T(this)})),Object.defineProperty(String.prototype,"toBase64",C(function(e){return m(this,e)})),Object.defineProperty(String.prototype,"toBase64URI",C(function(){return m(this,!0)}))}}n.Meteor&&(Base64=n.Base64)})(this)},{buffer:37}],122:[function(e,t,n){function s(){this._array=[],this._set=Object.create(null)}var r=e("./util"),i=Object.prototype.hasOwnProperty;s.fromArray=function(t,n){var r=new s;for(var i=0,o=t.length;i<o;i++)r.add(t[i],n);return r},s.prototype.size=function(){return Object.getOwnPropertyNames(this._set).length},s.prototype.add=function(t,n){var s=r.toSetString(t),o=i.call(this._set,s),u=this._array.length;(!o||n)&&this._array.push(t),o||(this._set[s]=u)},s.prototype.has=function(t){var n=r.toSetString(t);return i.call(this._set,n)},s.prototype.indexOf=function(t){var n=r.toSetString(t);if(i.call(this._set,n))return this._set[n];throw new Error('"'+t+'" is not in the set.')},s.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)},s.prototype.toArray=function(){return this._array.slice()},n.ArraySet=s},{"./util":131}],123:[function(e,t,n){function a(e){return e<0?(-e<<1)+1:(e<<1)+0}function f(e){var t=(e&1)===1,n=e>>1;return t?-n:n}var r=e("./base64"),i=5,s=1<<i,o=s-1,u=s;n.encode=function(t){var n="",s,f=a(t);do s=f&o,f>>>=i,f>0&&(s|=u),n+=r.encode(s);while(f>0);return n},n.decode=function(t,n,s){var a=t.length,l=0,c=0,h,p;do{if(n>=a)throw new Error("Expected more digits in base 64 VLQ value.");p=r.decode(t.charCodeAt(n++));if(p===-1)throw new Error("Invalid base64 digit: "+t.charAt(n-1));h=!!(p&u),p&=o,l+=p<<c,c+=i}while(h);s.value=f(l),s.rest=n}},{"./base64":124}],124:[function(e,t,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e<r.length)return r[e];throw new TypeError("Must be between 0 and 63: "+e)},n.decode=function(e){var t=65,n=90,r=97,i=122,s=48,o=57,u=43,a=47,f=26,l=52;return t<=e&&e<=n?e-t:r<=e&&e<=i?e-r+f:s<=e&&e<=o?e-s+l:e==u?62:e==a?63:-1}},{}],125:[function(e,t,n){function r(e,t,i,s,o,u){var a=Math.floor((t-e)/2)+e,f=o(i,s[a],!0);return f===0?a:f>0?t-a>1?r(a,t,i,s,o,u):u==n.LEAST_UPPER_BOUND?t<s.length?t:-1:a:a-e>1?r(e,a,i,s,o,u):u==n.LEAST_UPPER_BOUND?a:e<0?-1:e}n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(t,i,s,o){if(i.length===0)return-1;var u=r(-1,i.length,t,i,s,o||n.GREATEST_LOWER_BOUND);if(u<0)return-1;while(u-1>=0){if(s(i[u],i[u-1],!0)!==0)break;--u}return u}},{}],126:[function(e,t,n){function i(e,t){var n=e.generatedLine,i=t.generatedLine,s=e.generatedColumn,o=t.generatedColumn;return i>n||i==n&&o>=s||r.compareByGeneratedPositionsInflated(e,t)<=0}function s(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var r=e("./util");s.prototype.unsortedForEach=function(t,n){this._array.forEach(t,n)},s.prototype.add=function(t){i(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))},s.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=s},{"./util":131}],127:[function(e,t,n){function r(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function i(e,t){return Math.round(e+Math.random()*(t-e))}function s(e,t,n,o){if(n<o){var u=i(n,o),a=n-1;r(e,u,o);var f=e[o];for(var l=n;l<o;l++)t(e[l],f)<=0&&(a+=1,r(e,a,l));r(e,a+1,l);var c=a+1;s(e,t,n,c-1),s(e,t,c+1,o)}}n.quickSort=function(e,t){s(e,t,0,e.length-1)}},{}],128:[function(e,t,n){function a(e){var t=e;return typeof e=="string"&&(t=JSON.parse(e.replace(/^\)\]\}'/,""))),t.sections!=null?new c(t):new f(t)}function f(e){var t=e;typeof e=="string"&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=r.getArg(t,"version"),i=r.getArg(t,"sources"),o=r.getArg(t,"names",[]),u=r.getArg(t,"sourceRoot",null),a=r.getArg(t,"sourcesContent",null),f=r.getArg(t,"mappings"),l=r.getArg(t,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);i=i.map(String).map(r.normalize).map(function(e){return u&&r.isAbsolute(u)&&r.isAbsolute(e)?r.relative(u,e):e}),this._names=s.fromArray(o.map(String),!0),this._sources=s.fromArray(i,!0),this.sourceRoot=u,this.sourcesContent=a,this._mappings=f,this.file=l}function l(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function c(e){var t=e;typeof e=="string"&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=r.getArg(t,"version"),i=r.getArg(t,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new s,this._names=new s;var o={line:-1,column:0};this._sections=i.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var t=r.getArg(e,"offset"),n=r.getArg(t,"line"),i=r.getArg(t,"column");if(n<o.line||n===o.line&&i<o.column)throw new Error("Section offsets must be ordered and non-overlapping.");return o=t,{generatedOffset:{generatedLine:n+1,generatedColumn:i+1},consumer:new a(r.getArg(e,"map"))}})}var r=e("./util"),i=e("./binary-search"),s=e("./array-set").ArraySet,o=e("./base64-vlq"),u=e("./quick-sort").quickSort;a.fromSourceMap=function(e){return f.fromSourceMap(e)},a.prototype._version=3,a.prototype.__generatedMappings=null,Object.defineProperty(a.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),a.prototype.__originalMappings=null,Object.defineProperty(a.prototype,"_originalMappings",{get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),a.prototype._charIsMappingSeparator=function(t,n){var r=t.charAt(n);return r===";"||r===","},a.prototype._parseMappings=function(t,n){throw new Error("Subclasses must implement _parseMappings")},a.GENERATED_ORDER=1,a.ORIGINAL_ORDER=2,a.GREATEST_LOWER_BOUND=1,a.LEAST_UPPER_BOUND=2,a.prototype.eachMapping=function(t,n,i){var s=n||null,o=i||a.GENERATED_ORDER,u;switch(o){case a.GENERATED_ORDER:u=this._generatedMappings;break;case a.ORIGINAL_ORDER:u=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var f=this.sourceRoot;u.map(function(e){var t=e.source===null?null:this._sources.at(e.source);return t!=null&&f!=null&&(t=r.join(f,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name===null?null:this._names.at(e.name)}},this).forEach(t,s)},a.prototype.allGeneratedPositionsFor=function(t){var n=r.getArg(t,"line"),s={source:r.getArg(t,"source"),originalLine:n,originalColumn:r.getArg(t,"column",0)};this.sourceRoot!=null&&(s.source=r.relative(this.sourceRoot,s.source));if(!this._sources.has(s.source))return[];s.source=this._sources.indexOf(s.source);var o=[],u=this._findMapping(s,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(u>=0){var a=this._originalMappings[u];if(t.column===undefined){var f=a.originalLine;while(a&&a.originalLine===f)o.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++u]}else{var l=a.originalColumn;while(a&&a.originalLine===n&&a.originalColumn==l)o.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++u]}}return o},n.SourceMapConsumer=a,f.prototype=Object.create(a.prototype),f.prototype.consumer=a,f.fromSourceMap=function(t){var n=Object.create(f.prototype),i=n._names=s.fromArray(t._names.toArray(),!0),o=n._sources=s.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file;var a=t._mappings.toArray().slice(),c=n.__generatedMappings=[],h=n.__originalMappings=[];for(var p=0,d=a.length;p<d;p++){var v=a[p],m=new l;m.generatedLine=v.generatedLine,m.generatedColumn=v.generatedColumn,v.source&&(m.source=o.indexOf(v.source),m.originalLine=v.originalLine,m.originalColumn=v.originalColumn,v.name&&(m.name=i.indexOf(v.name)),h.push(m)),c.push(m)}return u(n.__originalMappings,r.compareByOriginalPositions),n},f.prototype._version=3,Object.defineProperty(f.prototype,"sources",{get:function(){return this._sources.toArray().map(function(e){return this.sourceRoot!=null?r.join(this.sourceRoot,e):e},this)}}),f.prototype._parseMappings=function(t,n){var i=1,s=0,a=0,f=0,c=0,h=0,p=t.length,d=0,v={},m={},g=[],y=[],b,w,E,S,x;while(d<p)if(t.charAt(d)===";")i++,d++,s=0;else if(t.charAt(d)===",")d++;else{b=new l,b.generatedLine=i;for(S=d;S<p;S++)if(this._charIsMappingSeparator(t,S))break;w=t.slice(d,S),E=v[w];if(E)d+=w.length;else{E=[];while(d<S)o.decode(t,d,m),x=m.value,d=m.rest,E.push(x);if(E.length===2)throw new Error("Found a source, but no line and column");if(E.length===3)throw new Error("Found a source and line, but no column");v[w]=E}b.generatedColumn=s+E[0],s=b.generatedColumn,E.length>1&&(b.source=c+E[1],c+=E[1],b.originalLine=a+E[2],a=b.originalLine,b.originalLine+=1,b.originalColumn=f+E[3],f=b.originalColumn,E.length>4&&(b.name=h+E[4],h+=E[4])),y.push(b),typeof b.originalLine=="number"&&g.push(b)}u(y,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=y,u(g,r.compareByOriginalPositions),this.__originalMappings=g},f.prototype._findMapping=function(t,n,r,s,o,u){if(t[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[r]);if(t[s]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[s]);return i.search(t,n,o,u)},f.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var n=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var r=this._generatedMappings[t+1];if(n.generatedLine===r.generatedLine){n.lastGeneratedColumn=r.generatedColumn-1;continue}}n.lastGeneratedColumn=Infinity}},f.prototype.originalPositionFor=function(t){var n={generatedLine:r.getArg(t,"line"),generatedColumn:r.getArg(t,"column")},i=this._findMapping(n,this._generatedMappings,"generatedLine","generatedColumn",r.compareByGeneratedPositionsDeflated,r.getArg(t,"bias",a.GREATEST_LOWER_BOUND));if(i>=0){var s=this._generatedMappings[i];if(s.generatedLine===n.generatedLine){var o=r.getArg(s,"source",null);o!==null&&(o=this._sources.at(o),this.sourceRoot!=null&&(o=r.join(this.sourceRoot,o)));var u=r.getArg(s,"name",null);return u!==null&&(u=this._names.at(u)),{source:o,line:r.getArg(s,"originalLine",null),column:r.getArg(s,"originalColumn",null),name:u}}}return{source:null,line:null,column:null,name:null}},f.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return e==null}):!1},f.prototype.sourceContentFor=function(t,n){if(!this.sourcesContent)return null;this.sourceRoot!=null&&(t=r.relative(this.sourceRoot,t));if(this._sources.has(t))return this.sourcesContent[this._sources.indexOf(t)];var i;if(this.sourceRoot!=null&&(i=r.urlParse(this.sourceRoot))){var s=t.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+t))return this.sourcesContent[this._sources.indexOf("/"+t)]}if(n)return null;throw new Error('"'+t+'" is not in the SourceMap.')},f.prototype.generatedPositionFor=function(t){var n=r.getArg(t,"source");this.sourceRoot!=null&&(n=r.relative(this.sourceRoot,n));if(!this._sources.has(n))return{line:null,column:null,lastColumn:null};n=this._sources.indexOf(n);var i={source:n,originalLine:r.getArg(t,"line"),originalColumn:r.getArg(t,"column")},s=this._findMapping(i,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(t,"bias",a.GREATEST_LOWER_BOUND));if(s>=0){var o=this._originalMappings[s];if(o.source===i.source)return{line:r.getArg(o,"generatedLine",null),column:r.getArg(o,"generatedColumn",null),lastColumn:r.getArg(o,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=f,c.prototype=Object.create(a.prototype),c.prototype.constructor=a,c.prototype._version=3,Object.defineProperty(c.prototype,"sources",{get:function(){var e=[];for(var t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),c.prototype.originalPositionFor=function(t){var n={generatedLine:r.getArg(t,"line"),generatedColumn:r.getArg(t,"column")},s=i.search(n,this._sections,function(e,t){var n=e.generatedLine-t.generatedOffset.generatedLine;return n?n:e.generatedColumn-t.generatedOffset.generatedColumn}),o=this._sections[s];return o?o.consumer.originalPositionFor({line:n.generatedLine-(o.generatedOffset.generatedLine-1),column:n.generatedColumn-(o.generatedOffset.generatedLine===n.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(e){return e.consumer.hasContentsOfAllSources()})},c.prototype.sourceContentFor=function(t,n){for(var r=0;r<this._sections.length;r++){var i=this._sections[r],s=i.consumer.sourceContentFor(t,!0);if(s)return s}if(n)return null;throw new Error('"'+t+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(t){for(var n=0;n<this._sections.length;n++){var i=this._sections[n];if(i.consumer.sources.indexOf(r.getArg(t,"source"))===-1)continue;var s=i.consumer.generatedPositionFor(t);if(s){var o={line:s.line+(i.generatedOffset.generatedLine-1),column:s.column+(i.generatedOffset.generatedLine===s.line?i.generatedOffset.generatedColumn-1:0)};return o}}return{line:null,column:null}},c.prototype._parseMappings=function(t,n){this.__generatedMappings=[],this.__originalMappings=[];for(var i=0;i<this._sections.length;i++){var s=this._sections[i],o=s.consumer._generatedMappings;for(var a=0;a<o.length;a++){var f=o[a],l=s.consumer._sources.at(f.source);s.consumer.sourceRoot!==null&&(l=r.join(s.consumer.sourceRoot,l)),this._sources.add(l),l=this._sources.indexOf(l);var c=s.consumer._names.at(f.name);this._names.add(c),c=this._names.indexOf(c);var h={source:l,generatedLine:f.generatedLine+(s.generatedOffset.generatedLine-1),generatedColumn:f.generatedColumn+(s.generatedOffset.generatedLine===f.generatedLine?s.generatedOffset.generatedColumn-1:0),originalLine:f.originalLine,originalColumn:f.originalColumn,name:c};this.__generatedMappings.push(h),typeof h.originalLine=="number"&&this.__originalMappings.push(h)}}u(this.__generatedMappings,r.compareByGeneratedPositionsDeflated),u(this.__originalMappings,r.compareByOriginalPositions)},n.IndexedSourceMapConsumer=c},{"./array-set":122,"./base64-vlq":123,"./binary-search":125,"./quick-sort":127,"./util":131}],129:[function(e,t,n){function u(e){e||(e={}),this._file=i.getArg(e,"file",null),this._sourceRoot=i.getArg(e,"sourceRoot",null),this._skipValidation=i.getArg(e,"skipValidation",!1),this._sources=new s,this._names=new s,this._mappings=new o,this._sourcesContents=null}var r=e("./base64-vlq"),i=e("./util"),s=e("./array-set").ArraySet,o=e("./mapping-list").MappingList;u.prototype._version=3,u.fromSourceMap=function(t){var n=t.sourceRoot,r=new u({file:t.file,sourceRoot:n});return t.eachMapping(function(e){var t={generated:{line:e.generatedLine,column:e.generatedColumn}};e.source!=null&&(t.source=e.source,n!=null&&(t.source=i.relative(n,t.source)),t.original={line:e.originalLine,column:e.originalColumn},e.name!=null&&(t.name=e.name)),r.addMapping(t)}),t.sources.forEach(function(e){var n=t.sourceContentFor(e);n!=null&&r.setSourceContent(e,n)}),r},u.prototype.addMapping=function(t){var n=i.getArg(t,"generated"),r=i.getArg(t,"original",null),s=i.getArg(t,"source",null),o=i.getArg(t,"name",null);this._skipValidation||this._validateMapping(n,r,s,o),s!=null&&(s=String(s),this._sources.has(s)||this._sources.add(s)),o!=null&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:n.line,generatedColumn:n.column,originalLine:r!=null&&r.line,originalColumn:r!=null&&r.column,source:s,name:o})},u.prototype.setSourceContent=function(t,n){var r=t;this._sourceRoot!=null&&(r=i.relative(this._sourceRoot,r)),n!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(r)]=n):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(r)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},u.prototype.applySourceMap=function(t,n,r){var o=n;if(n==null){if(t.file==null)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');o=t.file}var u=this._sourceRoot;u!=null&&(o=i.relative(u,o));var a=new s,f=new s;this._mappings.unsortedForEach(function(e){if(e.source===o&&e.originalLine!=null){var n=t.originalPositionFor({line:e.originalLine,column:e.originalColumn});n.source!=null&&(e.source=n.source,r!=null&&(e.source=i.join(r,e.source)),u!=null&&(e.source=i.relative(u,e.source)),e.originalLine=n.line,e.originalColumn=n.column,n.name!=null&&(e.name=n.name))}var s=e.source;s!=null&&!a.has(s)&&a.add(s);var l=e.name;l!=null&&!f.has(l)&&f.add(l)},this),this._sources=a,this._names=f,t.sources.forEach(function(e){var n=t.sourceContentFor(e);n!=null&&(r!=null&&(e=i.join(r,e)),u!=null&&(e=i.relative(u,e)),this.setSourceContent(e,n))},this)},u.prototype._validateMapping=function(t,n,r,i){if(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!n&&!r&&!i)return;if(t&&"line"in t&&"column"in t&&n&&"line"in n&&"column"in n&&t.line>0&&t.column>=0&&n.line>0&&n.column>=0&&r)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:r,original:n,name:i}))},u.prototype._serializeMappings=function(){var t=0,n=1,s=0,o=0,u=0,a=0,f="",l,c,h,p,d=this._mappings.toArray();for(var v=0,m=d.length;v<m;v++){c=d[v],l="";if(c.generatedLine!==n){t=0;while(c.generatedLine!==n)l+=";",n++}else if(v>0){if(!i.compareByGeneratedPositionsInflated(c,d[v-1]))continue;l+=","}l+=r.encode(c.generatedColumn-t),t=c.generatedColumn,c.source!=null&&(p=this._sources.indexOf(c.source),l+=r.encode(p-a),a=p,l+=r.encode(c.originalLine-1-o),o=c.originalLine-1,l+=r.encode(c.originalColumn-s),s=c.originalColumn,c.name!=null&&(h=this._names.indexOf(c.name),l+=r.encode(h-u),u=h)),f+=l}return f},u.prototype._generateSourcesContent=function(t,n){return t.map(function(e){if(!this._sourcesContents)return null;n!=null&&(e=i.relative(n,e));var t=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,t)?this._sourcesContents[t]:null},this)},u.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t},u.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=u},{"./array-set":122,"./base64-vlq":123,"./mapping-list":126,"./util":131}],130:[function(e,t,n){function a(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=e==null?null:e,this.column=t==null?null:t,this.source=n==null?null:n,this.name=i==null?null:i,this[u]=!0,r!=null&&this.add(r)}var r=e("./source-map-generator").SourceMapGenerator,i=e("./util"),s=/(\r?\n)/,o=10,u="$$$isSourceNode$$$";a.fromStringWithSourceMap=function(t,n,r){function p(e,t){if(e===null||e.source===undefined)o.add(t);else{var n=r?i.join(r,e.source):e.source;o.add(new a(e.originalLine,e.originalColumn,n,t,e.name))}}var o=new a,u=t.split(s),f=function(){var e=u.shift(),t=u.shift()||"";return e+t},l=1,c=0,h=null;return n.eachMapping(function(e){if(h!==null){if(!(l<e.generatedLine)){var t=u[0],n=t.substr(0,e.generatedColumn-c);u[0]=t.substr(e.generatedColumn-c),c=e.generatedColumn,p(h,n),h=e;return}p(h,f()),l++,c=0}while(l<e.generatedLine)o.add(f()),l++;if(c<e.generatedColumn){var t=u[0];o.add(t.substr(0,e.generatedColumn)),u[0]=t.substr(e.generatedColumn),c=e.generatedColumn}h=e},this),u.length>0&&(h&&p(h,f()),o.add(u.join(""))),n.sources.forEach(function(e){var t=n.sourceContentFor(e);t!=null&&(r!=null&&(e=i.join(r,e)),o.setSourceContent(e,t))}),o},a.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(e){this.add(e)},this);else{if(!t[u]&&typeof t!="string")throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);t&&this.children.push(t)}return this},a.prototype.prepend=function(t){if(Array.isArray(t))for(var n=t.length-1;n>=0;n--)this.prepend(t[n]);else{if(!t[u]&&typeof t!="string")throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);this.children.unshift(t)}return this},a.prototype.walk=function(t){var n;for(var r=0,i=this.children.length;r<i;r++)n=this.children[r],n[u]?n.walk(t):n!==""&&t(n,{source:this.source,line:this.line,column:this.column,name:this.name})},a.prototype.join=function(t){var n,r,i=this.children.length;if(i>0){n=[];for(r=0;r<i-1;r++)n.push(this.children[r]),n.push(t);n.push(this.children[r]),this.children=n}return this},a.prototype.replaceRight=function(t,n){var r=this.children[this.children.length-1];return r[u]?r.replaceRight(t,n):typeof r=="string"?this.children[this.children.length-1]=r.replace(t,n):this.children.push("".replace(t,n)),this},a.prototype.setSourceContent=function(t,n){this.sourceContents[i.toSetString(t)]=n},a.prototype.walkSourceContents=function(t){for(var n=0,r=this.children.length;n<r;n++)this.children[n][u]&&this.children[n].walkSourceContents(t);var s=Object.keys(this.sourceContents);for(var n=0,r=s.length;n<r;n++)t(i.fromSetString(s[n]),this.sourceContents[s[n]])},a.prototype.toString=function(){var t="";return this.walk(function(e){t+=e}),t},a.prototype
.toStringWithSourceMap=function(t){var n={code:"",line:1,column:0},i=new r(t),s=!1,u=null,a=null,f=null,l=null;return this.walk(function(e,t){n.code+=e,t.source!==null&&t.line!==null&&t.column!==null?((u!==t.source||a!==t.line||f!==t.column||l!==t.name)&&i.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:n.line,column:n.column},name:t.name}),u=t.source,a=t.line,f=t.column,l=t.name,s=!0):s&&(i.addMapping({generated:{line:n.line,column:n.column}}),u=null,s=!1);for(var r=0,c=e.length;r<c;r++)e.charCodeAt(r)===o?(n.line++,n.column=0,r+1===c?(u=null,s=!1):s&&i.addMapping({source:t.source,original:{line:t.line,column:t.column},generated:{line:n.line,column:n.column},name:t.name})):n.column++}),this.walkSourceContents(function(e,t){i.setSourceContent(e,t)}),{code:n.code,map:i}},n.SourceNode=a},{"./source-map-generator":129,"./util":131}],131:[function(e,t,n){function r(e,t,n){if(t in e)return e[t];if(arguments.length===3)return n;throw new Error('"'+t+'" is a required argument.')}function o(e){var t=e.match(i);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function u(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(e){var t=e,r=o(e);if(r){if(!r.path)return e;t=r.path}var i=n.isAbsolute(t),s=t.split(/\/+/);for(var a,f=0,l=s.length-1;l>=0;l--)a=s[l],a==="."?s.splice(l,1):a===".."?f++:f>0&&(a===""?(s.splice(l+1,f),f=0):(s.splice(l,2),f--));return t=s.join("/"),t===""&&(t=i?"/":"."),r?(r.path=t,u(r)):t}function f(e,t){e===""&&(e="."),t===""&&(t=".");var n=o(t),r=o(e);r&&(e=r.path||"/");if(n&&!n.scheme)return r&&(n.scheme=r.scheme),u(n);if(n||t.match(s))return t;if(r&&!r.host&&!r.path)return r.host=t,u(r);var i=t.charAt(0)==="/"?t:a(e.replace(/\/+$/,"")+"/"+t);return r?(r.path=i,u(r)):i}function l(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");var n=0;while(t.indexOf(e+"/")!==0){var r=e.lastIndexOf("/");if(r<0)return t;e=e.slice(0,r);if(e.match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)}function h(e){return e}function p(e){return v(e)?"$"+e:e}function d(e){return v(e)?e.slice(1):e}function v(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var n=t-10;n>=0;n--)if(e.charCodeAt(n)!==36)return!1;return!0}function m(e,t,n){var r=e.source-t.source;return r!==0?r:(r=e.originalLine-t.originalLine,r!==0?r:(r=e.originalColumn-t.originalColumn,r!==0||n?r:(r=e.generatedColumn-t.generatedColumn,r!==0?r:(r=e.generatedLine-t.generatedLine,r!==0?r:e.name-t.name))))}function g(e,t,n){var r=e.generatedLine-t.generatedLine;return r!==0?r:(r=e.generatedColumn-t.generatedColumn,r!==0||n?r:(r=e.source-t.source,r!==0?r:(r=e.originalLine-t.originalLine,r!==0?r:(r=e.originalColumn-t.originalColumn,r!==0?r:e.name-t.name))))}function y(e,t){return e===t?0:e>t?1:-1}function b(e,t){var n=e.generatedLine-t.generatedLine;return n!==0?n:(n=e.generatedColumn-t.generatedColumn,n!==0?n:(n=y(e.source,t.source),n!==0?n:(n=e.originalLine-t.originalLine,n!==0?n:(n=e.originalColumn-t.originalColumn,n!==0?n:y(e.name,t.name)))))}n.getArg=r;var i=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,s=/^data:.+\,.+$/;n.urlParse=o,n.urlGenerate=u,n.normalize=a,n.join=f,n.isAbsolute=function(e){return e.charAt(0)==="/"||!!e.match(i)},n.relative=l;var c=function(){var e=Object.create(null);return!("__proto__"in e)}();n.toSetString=c?h:p,n.fromSetString=c?h:d,n.compareByOriginalPositions=m,n.compareByGeneratedPositionsDeflated=g,n.compareByGeneratedPositionsInflated=b},{}],132:[function(e,t,n){n.SourceMapGenerator=e("./lib/source-map-generator").SourceMapGenerator,n.SourceMapConsumer=e("./lib/source-map-consumer").SourceMapConsumer,n.SourceNode=e("./lib/source-node").SourceNode},{"./lib/source-map-consumer":128,"./lib/source-map-generator":129,"./lib/source-node":130}],133:[function(e,t,n){"use strict";t.exports=!1},{}],134:[function(e,t,n){t.exports={name:"turbo-carto",version:"0.19.0",description:"CartoCSS preprocessor",main:"src/index.js",scripts:{test:"make test-all"},author:{name:"CartoDB",email:"wadus@cartodb.com",url:"http://cartodb.com/"},contributors:[{name:"Raul Ochoa",email:"rochoa@cartodb.com"}],license:"BSD-3-Clause",repository:{type:"git",url:"git+ssh://git@github.com/CartoDB/turbo-carto.git"},dependencies:{colorbrewer:"1.0.0",cartocolor:"4.0.0",debug:"2.2.0","es6-promise":"3.1.2",postcss:"5.0.19","postcss-value-parser":"3.3.0"},devDependencies:{"browser-request":"^0.3.3",browserify:"^12.0.1",istanbul:"^0.4.1",jshint:"^2.9.1-rc2",mocha:"^2.3.4",querystring:"^0.2.0",request:"^2.67.0",semistandard:"^7.0.4","semistandard-format":"^2.1.0",yargs:"^3.31.0"},semistandard:{globals:["describe","it"],ignore:["examples/app.js"]},readme:"# Turbo-Carto\n\nNext-Gen Styling for Data-Driven Maps, AKA CartoCSS preprocessor.\n\ntl;dr Enables adding functions to CartoCSS that can be evaluated asynchronously.\n\n[![Build Status](https://travis-ci.org/CartoDB/turbo-carto.png?branch=master)](https://travis-ci.org/CartoDB/turbo-carto)\n\n## Ramps\n\nIt's all about ramps.\n\nYou can create color and symbol size ramps with just a single line of code. You no longer need to worry about\ncalculating the bins for your thematic map, if your data changes your CartoCSS changes.\n\n\n### Very basic introduction to CartoCSS\n\nIn CartoCSS you usually assign values to properties and apply filters in order to change those values based on some\ndata attributes.\n\nThe general form for properties and filters is:\n\n```css\n#selector {\n property: value;\n [filter] {\n property: value;\n }\n}\n```\n\nAn example of a filter based on price attribute:\n\n```css\n#selector {\n marker-width: 10;\n [price > 100] {\n marker-width: 20;\n }\n}\n```\n\n### Turbo-Carto ramps\n\nTurbo-Carto high-level API for ramps is as follows:\n\n```css\n#selector {\n property: ramp([attribute], (...values), (...filters), mapping);\n}\n```\n\nWhere:\n - `property` is the CartoCSS property you want to create.\n - `[attribute]` usually is a column/key name from your dataset.\n - `(...values)` is **what** `property` is gonna get for different filters.\n - `(...filters)` is **how** `property` is gonna get the different values.\n - `mapping` is the type of filter that will be applied: <, <=, >, >=, =.\n\nSo for the previous example you could write (see [examples/readme/example-0.css](./examples/readme/example-0.css)):\n\n```css\n#selector {\n marker-width: ramp([price], (10, 20), (100));\n}\n```\n\nIn this case, the first value is the default value.\n\n\nIf you want to have a category map, to generate a CartoCSS like:\n\n```css\n#selector {\n marker-fill: red;\n [room_type = \"Private Room\"] {\n marker-fill: green;\n }\n}\n```\n\nYou can use the same approach but specifying the mapping type to be an equality (see [examples/readme/example-1.css](./examples/readme/example-1.css)):\n\n```css\n#selector {\n marker-fill: ramp([room_type], (green, red), (\"Private room\"), =);\n}\n```\n\nSee that in this case the last value is the default value, and if the number of values is equal to the number of filters\nit won't have a default value, like in (see [examples/readme/example-2.css](./examples/readme/example-2.css)):\n\n```css\n#selector {\n marker-width: ramp([room_type], (green, red), (\"Private room\"), =);\n}\n```\n\nThat's nice, but it is still unlinked from the actual data/attributes.\n\n#### Mappings default values\n\n`<` and `<=`: Last provided value will be the default value.\n`=`: Last provided value will be the default value, if the number of values is\nequal to the number of filters it won't have a default value.\n`>` and `>=`: First provided value will be the default value.\n\n#### Associate ramp filters to your data\n\nTo generate ramps based on actual data you have to say what kind of quantification you want to use, for that purpose\nTurbo-Carto provides some shorthand methods that will delegate the filters computation to different collaborators.\n\nLet's say you want to compute the ramp using jenks as quantification function (see [examples/readme/example-3.css](./examples/readme/example-3.css)):\n\n```css\n#selector {\n marker-width: ramp([price], (10, 20, 30), jenks());\n}\n```\n\nOr generate a category map depending on the room_type property (see [examples/readme/example-4.css](./examples/readme/example-4.css)):\n\n```css\n#selector {\n marker-fill: ramp([room_type], (red, green, blue), category(2));\n}\n```\n\nYou can override the mapping if you know your data requires an more strict filter (see [examples/readme/example-5.css](./examples/readme/example-5.css)):\n\n```css\n#selector {\n marker-width: ramp([price], (10, 20, 30), jenks(), >=);\n}\n```\n\nShorthand methods include:\n - `category()`: default mapping is `=`.\n - `equal()`: default mapping is `>`.\n - `headtails()`: default mapping is `<`.\n - `jenks()`: default mapping is `>`.\n - `quantiles()`: default mapping is `>`.\n\n#### Color ramps\n\nFor color ramps, there are a couple of handy functions to retrieve color palettes: `cartocolor` and `colorbrewer`.\n\nYou can create a choropleth map using Reds color palette from colorbrewer (see [examples/readme/example-6.css](./examples/readme/example-6.css)):\n\n```css\n#selector {\n polygon-fill: ramp([avg_price], colorbrewer(Reds), jenks());\n}\n```\n\nOr a category map using Bold color palette from cartocolor (see [examples/readme/example-7.css](./examples/readme/example-7.css)):\n\n```css\n#selector {\n polygon-fill: ramp([room_type], cartocolor(Bold), category(4));\n}\n```\n\n#### Numeric ramps\n\nSometimes is really useful to have a continuous range that can be split in as many bins as desired, so you don't have to\nworry about how many values you have to provide for your calculated filters. You only specify the start and the end, and\nthe values are computed linearly (see [examples/readme/example-8.css](./examples/readme/example-8.css)):\n\n```css\n#selector {\n marker-width: ramp([price], range(4, 40), equal(5));\n}\n```\n\nIt is kind of similar to color palettes where depending on your number of filters you get the correct number of values.\n\n\n## Dependencies\n\n * Node >=0.10\n * npm >=2.x\n\n## Install\n\nTo install the rest of the dependencies just run:\n\n```\nnpm install\n```\n\n#### Some examples\n\nCurrent examples expect to have CartoDB's SQL API running at http://development.localhost.lan:8080/. It should have a\npublicly accessible `populated_places_simple` table.\n\nExamples using a cli tool:\n\n```shell\n$ ./tools/cli.js examples/populated_places.css # will use a dummy datasource, check tools/cli.js source\n$ ./tools/cli.js examples/populated_places.css --datasource sql --query 'select * from populated_places_simple'\n```\n\nVisit `examples/index.html`, to test different styles using CartoDB's SQL API as datasource.\n\n## Tests\n\nTests suite can be run with:\n\n```\nnpm test\n```\n\nThat will check code style and run the tests.\n\n## TODO\n\nSee https://github.com/CartoDB/turbo-carto/issues\n",readmeFilename:"README.md",bugs:{url:"https://github.com/CartoDB/turbo-carto/issues"},homepage:"https://github.com/CartoDB/turbo-carto#readme",_id:"turbo-carto@0.19.0",_shasum:"83fb1932acd42acb426312eef216b5f6ac34708e",_resolved:"https://registry.npmjs.org/turbo-carto/-/turbo-carto-0.19.0.tgz",_from:"turbo-carto@0.19.0"}},{}],135:[function(e,t,n){"use strict";function i(e){this.datasource=e,this.fnExecutors=[]}function s(e,t,n,i){var o=[];return Array.isArray(e.nodes)&&(o=e.nodes.reduce(function(e,r){switch(r.type){case"word":Number.isFinite(+r.value)?e.push(+r.value):e.push(r.value);break;case"string":e.push(r.value);break;case"function":e.push(s(r,t,n,i));break;default:}return e},[])),new r(t,e.value,o,n,i)}e("es6-promise").polyfill();var r=e("./executor");t.exports=i,i.prototype.add=function(e,t,n){this.fnExecutors.push({decl:e,fnExecutor:s(t,this.datasource,e,n)})},i.prototype.exec=function(){var e=this.fnExecutors.map(function(e){return e.fnExecutor.exec()});return Promise.all(e)}},{"./executor":136,"es6-promise":91}],136:[function(e,t,n){"use strict";function s(e,t,n,r,i){this.datasource=e,this.fnName=t,this.args=n,this.decl=r,this.metadataHolder=i}e("es6-promise").polyfill();var r=e("../helper/debug")("fn-executor"),i=e("./factory");t.exports=s,s.prototype.exec=function(){var e=this;r("[ENTERING] Fn.prototype.exec %s(%j)",e.fnName,e.args);var t=i.create(e.fnName,e.datasource,e.decl,e.metadataHolder);return Promise.all(e.getNestedFns()).then(function(n){return r("[QUEUE DONE] %s=%j",e.fnName,n),n.forEach(function(t){e.args[t.index]=t.result}),t.apply(t,e.args)})},s.prototype.getNestedFns=function(){var e=this;return e.getNestedFnIndexes().map(function(t){return e.execFn(t)})},s.prototype.getNestedFnIndexes=function(){return this.args.reduce(function(e,t,n){return t instanceof s&&e.push(n),e},[])},s.prototype.execFn=function(e){return this.args[e].exec().then(function(t){return{index:e,result:t}})}},{"../helper/debug":151,"./factory":137,"es6-promise":91}],137:[function(e,t,n){"use strict";var r=[e("./fn-buckets"),e("./fn-buckets-category"),e("./fn-buckets-equal"),e("./fn-buckets-headtails"),e("./fn-buckets-jenks"),e("./fn-buckets-quantiles"),e("./fn-cartocolor"),e("./fn-colorbrewer"),e("./fn-ramp"),e("./fn-range")],i=r.reduce(function(e,t){return e[t.fnName]=t,e},{}),s=e("./fn-identity"),o=e("./fn-anonymous-tuple"),u={create:function(e,t,n,r){if(e==="")return o();var u=i[e];return u?u(t,n,r):s(e)}};t.exports=u},{"./fn-anonymous-tuple":138,"./fn-buckets":144,"./fn-buckets-category":139,"./fn-buckets-equal":140,"./fn-buckets-headtails":141,"./fn-buckets-jenks":142,"./fn-buckets-quantiles":143,"./fn-cartocolor":145,"./fn-colorbrewer":146,"./fn-identity":147,"./fn-ramp":148,"./fn-range":149}],138:[function(e,t,n){"use strict";e("es6-promise").polyfill();var r=e("../helper/debug")("fn-anonymous-tuple"),i=e("../model/values-result");t.exports=function(){return function(){r("fn$anonymousTuple(%j)",arguments);var t=arguments;return new Promise(function(e){var n=Object.keys(t).map(function(e){return t[e]});e(new i(n))})}},t.exports.fnName="anonymousTuple"},{"../helper/debug":151,"../model/values-result":161,"es6-promise":91}],139:[function(e,t,n){"use strict";var r=e("./fn-buckets").createBucketsFn,i="category";t.exports=function(e){return r(e,i,"==")},t.exports.fnName=i},{"./fn-buckets":144}],140:[function(e,t,n){"use strict";var r=e("./fn-buckets").createBucketsFn,i="equal";t.exports=function(e){return r(e,i,">")},t.exports.fnName=i},{"./fn-buckets":144}],141:[function(e,t,n){"use strict";var r=e("./fn-buckets").createBucketsFn,i="headtails";t.exports=function(e){return r(e,i,"<")},t.exports.fnName=i},{"./fn-buckets":144}],142:[function(e,t,n){"use strict";var r=e("./fn-buckets").createBucketsFn,i="jenks";t.exports=function(e){return r(e,i,">")},t.exports.fnName=i},{"./fn-buckets":144}],143:[function(e,t,n){"use strict";var r=e("./fn-buckets").createBucketsFn,i="quantiles";t.exports=function(e){return r(e,i,">")},t.exports.fnName=i},{"./fn-buckets":144}],144:[function(e,t,n){"use strict";function a(e){return function(n,u,a){return r("fn$buckets(%j)",arguments),r('Using "%s" datasource to calculate buckets',e.getName()),new Promise(function(t,r){if(!u)return r(new s("Missing quantification method in buckets function"));a=Number.isFinite(+a)?+a:5,e.getRamp(i(n),a,u,function(e,n){if(e)return r(new s("unable to compute ramp,",e));var i="max",u={};Array.isArray(n)||(i=n.strategy||"max",u=n.stats,n=n.ramp),t(new o(n,i,u))})})}}e("es6-promise").polyfill();var r=e("../helper/debug")("fn-buckets"),i=e("../helper/column-name"),s=e("../helper/turbo-carto-error"),o=e("../model/filters-result"),u=e("../model/lazy-filters-result");t.exports=a,t.exports.fnName="buckets",t.exports.createBucketsFn=function(e,t,n){return function(s){return r("fn$%s(%j)",t,arguments),r('Using "%s" datasource to calculate %s',e.getName(),t),new Promise(function(r){return r(new u(function(r,i){return a(e)(r,t,s).then(function(e){return e.strategy=i||n,new Promise(function(t){return t(e)})})}))})}}},{"../helper/column-name":150,"../helper/debug":151,"../helper/turbo-carto-error":154,"../model/filters-result":156,"../model/lazy-filters-result":158,"es6-promise":91}],145:[function(e,t,n){"use strict";e("es6-promise").polyfill();var r=e("cartocolor"),i=e("../model/values-result"),s=e("../helper/min-max-keys"),o=e("../helper/debug")("fn-cartocolor");t.exports=function(){return function(t,n){return o("fn$cartocolor(%j)",arguments),new Promise(function(e,o){if(!r.hasOwnProperty(t))return o(new Error('Invalid cartocolor scheme: "'+t+'"'));var u=r[t],a=s(u);n=Math.min(a.max,Math.max(a.min,n||5)),e(new i(u,n,null,a.max))})}},t.exports.fnName="cartocolor"},{"../helper/debug":151,"../helper/min-max-keys":153,"../model/values-result":161,cartocolor:85,"es6-promise":91}],146:[function(e,t,n){"use strict";e("es6-promise").polyfill();var r=e("colorbrewer"),i=e("../model/values-result"),s=e("../helper/min-max-keys"),o=e("../helper/debug")("fn-colorbrewer");t.exports=function(){return function(t,n){return o("fn$colorbrewer(%j)",arguments),new Promise(function(e,o){if(!r.hasOwnProperty(t))return o(new Error('Invalid colorbrewer scheme: "'+t+'"'));var u=r[t],a=s(u);n=Math.min(a.max,Math.max(a.min,n||5)),e(new i(u,n,null,a.max))})}},t.exports.fnName="colorbrewer"},{"../helper/debug":151,"../helper/min-max-keys":153,"../model/values-result":161,colorbrewer:87,"es6-promise":91}],147:[function(e,t,n){"use strict";e("es6-promise").polyfill();var r=e("../helper/debug")("fn-identity");t.exports=function(e){return function(){r("fn$identity(%j)",arguments);var n=new Array(arguments.length);for(var i=0;i<n.length;++i)typeof arguments[i]=="string"?n[i]="'"+arguments[i]+"'":n[i]=arguments[i];return Promise.resolve(e+"("+n.join(",")+")")}},t.exports.fnName="pass"},{"../helper/debug":151,"es6-promise":91}],148:[function(e,t,n){"use strict";function h(e){return function(n,r,i,s,o){var u=r.filter(p),l=r.filter(v(p)),h=u.slice(1);e==="="&&(l=l.slice(1).concat([r.filter(v(p))[0]])),h=h.filter(v(d));var m=new c(new a(l),new f(h,null,i),e);return m.process(n,s,o)}}function p(e,t){return t%2===0}function d(e){return e===null}function v(e,t){return function(){return!e.apply(t,arguments)}}function g(e,t,n){if(n.length===0)return Promise.reject(new s("invalid number of arguments"));if(Number.isFinite(n[0]))return E(e,t,n);if(!o(n[1]))return w(e,t,n);var r=n[0],i=n[1],u=n[2],c=b(u);return i=i.is(a)?new f(i.get(),c):i,i.is(l)?i.get(t,c).then(T(r)):Promise.resolve(i).then(T(r))}function b(e){return y.hasOwnProperty(e)?y[e]:e}function w(e,t,n){var r=n[0],i=(n[1]||"quantiles").toLowerCase(),s=r.getLength();return S(e,t,s,i).then(x(r))}function E(e,t,n){if(n.length<2)return Promise.reject(new s("invalid number of arguments"));var r=+n[0],i=+n[1],l,c=null,h;if(Number.isFinite(n[2])){l=n[2];if(o(n[3])){c=n[3],h=null;if(c.getLength()!==l)return Promise.reject(new s("invalid ramp length, got "+c.getLength()+" values, expected "+l))}else c=null,h=n[3]}else o(n[2])?(c=n[2],l=c.getLength(),h=null):(c=null,l=5,h=n[2]);var p=new a([r,i],l,u,Number.POSITIVE_INFINITY);return c===null?(h=(h||"quantiles").toLowerCase(),S(e,t,l,h).then(x(p))):(c=c.is(f)?c:new f(c.get(),"max"),Promise.resolve(c).then(x(p)))}function S(e,t,n,r){return new Promise(function(o,u){e.getRamp(i(t),n,r,function(e,t){if(e)return u(new s("unable to compute ramp,",e));var n="max",r={};Array.isArray(t)||(n=t.strategy||"max",r=t.stats,t=t.ramp),o(new f(t,n,r))})})}function x(e){return function(n){var r=Math.min(e.getLength(),n.getLength()),i,s=[],o=n.get(),u=e.get();if(r>0)for(i=0;i<r;i++)s.push(o[i]),s.push(u[i]);else s.push(null,u[0]);return{ramp:s,strategy:n.getStrategy(),stats:n.stats}}}function T(e){return function(n){if(c.supports(n.getStrategy()))return new c(e,n,n.getStrategy());var r=Math.min(e.getMaxSize(),n.getMaxSize()),i,s=[],o=n.get(),u=e.get(r);if(r>0)for(i=0;i<r;i++)s.push(o[i]),s.push(u[i]);else s.push(null,u[0]);return{ramp:s,strategy:n.getStrategy(),stats:n.stats}}}e("es6-promise").polyfill();var r=e("../helper/debug")("fn-ramp"),i=e("../helper/column-name"),s=e("../helper/turbo-carto-error"),o=e("../model/is-result"),u=e("../helper/linear-buckets"),a=e("../model/values-result"),f=e("../model/filters-result"),l=e("../model/lazy-filters-result"),c=e("../model/ramp/ramp-result"),m={max:function(t,n,r,i,s){var o=n.filter(v(p)),u=n.filter(p).filter(v(d)),l=new c(new a(o),new f(u,null,r),">");return l.process(t,i,s)},split:h(">"),exact:h("="),"=":h("=")};t.exports=function(e,t,n){return function(u,a){return r("fn$ramp(%j)",arguments),r('Using "%s" datasource to calculate ramp',e.getName()),a=Array.prototype.slice.call(arguments,1),g(e,u,a).then(function(e){if(e.constructor===c)return e.process(i(u),t,n);var r=m.hasOwnProperty(e.strategy)?m[e.strategy]:m.max;return r(i(u),e.ramp,e.stats,t,n)}).catch(function(e){var n={};throw t.parent&&(n.selector=t.parent.selector),t.source&&(n.source={start:t.source.start,end:t.source.end}),new s('Failed to process "'+t.prop+'" property:',e,n)})}};var y={quantiles:"max",equal:"max",jenks:"max",headtails:"split",category:"exact"};t.exports.fnName="ramp"},{"../helper/column-name":150,"../helper/debug":151,"../helper/linear-buckets":152,"../helper/turbo-carto-error":154,"../model/filters-result":156,"../model/is-result":157,"../model/lazy-filters-result":158,"../model/ramp/ramp-result":160,"../model/values-result":161,"es6-promise":91}],149:[function(e,t,n){"use strict";e("es6-promise").polyfill();var r=e("../model/values-result"),i=e("../helper/debug")("fn-range"),s=e("../helper/linear-buckets");t.exports=function(){return function(t,n,o){return i("fn$range(%j)",arguments),new Promise(function(e){var i=[t,n];o=Number.isFinite(o)?o:5,e(new r(i,o,s,Number.POSITIVE_INFINITY))})}},t.exports.fnName="range"},{"../helper/debug":151,"../helper/linear-buckets":152,"../model/values-result":161,"es6-promise":91}],150:[function(e,t,n){"use strict";function r(e){return e.replace("[","").replace("]","")}t.exports=r},{}],151:[function(e,t,n){"use strict";var r=e("debug");t.exports=function(t){return r(["turbo-carto",t].join(":"))}},{debug:88}],152:[function(e,t,n){"use strict";t.exports=function(e,t,n){Array.isArray(e)&&(n=t,t=e[1],e=e[0]);var r=[],i=t-e,s=i/(n-1);if(s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY)s=0;for(var o=0;o<n;o++)r.push(e+o*s);return r}},{}],153:[function(e,t,n){"use strict";function r(e){return Object.keys(e).reduce(function(e,t){return Number.isFinite(+t)&&(e.min===null&&(e.min=+t),e.max===null&&(e.max=+t),e.max=Math.max(e.max,+t),e.min=Math.min(e.min,+t)),e},{min:null,max:null})}t.exports=r},{}],154:[function(e,t,n){"use strict";function r(e,t,n){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,t&&(e+=" "+t.message),this.message=e,this.originalErr=t,this.context=n}e("util").inherits(r,Error),t.exports=r},{util:45}],155:[function(e,t,n){"use strict";function i(e,t,n){(new r(e,t)).getCartocss(n)}var r=e("./turbo-carto");t.exports=i,t.exports.TurboCarto=r,t.exports.version=e("../package.json").version},{"../package.json":134,"./turbo-carto":163}],156:[function(e,t,n){"use strict";function s(e,t,n){i.call(this,e,e.length),this.strategy=t,this.stats=n}function o(e){return!Number.isFinite(e)}var r=e("util"),i=e("./values-result");r.inherits(s,i),t.exports=s,s.prototype.getStrategy=function(){return this.result.some(o)?"=":this.strategy}},{"./values-result":161,util:45}],157:[function(e,t,n){"use strict";function o(e){return typeof e=="object"&&e!==null&&(e.constructor===r||e.constructor===i||e.constructor===s)}var r=e("./values-result"),i=e("./filters-result"),s=e("./lazy-filters-result");t.exports=o},{"./filters-result":156,"./lazy-filters-result":158,"./values-result":161}],158:[function(e,t,n){"use strict";function s(e){this.filterGenerator=e}e("es6-promise").polyfill();var r=e("util"),i=e("./filters-result");r.inherits(s,i),t.exports=s,s.prototype.get=function(e,t){return this.filterGenerator(e,t)}},{"./filters-result":156,"es6-promise":91,util:45}],159:[function(e,t,n){"use strict";function r(){this.rules=[]}t.exports=r,r.prototype.add=function(e){this.rules.push(e)}},{}],160:[function(e,t,n){"use strict";function s(e,t,n){this.values=e,this.filters=t,this.mapping=n||">",this.mapping=this.mapping==="=="?"=":this.mapping}function a(e){return e=e||{},{min:e.min_val,max:e.max_val,avg:e.avg_val}}function f(e,t){return t=t||"",e&&e.type!=="root"&&(t=f(e.parent,e.selector+t)),t}var r=e("../../helper/turbo-carto-error"),i=e("postcss");t.exports=s;var o={"=":"equality","==":"equality",">":"greater_than_or_equal",">=":"greater_than_or_equal","<":"less_than_or_equal","<=":"less_than_or_equal"},u={CATEGORY:"category",DEFAULT:"default",RANGE:"range"};s.prototype.process=function(e,t,n){var r=o[this.mapping];return r===o["<"]?this.processLessThanOrEqual(e,t,n):r===o["=="]?this.processEquality(e,t,n):this.processGreaterThanOrEqual(e,t,n)},s.supports=function(e){return o.hasOwnProperty(e)||!e},s.prototype.processEquality=function(e,t,n){if(this.filters.getLength()>this.values.getMaxSize())throw new r("`"+this.mapping+"` requires more or same values than filters to work.");var s=this.values.get(this.filters.getLength()+1),o=this.filters.get(),a=t,l=null;s.length!==o.length&&(l=s[s.length-1],a=i.decl({prop:t.prop,value:l}),t.replaceWith(a));var c={start:0,end:o.length},h=0,p=this.processGeneric(a,e,l,s,o,c,h);s.length===o.length&&t.remove();if(n){var d={selector:f(a.parent),prop:a.prop,column:e,mapping:this.mapping,buckets:[],stats:{}};d.buckets=o.map(function(e,t){return{filter:{name:e,type:u.CATEGORY},value:s[t]}}),l!==null&&d.buckets.push({filter:{type:u.DEFAULT},value:l}),n.add(d)}return p},s.prototype.processGreaterThanOrEqual=function(e,t,n){var r=Math.min(this.values.getMaxSize(),this.filters.getMaxSize()),s=this.values.get(r<=1?r+1:r),o=this.filters.get(r),l=s[0],c=i.decl({prop:t.prop,value:l});t.replaceWith(c);var h={start:0,end:Math.max(o.length-1,1)},p=1;if(n){var d=a(this.filters.stats),v={selector:f(c.parent),prop:c.prop,column:e,mapping:this.mapping,buckets:[],stats:{filter_avg:d.avg}},m=null;Number.isFinite(d.min)&&(m=d.min);var g=0;v.buckets=o.slice(h.start,h.end).map(function(e,t){var n={filter:{type:u.RANGE,start:m,end:e},value:s[t]};return m=e,g=t,n}),v.buckets.push({filter:{type:u.RANGE,start:m,end:d.max},value:s[g+1]}),n.add(v)}return this.processGeneric(c,e,l,s,o,h,p)},s.prototype.processLessThanOrEqual=function(e,t,n){var r=this.values.get(this.filters.getLength()),s=this.filters.get(),o=r[r.length-1],l=i.decl({prop:t.prop,value:o});t.replaceWith(l);var c={start:0,end:s.length-1},h=1;if(n){var p=a(this.filters.stats),d={selector:f(l.parent),prop:l.prop,column:e,mapping:this.mapping,buckets:[],stats:{filter_avg:p.avg}},v=null;Number.isFinite(p.min)&&(v=p.min);var m=0;d.buckets=s.slice(c.start,c.end).map(function(e,t){var n={filter:{type:u.RANGE,start:v,end:e},value:r[t]};return v=e,m=t,n}),d.buckets.push({filter:{type:u.RANGE,start:v,end:p.max},value:r[m+1]}),n.add(d)}var g=r.concat().reverse(),y=s.concat().reverse();return this.processGeneric(l,e,o,g,y,c,h)},s.prototype.processGeneric=function(e,t,n,r,s,o,u){var a=e;return s.slice(o.start,o.end).forEach(function(n,s){var o=Number.isFinite(n)?n:'"'+n+'"',f=i.rule({selector:"[ "+t+" "+this.mapping+" "+o+" ]"});f.append(i.decl({prop:e.prop,value:r[s+u]})),f.moveAfter(a),a=f}.bind(this)),{values:r,filters:s,mapping:this.mapping}}},{"../../helper/turbo-carto-error":154,postcss:109}],161:[function(e,t,n){"use strict";function r(e,t,n,r){this.result=e,this.defaultSize=t||e.length,this.getter=n,this.maxSize=r||e.length}t.exports=r,r.prototype.get=function(e){return e=e||this.defaultSize,this.getter?this.getter(this.result,e):Array.isArray(this.result)?e>0?this.result.slice(0,e):this.result:this.result.hasOwnProperty(e)?this.result[e]:this.result[this.defaultSize]},r.prototype.getLength=function(e){return this.get(e).length},r.prototype.getMaxSize=function(){return this.maxSize},r.prototype.toString=function(){return JSON.stringify({result:this.result,defaultSize:this.defaultSize,getter:this.getter&&this.getter.toString()})},r.prototype.is=function(e){return this.constructor===e}},{}],162:[function(e,t,n){"use strict";function o(e){this.datasource=e}e("es6-promise").polyfill();var r=e("postcss-value-parser"),i=e("postcss"),s=e("./fn/builder");t.exports=o,o.prototype.getPlugin=function(e){var t=this;return i.plugin("turbo-carto",function(){return function(n){var i=new s(t.datasource);return n.walkDecls(function(t){var n=r(t.value);n.walk(function(n){if(n.type==="function")return i.add(t,n,e),!1},!1)}),i.exec()}})}},{"./fn/builder":135,"es6-promise":91,postcss:109,"postcss-value-parser":92}],163:[function(e,t,n){"use strict";function o(e,t){this.cartocss=e,this.datasource=t,this.metadataHolder=new s}var r=e("postcss"),i=e("./postcss-turbo-carto"),s=e("./model/metadata-holder");o.prototype.getCartocss=function(e){var t=this,n=new i(this.datasource);r([n.getPlugin(this.metadataHolder)]).process(this.cartocss).then(function(n){e(null,n.css,t.metadataHolder)}).catch(e)},o.prototype.getMetadata=function(e){return e(null,this.metadataHolder)},t.exports=o},{"./model/metadata-holder":159,"./postcss-turbo-carto":162,postcss:109}],164:[function(e,t,n){var r=e("simple-statistics");t.exports=function(e,t,n){var i=[],s=[];return e.features.forEach(function(e){e.properties[t]!==undefined&&i.push(e.properties[t])}),s=r.jenks(i,n),s}},{"simple-statistics":165}],165:[function(e,t,n){"use strict";(function(){function n(){var e={},t=[];return e.data=function(n){return arguments.length?(t=n.slice(),e):t},e.mb=function(){var e,n,r=t.length;if(r===1)e=0,n=t[0][1];else{var i=0,s=0,o=0,u=0,a,f,l;for(var c=0;c<r;c++)a=t[c],f=a[0],l=a[1],i+=f,s+=l,o+=f*f,u+=f*l;e=(r*u-i*s)/(r*o-i*i),n=s/r-e*i/r}return{m:e,b:n}},e.m=function(){return e.mb().m},e.b=function(){return e.mb().b},e.line=function(){var t=e.mb(),n=t.m,r=t.b;return function(e){return r+n*e}},e}function r(e,t){if(e.length<2)return 1;var n=0,r;for(var i=0;i<e.length;i++)n+=e[i][1];r=n/e.length;var s=0;for(var o=0;o<e.length;o++)s+=Math.pow(r-e[o][1],2);var u=0;for(var a=0;a<e.length;a++)u+=Math.pow(e[a][1]-t(e[a][0]),2);return 1-u/s}function i(){var e={},t=0,n={};return e.train=function(e,r){n[r]||(n[r]={});for(var i in e){var s=e[i];n[r][i]===undefined&&(n[r][i]={}),n[r][i][s]===undefined&&(n[r][i][s]=0),n[r][i][e[i]]++}t++},e.score=function(e){var r={},i;for(var s in e){var o=e[s];for(i in n)r[i]===undefined&&(r[i]={}),n[i][s]?r[i][s+"_"+o]=(n[i][s][o]||0)/t:r[i][s+"_"+o]=0}var u={};for(i in r)for(var a in r[i])u[i]===undefined&&(u[i]=0),u[i]+=r[i][a];return u},e}function s(e){var t=0;for(var n=0;n<e.length;n++)t+=e[n];return t}function o(e){return e.length===0?null:s(e)/e.length}function u(e){if(e.length===0)return null;var t=1;for(var n=0;n<e.length;n++){if(e[n]<=0)return null;t*=e[n]}return Math.pow(t,1/e.length)}function a(e){if(e.length===0)return null;var t=0;for(var n=0;n<e.length;n++){if(e[n]<=0)return null;t+=1/e[n]}return e.length/t}function f(e){if(e.length===0)return null;var t=0;for(var n=0;n<e.length;n++)t+=Math.pow(e[n],2);return Math.sqrt(t/e.length)}function l(e){var t;for(var n=0;n<e.length;n++)if(e[n]<t||t===undefined)t=e[n];return t}function c(e){var t;for(var n=0;n<e.length;n++)if(e[n]>t||t===undefined)t=e[n];return t}function h(e){if(e.length===0)return null;var t=o(e),n=[];for(var r=0;r<e.length;r++)n.push(Math.pow(e[r]-t,2));return o(n)}function p(e){return e.length===0?null:Math.sqrt(h(e))}function d(e,t){var n=o(e),r=0;for(var i=0;i<e.length;i++)r+=Math.pow(e[i]-n,t);return r}function v(e){if(e.length<=1)return null;var t=d(e,2);return t/(e.length-1)}function m(e){return e.length<=1?null:Math.sqrt(v(e))}function g(e,t){if(e.length<=1||e.length!==t.length)return null;var n=o(e),r=o(t),i=0;for(var s=0;s<e.length;s++)i+=(e[s]-n)*(t[s]-r);return i/(e.length-1)}function y(e,t){var n=g(e,t),r=m(e),i=m(t);return n===null||r===null||i===null?null:n/r/i}function b(e){if(e.length===0)return null;var t=e.slice().sort(function(e,t){return e-t});if(t.length%2===1)return t[(t.length-1)/2];var n=t[t.length/2-1],r=t[t.length/2];return(n+r)/2}function w(e){if(e.length===0)return null;if(e.length===1)return e[0];var t=e.slice().sort(function(e,t){return e-t}),n=t[0],r,i=0,s=1;for(var o=1;o<t.length+1;o++)t[o]!==n?(s>i&&(i=s,r=n),s=1,n=t[o]):s++;return r
}function E(e,t){var n=o(e),r=p(e),i=Math.sqrt(e.length);return(n-t)/(r/i)}function S(e,t,n){var r=e.length,i=t.length;if(!r||!i)return null;n||(n=0);var s=o(e),u=o(t),a=((r-1)*v(e)+(i-1)*v(t))/(r+i-2);return(s-u-n)/Math.sqrt(a*(1/r+1/i))}function x(e,t){var n=[];if(t<=0)return null;for(var r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function T(e,t){t=t||Math.random;var n=e.length,r,i;while(n>0)i=Math.floor(t()*n--),r=e[n],e[n]=e[i],e[i]=r;return e}function N(e,t){return e=e.slice(),T(e.slice(),t)}function C(e,t,n){var r=N(e,n);return r.slice(0,t)}function k(e,t){var n=e.length*t;return t<0||t>1?null:t===1?e[e.length-1]:t===0?e[0]:n%1!==0?e[Math.ceil(n)-1]:e.length%2===0?(e[n-1]+e[n])/2:e[n]}function L(e,t){if(e.length===0)return null;var n=e.slice().sort(function(e,t){return e-t});if(t.length){var r=[];for(var i=0;i<t.length;i++)r[i]=k(n,t[i]);return r}return k(n,t)}function A(e){return e.length===0?null:L(e,.75)-L(e,.25)}function O(e){if(!e||e.length===0)return null;var t=b(e),n=[];for(var r=0;r<e.length;r++)n.push(Math.abs(e[r]-t));return b(n)}function M(e,t){var n=[],r=[],i,s,o=0;for(i=0;i<e.length+1;i++){var u=[],a=[];for(s=0;s<t+1;s++)u.push(0),a.push(0);n.push(u),r.push(a)}for(i=1;i<t+1;i++){n[1][i]=1,r[1][i]=0;for(s=2;s<e.length+1;s++)r[s][i]=Infinity}for(var f=2;f<e.length+1;f++){var l=0,c=0,h=0,p=0;for(var d=1;d<f+1;d++){var v=f-d+1,m=e[v-1];h++,l+=m,c+=m*m,o=c-l*l/h,p=v-1;if(p!==0)for(s=2;s<t+1;s++)r[f][s]>=o+r[p][s-1]&&(n[f][s]=v,r[f][s]=o+r[p][s-1])}n[f][1]=1,r[f][1]=o}return{lower_class_limits:n,variance_combinations:r}}function _(e,t,n){var r=e.length,i=[],s=n;i[n]=e[e.length-1];while(s>0)i[s-1]=e[t[r][s]-1],r=t[r][s]-1,s--;return i}function D(e,t){if(t>e.length)return null;e=e.slice().sort(function(e,t){return e-t});var n=M(e,t),r=n.lower_class_limits;return _(e,r,t)}function P(e){if(e.length<3)return null;var t=e.length,n=Math.pow(m(e),3),r=d(e,3);return t*r/((t-1)*(t-2)*n)}function B(e){var t=1/(1+.5*Math.abs(e)),n=t*Math.exp(-Math.pow(e,2)-1.26551223+1.00002368*t+.37409196*Math.pow(t,2)+.09678418*Math.pow(t,3)-.18628806*Math.pow(t,4)+.27886807*Math.pow(t,5)-1.13520398*Math.pow(t,6)+1.48851587*Math.pow(t,7)-.82215223*Math.pow(t,8)+.17087277*Math.pow(t,9));return e>=0?1-n:n-1}function j(e){var t=Math.abs(e),n=Math.min(Math.round(t*100),H.length-1);return e>=0?H[n]:+(1-H[n]).toFixed(4)}function F(e,t,n){return(e-t)/n}function q(e){if(e<0)return null;var t=1;for(var n=2;n<=e;n++)t*=n;return t}function R(e,t){function n(e,t,n){return q(t)/(q(e)*q(t-e))*Math.pow(n,e)*Math.pow(1-n,t-e)}if(t<0||t>1||e<=0||e%1!==0)return null;var r=0,i=0,s={};do s[r]=n(r,e,t),i+=s[r],r++;while(i<1-I);return s}function U(e){return e<0||e>1?null:R(1,e)}function z(e){function i(e,t){return Math.pow(Math.E,-t)*Math.pow(t,e)/q(e)}if(e<=0)return null;var t=0,n=0,r={};do r[t]=i(t,e),n+=r[t],t++;while(n<1-I);return r}function X(e,t,n){var r=o(e),i=0,s,u=1,a=t(r),f=[],l=[],c;for(var h=0;h<e.length;h++)f[e[h]]===undefined&&(f[e[h]]=0),f[e[h]]++;for(h=0;h<f.length;h++)f[h]===undefined&&(f[h]=0);for(c in a)c in f&&(l[c]=a[c]*e.length);for(c=l.length-1;c>=0;c--)l[c]<3&&(l[c-1]+=l[c],l.pop(),f[c-1]+=f[c],f.pop());for(c=0;c<f.length;c++)i+=Math.pow(f[c]-l[c],2)/l[c];return s=f.length-u-1,W[s][n]<i}function V(t){function i(t){return function(){var n=Array.prototype.slice.apply(arguments);return n.unshift(this),e[t].apply(e,n)}}var n=!!Object.defineProperty&&!!Object.defineProperties;if(!n)throw new Error("without defineProperty, simple-statistics cannot be mixed in");var r=["median","standard_deviation","sum","sample_skewness","mean","min","max","quantile","geometric_mean","harmonic_mean","root_mean_square"],s;t?s=t.slice():s=Array.prototype;for(var o=0;o<r.length;o++)Object.defineProperty(s,r[o],{value:i(r[o]),configurable:!0,enumerable:!1,writable:!0});return s}var e={};typeof t!="undefined"?t.exports=e:this.ss=e;var H=[.5,.504,.508,.512,.516,.5199,.5239,.5279,.5319,.5359,.5398,.5438,.5478,.5517,.5557,.5596,.5636,.5675,.5714,.5753,.5793,.5832,.5871,.591,.5948,.5987,.6026,.6064,.6103,.6141,.6179,.6217,.6255,.6293,.6331,.6368,.6406,.6443,.648,.6517,.6554,.6591,.6628,.6664,.67,.6736,.6772,.6808,.6844,.6879,.6915,.695,.6985,.7019,.7054,.7088,.7123,.7157,.719,.7224,.7257,.7291,.7324,.7357,.7389,.7422,.7454,.7486,.7517,.7549,.758,.7611,.7642,.7673,.7704,.7734,.7764,.7794,.7823,.7852,.7881,.791,.7939,.7967,.7995,.8023,.8051,.8078,.8106,.8133,.8159,.8186,.8212,.8238,.8264,.8289,.8315,.834,.8365,.8389,.8413,.8438,.8461,.8485,.8508,.8531,.8554,.8577,.8599,.8621,.8643,.8665,.8686,.8708,.8729,.8749,.877,.879,.881,.883,.8849,.8869,.8888,.8907,.8925,.8944,.8962,.898,.8997,.9015,.9032,.9049,.9066,.9082,.9099,.9115,.9131,.9147,.9162,.9177,.9192,.9207,.9222,.9236,.9251,.9265,.9279,.9292,.9306,.9319,.9332,.9345,.9357,.937,.9382,.9394,.9406,.9418,.9429,.9441,.9452,.9463,.9474,.9484,.9495,.9505,.9515,.9525,.9535,.9545,.9554,.9564,.9573,.9582,.9591,.9599,.9608,.9616,.9625,.9633,.9641,.9649,.9656,.9664,.9671,.9678,.9686,.9693,.9699,.9706,.9713,.9719,.9726,.9732,.9738,.9744,.975,.9756,.9761,.9767,.9772,.9778,.9783,.9788,.9793,.9798,.9803,.9808,.9812,.9817,.9821,.9826,.983,.9834,.9838,.9842,.9846,.985,.9854,.9857,.9861,.9864,.9868,.9871,.9875,.9878,.9881,.9884,.9887,.989,.9893,.9896,.9898,.9901,.9904,.9906,.9909,.9911,.9913,.9916,.9918,.992,.9922,.9925,.9927,.9929,.9931,.9932,.9934,.9936,.9938,.994,.9941,.9943,.9945,.9946,.9948,.9949,.9951,.9952,.9953,.9955,.9956,.9957,.9959,.996,.9961,.9962,.9963,.9964,.9965,.9966,.9967,.9968,.9969,.997,.9971,.9972,.9973,.9974,.9974,.9975,.9976,.9977,.9977,.9978,.9979,.9979,.998,.9981,.9981,.9982,.9982,.9983,.9984,.9984,.9985,.9985,.9986,.9986,.9987,.9987,.9987,.9988,.9988,.9989,.9989,.9989,.999,.999],I=1e-4,W={1:{.995:0,.99:0,.975:0,.95:0,.9:.02,.5:.45,.1:2.71,.05:3.84,.025:5.02,.01:6.63,.005:7.88},2:{.995:.01,.99:.02,.975:.05,.95:.1,.9:.21,.5:1.39,.1:4.61,.05:5.99,.025:7.38,.01:9.21,.005:10.6},3:{.995:.07,.99:.11,.975:.22,.95:.35,.9:.58,.5:2.37,.1:6.25,.05:7.81,.025:9.35,.01:11.34,.005:12.84},4:{.995:.21,.99:.3,.975:.48,.95:.71,.9:1.06,.5:3.36,.1:7.78,.05:9.49,.025:11.14,.01:13.28,.005:14.86},5:{.995:.41,.99:.55,.975:.83,.95:1.15,.9:1.61,.5:4.35,.1:9.24,.05:11.07,.025:12.83,.01:15.09,.005:16.75},6:{.995:.68,.99:.87,.975:1.24,.95:1.64,.9:2.2,.5:5.35,.1:10.65,.05:12.59,.025:14.45,.01:16.81,.005:18.55},7:{.995:.99,.99:1.25,.975:1.69,.95:2.17,.9:2.83,.5:6.35,.1:12.02,.05:14.07,.025:16.01,.01:18.48,.005:20.28},8:{.995:1.34,.99:1.65,.975:2.18,.95:2.73,.9:3.49,.5:7.34,.1:13.36,.05:15.51,.025:17.53,.01:20.09,.005:21.96},9:{.995:1.73,.99:2.09,.975:2.7,.95:3.33,.9:4.17,.5:8.34,.1:14.68,.05:16.92,.025:19.02,.01:21.67,.005:23.59},10:{.995:2.16,.99:2.56,.975:3.25,.95:3.94,.9:4.87,.5:9.34,.1:15.99,.05:18.31,.025:20.48,.01:23.21,.005:25.19},11:{.995:2.6,.99:3.05,.975:3.82,.95:4.57,.9:5.58,.5:10.34,.1:17.28,.05:19.68,.025:21.92,.01:24.72,.005:26.76},12:{.995:3.07,.99:3.57,.975:4.4,.95:5.23,.9:6.3,.5:11.34,.1:18.55,.05:21.03,.025:23.34,.01:26.22,.005:28.3},13:{.995:3.57,.99:4.11,.975:5.01,.95:5.89,.9:7.04,.5:12.34,.1:19.81,.05:22.36,.025:24.74,.01:27.69,.005:29.82},14:{.995:4.07,.99:4.66,.975:5.63,.95:6.57,.9:7.79,.5:13.34,.1:21.06,.05:23.68,.025:26.12,.01:29.14,.005:31.32},15:{.995:4.6,.99:5.23,.975:6.27,.95:7.26,.9:8.55,.5:14.34,.1:22.31,.05:25,.025:27.49,.01:30.58,.005:32.8},16:{.995:5.14,.99:5.81,.975:6.91,.95:7.96,.9:9.31,.5:15.34,.1:23.54,.05:26.3,.025:28.85,.01:32,.005:34.27},17:{.995:5.7,.99:6.41,.975:7.56,.95:8.67,.9:10.09,.5:16.34,.1:24.77,.05:27.59,.025:30.19,.01:33.41,.005:35.72},18:{.995:6.26,.99:7.01,.975:8.23,.95:9.39,.9:10.87,.5:17.34,.1:25.99,.05:28.87,.025:31.53,.01:34.81,.005:37.16},19:{.995:6.84,.99:7.63,.975:8.91,.95:10.12,.9:11.65,.5:18.34,.1:27.2,.05:30.14,.025:32.85,.01:36.19,.005:38.58},20:{.995:7.43,.99:8.26,.975:9.59,.95:10.85,.9:12.44,.5:19.34,.1:28.41,.05:31.41,.025:34.17,.01:37.57,.005:40},21:{.995:8.03,.99:8.9,.975:10.28,.95:11.59,.9:13.24,.5:20.34,.1:29.62,.05:32.67,.025:35.48,.01:38.93,.005:41.4},22:{.995:8.64,.99:9.54,.975:10.98,.95:12.34,.9:14.04,.5:21.34,.1:30.81,.05:33.92,.025:36.78,.01:40.29,.005:42.8},23:{.995:9.26,.99:10.2,.975:11.69,.95:13.09,.9:14.85,.5:22.34,.1:32.01,.05:35.17,.025:38.08,.01:41.64,.005:44.18},24:{.995:9.89,.99:10.86,.975:12.4,.95:13.85,.9:15.66,.5:23.34,.1:33.2,.05:36.42,.025:39.36,.01:42.98,.005:45.56},25:{.995:10.52,.99:11.52,.975:13.12,.95:14.61,.9:16.47,.5:24.34,.1:34.28,.05:37.65,.025:40.65,.01:44.31,.005:46.93},26:{.995:11.16,.99:12.2,.975:13.84,.95:15.38,.9:17.29,.5:25.34,.1:35.56,.05:38.89,.025:41.92,.01:45.64,.005:48.29},27:{.995:11.81,.99:12.88,.975:14.57,.95:16.15,.9:18.11,.5:26.34,.1:36.74,.05:40.11,.025:43.19,.01:46.96,.005:49.65},28:{.995:12.46,.99:13.57,.975:15.31,.95:16.93,.9:18.94,.5:27.34,.1:37.92,.05:41.34,.025:44.46,.01:48.28,.005:50.99},29:{.995:13.12,.99:14.26,.975:16.05,.95:17.71,.9:19.77,.5:28.34,.1:39.09,.05:42.56,.025:45.72,.01:49.59,.005:52.34},30:{.995:13.79,.99:14.95,.975:16.79,.95:18.49,.9:20.6,.5:29.34,.1:40.26,.05:43.77,.025:46.98,.01:50.89,.005:53.67},40:{.995:20.71,.99:22.16,.975:24.43,.95:26.51,.9:29.05,.5:39.34,.1:51.81,.05:55.76,.025:59.34,.01:63.69,.005:66.77},50:{.995:27.99,.99:29.71,.975:32.36,.95:34.76,.9:37.69,.5:49.33,.1:63.17,.05:67.5,.025:71.42,.01:76.15,.005:79.49},60:{.995:35.53,.99:37.48,.975:40.48,.95:43.19,.9:46.46,.5:59.33,.1:74.4,.05:79.08,.025:83.3,.01:88.38,.005:91.95},70:{.995:43.28,.99:45.44,.975:48.76,.95:51.74,.9:55.33,.5:69.33,.1:85.53,.05:90.53,.025:95.02,.01:100.42,.005:104.22},80:{.995:51.17,.99:53.54,.975:57.15,.95:60.39,.9:64.28,.5:79.33,.1:96.58,.05:101.88,.025:106.63,.01:112.33,.005:116.32},90:{.995:59.2,.99:61.75,.975:65.65,.95:69.13,.9:73.29,.5:89.33,.1:107.57,.05:113.14,.025:118.14,.01:124.12,.005:128.3},100:{.995:67.33,.99:70.06,.975:74.22,.95:77.93,.9:82.36,.5:99.33,.1:118.5,.05:124.34,.025:129.56,.01:135.81,.005:140.17}};e.linear_regression=n,e.standard_deviation=p,e.r_squared=r,e.median=b,e.mean=o,e.mode=w,e.min=l,e.max=c,e.sum=s,e.quantile=L,e.quantile_sorted=k,e.iqr=A,e.mad=O,e.chunk=x,e.shuffle=N,e.shuffle_in_place=T,e.sample=C,e.sample_covariance=g,e.sample_correlation=y,e.sample_variance=v,e.sample_standard_deviation=m,e.sample_skewness=P,e.geometric_mean=u,e.harmonic_mean=a,e.root_mean_square=f,e.variance=h,e.t_test=E,e.t_test_two_sample=S,e.jenksMatrices=M,e.jenksBreaks=_,e.jenks=D,e.bayesian=i,e.epsilon=I,e.factorial=q,e.bernoulli_distribution=U,e.binomial_distribution=R,e.poisson_distribution=z,e.chi_squared_goodness_of_fit=X,e.z_score=F,e.cumulative_std_normal_probability=j,e.standard_normal_table=H,e.error_function=B,e.average=o,e.interquartile_range=A,e.mixin=V,e.median_absolute_deviation=O,e.rms=f,e.erf=B})(this)},{}],166:[function(e,t,n){(function(){function N(e){function t(t,n,r,i,s,o){for(;s>=0&&s<o;s+=e){var u=i?i[s]:s;r=n(r,t[u],u,t)}return r}return function(n,r,i,s){r=g(r,s,4);var o=!T(n)&&m.keys(n),u=(o||n).length,a=e>0?0:u-1;return arguments.length<3&&(i=n[o?o[a]:a],a+=e),t(n,r,i,o,a,u)}}function L(e){return function(t,n,r){n=y(n,r);var i=x(t),s=e>0?0:i-1;for(;s>=0&&s<i;s+=e)if(n(t[s],s,t))return s;return-1}}function A(e,t,n){return function(r,i,s){var o=0,u=x(r);if(typeof s=="number")e>0?o=s>=0?s:Math.max(s+u,o):u=s>=0?Math.min(s+1,u):s+u+1;else if(n&&s&&u)return s=n(r,i),r[s]===i?s:-1;if(i!==i)return s=t(a.call(r,o,u),m.isNaN),s>=0?s+o:-1;for(s=e>0?o:u-1;s>=0&&s<u;s+=e)if(r[s]===i)return s;return-1}}function D(e,t){var n=_.length,r=e.constructor,i=m.isFunction(r)&&r.prototype||s,o="constructor";m.has(e,o)&&!m.contains(t,o)&&t.push(o);while(n--)o=_[n],o in e&&e[o]!==i[o]&&!m.contains(t,o)&&t.push(o)}var e=this,r=e._,i=Array.prototype,s=Object.prototype,o=Function.prototype,u=i.push,a=i.slice,f=s.toString,l=s.hasOwnProperty,c=Array.isArray,h=Object.keys,p=o.bind,d=Object.create,v=function(){},m=function(e){if(e instanceof m)return e;if(!(this instanceof m))return new m(e);this._wrapped=e};typeof n!="undefined"?(typeof t!="undefined"&&t.exports&&(n=t.exports=m),n._=m):e._=m,m.VERSION="1.8.3";var g=function(e,t,n){if(t===void 0)return e;switch(n==null?3:n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)};case 4:return function(n,r,i,s){return e.call(t,n,r,i,s)}}return function(){return e.apply(t,arguments)}},y=function(e,t,n){return e==null?m.identity:m.isFunction(e)?g(e,t,n):m.isObject(e)?m.matcher(e):m.property(e)};m.iteratee=function(e,t){return y(e,t,Infinity)};var b=function(e,t){return function(n){var r=arguments.length;if(r<2||n==null)return n;for(var i=1;i<r;i++){var s=arguments[i],o=e(s),u=o.length;for(var a=0;a<u;a++){var f=o[a];if(!t||n[f]===void 0)n[f]=s[f]}}return n}},w=function(e){if(!m.isObject(e))return{};if(d)return d(e);v.prototype=e;var t=new v;return v.prototype=null,t},E=function(e){return function(t){return t==null?void 0:t[e]}},S=Math.pow(2,53)-1,x=E("length"),T=function(e){var t=x(e);return typeof t=="number"&&t>=0&&t<=S};m.each=m.forEach=function(e,t,n){t=g(t,n);var r,i;if(T(e))for(r=0,i=e.length;r<i;r++)t(e[r],r,e);else{var s=m.keys(e);for(r=0,i=s.length;r<i;r++)t(e[s[r]],s[r],e)}return e},m.map=m.collect=function(e,t,n){t=y(t,n);var r=!T(e)&&m.keys(e),i=(r||e).length,s=Array(i);for(var o=0;o<i;o++){var u=r?r[o]:o;s[o]=t(e[u],u,e)}return s},m.reduce=m.foldl=m.inject=N(1),m.reduceRight=m.foldr=N(-1),m.find=m.detect=function(e,t,n){var r;T(e)?r=m.findIndex(e,t,n):r=m.findKey(e,t,n);if(r!==void 0&&r!==-1)return e[r]},m.filter=m.select=function(e,t,n){var r=[];return t=y(t,n),m.each(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r},m.reject=function(e,t,n){return m.filter(e,m.negate(y(t)),n)},m.every=m.all=function(e,t,n){t=y(t,n);var r=!T(e)&&m.keys(e),i=(r||e).length;for(var s=0;s<i;s++){var o=r?r[s]:s;if(!t(e[o],o,e))return!1}return!0},m.some=m.any=function(e,t,n){t=y(t,n);var r=!T(e)&&m.keys(e),i=(r||e).length;for(var s=0;s<i;s++){var o=r?r[s]:s;if(t(e[o],o,e))return!0}return!1},m.contains=m.includes=m.include=function(e,t,n,r){T(e)||(e=m.values(e));if(typeof n!="number"||r)n=0;return m.indexOf(e,t,n)>=0},m.invoke=function(e,t){var n=a.call(arguments,2),r=m.isFunction(t);return m.map(e,function(e){var i=r?t:e[t];return i==null?i:i.apply(e,n)})},m.pluck=function(e,t){return m.map(e,m.property(t))},m.where=function(e,t){return m.filter(e,m.matcher(t))},m.findWhere=function(e,t){return m.find(e,m.matcher(t))},m.max=function(e,t,n){var r=-Infinity,i=-Infinity,s,o;if(t==null&&e!=null){e=T(e)?e:m.values(e);for(var u=0,a=e.length;u<a;u++)s=e[u],s>r&&(r=s)}else t=y(t,n),m.each(e,function(e,n,s){o=t(e,n,s);if(o>i||o===-Infinity&&r===-Infinity)r=e,i=o});return r},m.min=function(e,t,n){var r=Infinity,i=Infinity,s,o;if(t==null&&e!=null){e=T(e)?e:m.values(e);for(var u=0,a=e.length;u<a;u++)s=e[u],s<r&&(r=s)}else t=y(t,n),m.each(e,function(e,n,s){o=t(e,n,s);if(o<i||o===Infinity&&r===Infinity)r=e,i=o});return r},m.shuffle=function(e){var t=T(e)?e:m.values(e),n=t.length,r=Array(n);for(var i=0,s;i<n;i++)s=m.random(0,i),s!==i&&(r[i]=r[s]),r[s]=t[i];return r},m.sample=function(e,t,n){return t==null||n?(T(e)||(e=m.values(e)),e[m.random(e.length-1)]):m.shuffle(e).slice(0,Math.max(0,t))},m.sortBy=function(e,t,n){return t=y(t,n),m.pluck(m.map(e,function(e,n,r){return{value:e,index:n,criteria:t(e,n,r)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index-t.index}),"value")};var C=function(e){return function(t,n,r){var i={};return n=y(n,r),m.each(t,function(r,s){var o=n(r,s,t);e(i,r,o)}),i}};m.groupBy=C(function(e,t,n){m.has(e,n)?e[n].push(t):e[n]=[t]}),m.indexBy=C(function(e,t,n){e[n]=t}),m.countBy=C(function(e,t,n){m.has(e,n)?e[n]++:e[n]=1}),m.toArray=function(e){return e?m.isArray(e)?a.call(e):T(e)?m.map(e,m.identity):m.values(e):[]},m.size=function(e){return e==null?0:T(e)?e.length:m.keys(e).length},m.partition=function(e,t,n){t=y(t,n);var r=[],i=[];return m.each(e,function(e,n,s){(t(e,n,s)?r:i).push(e)}),[r,i]},m.first=m.head=m.take=function(e,t,n){return e==null?void 0:t==null||n?e[0]:m.initial(e,e.length-t)},m.initial=function(e,t,n){return a.call(e,0,Math.max(0,e.length-(t==null||n?1:t)))},m.last=function(e,t,n){return e==null?void 0:t==null||n?e[e.length-1]:m.rest(e,Math.max(0,e.length-t))},m.rest=m.tail=m.drop=function(e,t,n){return a.call(e,t==null||n?1:t)},m.compact=function(e){return m.filter(e,m.identity)};var k=function(e,t,n,r){var i=[],s=0;for(var o=r||0,u=x(e);o<u;o++){var a=e[o];if(T(a)&&(m.isArray(a)||m.isArguments(a))){t||(a=k(a,t,n));var f=0,l=a.length;i.length+=l;while(f<l)i[s++]=a[f++]}else n||(i[s++]=a)}return i};m.flatten=function(e,t){return k(e,t,!1)},m.without=function(e){return m.difference(e,a.call(arguments,1))},m.uniq=m.unique=function(e,t,n,r){m.isBoolean(t)||(r=n,n=t,t=!1),n!=null&&(n=y(n,r));var i=[],s=[];for(var o=0,u=x(e);o<u;o++){var a=e[o],f=n?n(a,o,e):a;t?((!o||s!==f)&&i.push(a),s=f):n?m.contains(s,f)||(s.push(f),i.push(a)):m.contains(i,a)||i.push(a)}return i},m.union=function(){return m.uniq(k(arguments,!0,!0))},m.intersection=function(e){var t=[],n=arguments.length;for(var r=0,i=x(e);r<i;r++){var s=e[r];if(m.contains(t,s))continue;for(var o=1;o<n;o++)if(!m.contains(arguments[o],s))break;o===n&&t.push(s)}return t},m.difference=function(e){var t=k(arguments,!0,!0,1);return m.filter(e,function(e){return!m.contains(t,e)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(e){var t=e&&m.max(e,x).length||0,n=Array(t);for(var r=0;r<t;r++)n[r]=m.pluck(e,r);return n},m.object=function(e,t){var n={};for(var r=0,i=x(e);r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},m.findIndex=L(1),m.findLastIndex=L(-1),m.sortedIndex=function(e,t,n,r){n=y(n,r,1);var i=n(t),s=0,o=x(e);while(s<o){var u=Math.floor((s+o)/2);n(e[u])<i?s=u+1:o=u}return s},m.indexOf=A(1,m.findIndex,m.sortedIndex),m.lastIndexOf=A(-1,m.findLastIndex),m.range=function(e,t,n){t==null&&(t=e||0,e=0),n=n||1;var r=Math.max(Math.ceil((t-e)/n),0),i=Array(r);for(var s=0;s<r;s++,e+=n)i[s]=e;return i};var O=function(e,t,n,r,i){if(r instanceof t){var s=w(e.prototype),o=e.apply(s,i);return m.isObject(o)?o:s}return e.apply(n,i)};m.bind=function(e,t){if(p&&e.bind===p)return p.apply(e,a.call(arguments,1));if(!m.isFunction(e))throw new TypeError("Bind must be called on a function");var n=a.call(arguments,2),r=function(){return O(e,r,t,this,n.concat(a.call(arguments)))};return r},m.partial=function(e){var t=a.call(arguments,1),n=function(){var r=0,i=t.length,s=Array(i);for(var o=0;o<i;o++)s[o]=t[o]===m?arguments[r++]:t[o];while(r<arguments.length)s.push(arguments[r++]);return O(e,n,this,this,s)};return n},m.bindAll=function(e){var t,n=arguments.length,r;if(n<=1)throw new Error("bindAll must be passed function names");for(t=1;t<n;t++)r=arguments[t],e[r]=m.bind(e[r],e);return e},m.memoize=function(e,t){var n=function(r){var i=n.cache,s=""+(t?t.apply(this,arguments):r);return m.has(i,s)||(i[s]=e.apply(this,arguments)),i[s]};return n.cache={},n},m.delay=function(e,t){var n=a.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(e,t,n){var r,i,s,o=null,u=0;n||(n={});var a=function(){u=n.leading===!1?0:m.now(),o=null,s=e.apply(r,i),o||(r=i=null)};return function(){var f=m.now();!u&&n.leading===!1&&(u=f);var l=t-(f-u);return r=this,i=arguments,l<=0||l>t?(o&&(clearTimeout(o),o=null),u=f,s=e.apply(r,i),o||(r=i=null)):!o&&n.trailing!==!1&&(o=setTimeout(a,l)),s}},m.debounce=function(e,t,n){var r,i,s,o,u,a=function(){var f=m.now()-o;f<t&&f>=0?r=setTimeout(a,t-f):(r=null,n||(u=e.apply(s,i),r||(s=i=null)))};return function(){s=this,i=arguments,o=m.now();var f=n&&!r;return r||(r=setTimeout(a,t)),f&&(u=e.apply(s,i),s=i=null),u}},m.wrap=function(e,t){return m.partial(t,e)},m.negate=function(e){return function(){return!e.apply(this,arguments)}},m.compose=function(){var e=arguments,t=e.length-1;return function(){var n=t,r=e[t].apply(this,arguments);while(n--)r=e[n].call(this,r);return r}},m.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},m.before=function(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),_=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(e){if(!m.isObject(e))return[];if(h)return h(e);var t=[];for(var n in e)m.has(e,n)&&t.push(n);return M&&D(e,t),t},m.allKeys=function(e){if(!m.isObject(e))return[];var t=[];for(var n in e)t.push(n);return M&&D(e,t),t},m.values=function(e){var t=m.keys(e),n=t.length,r=Array(n);for(var i=0;i<n;i++)r[i]=e[t[i]];return r},m.mapObject=function(e,t,n){t=y(t,n);var r=m.keys(e),i=r.length,s={},o;for(var u=0;u<i;u++)o=r[u],s[o]=t(e[o],o,e);return s},m.pairs=function(e){var t=m.keys(e),n=t.length,r=Array(n);for(var i=0;i<n;i++)r[i]=[t[i],e[t[i]]];return r},m.invert=function(e){var t={},n=m.keys(e);for(var r=0,i=n.length;r<i;r++)t[e[n[r]]]=n[r];return t},m.functions=m.methods=function(e){var t=[];for(var n in e)m.isFunction(e[n])&&t.push(n);return t.sort()},m.extend=b(m.allKeys),m.extendOwn=m.assign=b(m.keys),m.findKey=function(e,t,n){t=y(t,n);var r=m.keys(e),i;for(var s=0,o=r.length;s<o;s++){i=r[s];if(t(e[i],i,e))return i}},m.pick=function(e,t,n){var r={},i=e,s,o;if(i==null)return r;m.isFunction(t)?(o=m.allKeys(i),s=g(t,n)):(o=k(arguments,!1,!1,1),s=function(e,t,n){return t in n},i=Object(i));for(var u=0,a=o.length;u<a;u++){var f=o[u],l=i[f];s(l,f,i)&&(r[f]=l)}return r},m.omit=function(e,t,n){if(m.isFunction(t))t=m.negate(t);else{var r=m.map(k(arguments,!1,!1,1),String);t=function(e,t){return!m.contains(r,t)}}return m.pick(e,t,n)},m.defaults=b(m.allKeys,!0),m.create=function(e,t){var n=w(e);return t&&m.extendOwn(n,t),n},m.clone=function(e){return m.isObject(e)?m.isArray(e)?e.slice():m.extend({},e):e},m.tap=function(e,t){return t(e),e},m.isMatch=function(e,t){var n=m.keys(t),r=n.length;if(e==null)return!r;var i=Object(e);for(var s=0;s<r;s++){var o=n[s];if(t[o]!==i[o]||!(o in i))return!1}return!0};var P=function(e,t,n,r){if(e===t)return e!==0||1/e===1/t;if(e==null||t==null)return e===t;e instanceof m&&(e=e._wrapped),t instanceof m&&(t=t._wrapped);var i=f.call(e);if(i!==f.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":if(+e!==+e)return+t!==+t;return+e===0?1/+e===1/t:+e===+t;case"[object Date]":case"[object Boolean]":return+e===+t}var s=i==="[object Array]";if(!s){if(typeof e!="object"||typeof t!="object")return!1;var o=e.constructor,u=t.constructor;if(o!==u&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(u)&&u instanceof u)&&"constructor"in e&&"constructor"in t)return!1}n=n||[],r=r||[];var a=n.length;while(a--)if(n[a]===e)return r[a]===t;n.push(e),r.push(t);if(s){a=e.length;if(a!==t.length)return!1;while(a--)if(!P(e[a],t[a],n,r))return!1}else{var l=m.keys(e),c;a=l.length;if(m.keys(t).length!==a)return!1;while(a--){c=l[a];if(!m.has(t,c)||!P(e[c],t[c],n,r))return!1}}return n.pop(),r.pop(),!0};m.isEqual=function(e,t){return P(e,t)},m.isEmpty=function(e){return e==null?!0:T(e)&&(m.isArray(e)||m.isString(e)||m.isArguments(e))?e.length===0:m.keys(e).length===0},m.isElement=function(e){return!!e&&e.nodeType===1},m.isArray=c||function(e){return f.call(e)==="[object Array]"},m.isObject=function(e){var t=typeof e;return t==="function"||t==="object"&&!!e},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(e){m["is"+e]=function(t){return f.call(t)==="[object "+e+"]"}}),m.isArguments(arguments)||(m.isArguments=function(e){return m.has(e,"callee")}),typeof /./!="function"&&typeof Int8Array!="object"&&(m.isFunction=function(e){return typeof e=="function"||!1}),m.isFinite=function(e){return isFinite(e)&&!isNaN(parseFloat(e))},m.isNaN=function(e){return m.isNumber(e)&&e!==+e},m.isBoolean=function(e){return e===!0||e===!1||f.call(e)==="[object Boolean]"},m.isNull=function(e){return e===null},m.isUndefined=function(e){return e===void 0},m.has=function(e,t){return e!=null&&l.call(e,t)},m.noConflict=function(){return e._=r,this},m.identity=function(e){return e},m.constant=function(e){return function(){return e}},m.noop=function(){},m.property=E,m.propertyOf=function(e){return e==null?function(){}:function(t){return e[t]}},m.matcher=m.matches=function(e){return e=m.extendOwn({},e),function(t){return m.isMatch(t,e)}},m.times=function(e,t,n){var r=Array(Math.max(0,e));t=g(t,n,1);for(var i=0;i<e;i++)r[i]=t(i);return r},m.random=function(e,t){return t==null&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))},m.now=Date.now||function(){return(new Date).getTime()};var H={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},B=m.invert(H),j=function(e){var t=function(t){return e[t]},n="(?:"+m.keys(e).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(e){return e=e==null?"":""+e,r.test(e)?e.replace(i,t):e}};m.escape=j(H),m.unescape=j(B),m.result=function(e,t,n){var r=e==null?void 0:e[t];return r===void 0&&(r=n),m.isFunction(r)?r.call(e):r};var F=0;m.uniqueId=function(e){var t=++F+"";return e?e+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var I=/(.)^/,q={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},R=/\\|'|\r|\n|\u2028|\u2029/g,U=function(e){return"\\"+q[e]};m.template=function(e,t,n){!t&&n&&(t=n),t=m.defaults({},t,m.templateSettings);var r=RegExp([(t.escape||I).source,(t.interpolate||I).source,(t.evaluate||I).source].join("|")+"|$","g"),i=0,s="__p+='";e.replace(r,function(t,n,r,o,u){return s+=e.slice(i,u).replace(R,U),i=u+t.length,n?s+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?s+="'+\n((__t=("+r+"))==null?'':__t)+\n'":o&&(s+="';\n"+o+"\n__p+='"),t}),s+="';\n",t.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{var o=new Function(t.variable||"obj","_",s)}catch(u){throw u.source=s,u}var a=function(e){return o.call(this,e,m)},f=t.variable||"obj";return a.source="function("+f+"){\n"+s+"}",a},m.chain=function(e){var t=m(e);return t._chain=!0,t};var z=function(e,t){return e._chain?m(t).chain():t};m.mixin=function(e){m.each(m.functions(e),function(t){var n=m[t]=e[t];m.prototype[t]=function(){var e=[this._wrapped];return u.apply(e,arguments),z(this,n.apply(m,e))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=i[e];m.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e==="shift"||e==="splice")&&n.length===0&&delete n[0],z(this,n)}}),m.each(["concat","join","slice"],function(e){var t=i[e];m.prototype[e]=function(){return z(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},typeof define=="function"&&define.amd&&define("underscore",[],function(){return m})}).call(this)},{}]},{},[11])(11)});