+++ /dev/null
-{"version":3,"sources":["svg.js","regex.js","utilities.js","default.js","queue.js","color.js","array.js","pointarray.js","patharray.js","number.js","eventtarget.js","HtmlNode.js","element.js","event.js","matrix.js","point.js","attr.js","transform.js","css.js","parent.js","flatten.js","container.js","defs.js","group.js","arrange.js","mask.js","clip.js","gradient.js","pattern.js","doc.js","shape.js","bare.js","symbol.js","use.js","rect.js","ellipse.js","line.js","poly.js","pointed.js","path.js","image.js","text.js","textpath.js","hyperlink.js","marker.js","sugar.js","data.js","memory.js","selector.js","helpers.js","boxes.js","parser.js","animator.js","morph.js","runner.js","timeline.js","controller.js"],"names":["SVG","window","element","supported","createElement","ns","xmlns","xlink","svgjs","did","eid","name","capitalize","create","document","createElementNS","extend","modules","methods","key","i","Array","isArray","length","prototype","invent","config","initializer","node","inherit","call","constructor","construct","parent","Container","adopt","instance","Element","SVGElement","HtmlNode","nodeName","Doc","Gradient","Parent","regex","numberAndUnit","hex","rgb","reference","transforms","whitespace","isHex","isRgb","isCss","isBlank","isNumber","isPercent","isImage","delimiter","hyphen","pathLetters","isPathLetter","numbersWithDots","dots","utils","map","array","block","il","result","push","filter","radians","d","Math","PI","degrees","r","filterSVGElements","nodes","el","void","defaults","timeline","duration","ease","delay","attrs","fill","stroke","opacity","x","y","cx","cy","width","height","rx","ry","offset","Queue","_first","_last","value","item","next","prev","shift","remove","first","last","Color","color","g","b","match","test","exec","replace","parseInt","fullHex","arguments","toString","toHex","toArray","fromArray","a","compToHex","round","toRgb","join","brightness","morph","destination","at","pos","isColor","fallback","valueOf","parse","lastValue","lastDestination","settle","seen","indexOf","trim","split","parseFloat","reverse","clone","arrayClone","PointArray","reduce","curr","concat","toLine","x1","y1","x2","y2","points","pop","len","move","box","bbox","isNaN","size","maxX","Infinity","maxY","minX","minY","forEach","max","min","pathHandlers","M","c","p","p0","L","H","V","C","S","Q","T","Z","A","mlhvqtcsaz","j","jl","toUpperCase","PathArray","arrayToString","l","equalCommands","pathArray","sourceArray","destinationArray","s","paramCnt","pathRegReplace","Point","index","slice","parser","path","setAttribute","getBBox","Number","unit","isFinite","toJSON","plus","number","minus","times","divide","to","relative","EventTarget","on","event","listener","binding","options","off","dispatch","data","fire","add","children","insertBefore","put","getEventTarget","events","dom","type","hasAttribute","setData","JSON","getAttribute","attr","center","proportionalSize","writeDataToDom","assignNewId","cloneNode","after","removeElement","addTo","putIn","id","inside","show","css","hide","visible","classes","hasClass","addClass","removeClass","toggleClass","get","parentNode","matches","doc","defs","parents","selector","native","svg","well","innerHTML","appendChild","firstElementChild","outerHTML","is","each","removeAttribute","Object","keys","stringify","o","obj","f","listenerId","bind","n","bag","_svgjsListenerId","ev","addEventListener","namespace","removeEventListener","Event","dispatchEvent","CustomEvent","detail","cancelable","Matrix","source","base","arrayToMatrix","matrixify","isMatrixLike","transform","e","matrix","multiplyO","t","formatTransforms","current","ox","oy","transformer","translateO","lmultiplyO","scaleO","scaleX","scaleY","skewO","skewX","skewY","shearO","shear","rotateO","theta","px","py","origin","dx","dy","tx","ty","compose","originX","originY","sx","sy","lam","rotate","translateX","translateY","decompose","determinant","ccw","sqrt","thetaRad","atan2","ct","cos","st","sin","multiply","matrixMultiply","lmultiply","inverseO","det","Error","na","nb","nc","nd","ne","nf","inverse","translate","scale","flip","axis","around","flipO","lx","skew","tan","ly","skewXO","skewYO","aroundO","createSVGMatrix","abcdef","equals","other","comp","closeEnough","ctm","getCTM","screenCTM","isRoot","rect","m","getScreenCTM","point","createSVGPoint","v","attributes","nodeValue","image","Image","pattern","leading","setAttributeNS","rebuild","untransform","str","kv","apply","toParent","pCtm","toDoc","decomposed","getOrigin","cleanRelative","ret","style","cssText","camelCase","has","deep","removeChild","clear","hasChildNodes","lastChild","_defs","flatten","G","Defs","ungroup","group","siblings","position","forward","backward","front","back","before","Mask","targets","unmask","select","mask","maskWith","masker","ClipPath","unclip","clip","clipWith","clipper","stop","Stop","update","url","gradient","Timeline","from","_target","fx","fy","Pattern","patternUnits","version","getElementsByTagName","nested","Shape","Bare","method","words","text","createTextNode","Symbol","symbol","Use","file","use","Rect","Circle","circle","Ellipse","ellipse","Line","plot","line","Polyline","polyline","Polygon","polygon","_array","MorphArray","Path","load","callback","img","ratio","src","Text","_rebuild","_build","undefined","childNodes","firstLine","nodeType","newLined","textContent","build","tspan","newLine","self","blankLineOffset","plain","Tspan","getComputedTextLength","TextPath","track","textPath","txt","target","link","linkTo","Marker","ref","marker","viewbox","sugar","prefix","extension","mat","angle","direction","directionString","dmove","radius","getTotalLength","pointAt","getPointAtLength","font","remember","k","memory","forget","_memory","getElementById","idFromReference","query","querySelectorAll","$$","$","querySelector","makeNested","charAt","isNulledBox","w","h","domContains","documentElement","contains","arr","matchesSelector","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","toLowerCase","substring","ensureCentre","fullBox","threshold","abs","flipBoth","flipX","flipY","positionX","positionY","relativeX","relativeY","string","bx","includes","by","Box","left","top","merge","xMin","xMax","yMin","yMax","pts","addOffset","pageXOffset","pageYOffset","Exception","console","warn","rbox","getBoundingClientRect","ForeignObject","View","body","overflow","Animator","nextDraw","frames","timeouts","timer","performance","Date","frame","fn","run","requestAnimationFrame","_draw","transform_frame","timeout","time","now","cancelFrame","clearTimeout","nextTimeout","lastTimeout","nextFrame","lastFrame","Morphable","stepper","_stepper","Ease","_from","_to","_type","_context","_morphObj","val","_set","NonMorphable","MorphableTypes","ObjectBag","done","complete","_this","step","TransformBag","assign","objOrArr","values","entries","sort","args","easing","Runner","Controller","_element","_timeline","_queue","_duration","_isDeclarative","_history","enabled","_time","tags","transformId","_haveReversed","_reverse","_loopsDone","_swing","_wait","_times","animate","when","sanitise","loop","schedule","_prepareRunner","runner","unschedule","swing","wait","queue","initFn","runFn","isTransform","initialiser","initialised","finished","_continue","during","dt","loops","loopDuration","loopsDone","floor","relativeTime","whole","partial","swinging","backwards","uncliped","pow","clipped","endTime","swingForward","forwards","progress","running","_lastPosition","justStarted","_lastTime","justFinished","declarative","_initialise","converged","_run","finish","active","tag","untag","_dispatcher","_rememberMorpher","morpher","caller","_tryRetarget","splice","needsIt","positionOrDt","allfinished","addTransform","clearTransform","Stepper","FakeRunner","mergeWith","getRunnerTransform","mergeTransforms","runners","_transformationRunners","netTransform","_frameId","RunnerArray","ids","leftSibling","lastRunner","edit","newRunner","deleteCnt","_clearTransformRunnersBefore","currentRunner","clearBefore","_currentTransform","addRunner","frameId","styleAttr","zoom","level","affine","isMatrix","currentAngle","startTransform","setup","start","rTarget","rCurrent","possibilities","distances","shortest","affineParameters","retarget","newTransforms","_queueNumber","_queueNumberDelta","_tryRetargetDelta","_queueObject","makeSchedule","runnerInfo","end","_timeSource","_startTime","_speed","_persist","_nextFrame","_paused","_runners","_order","_lastSourceTime","_lastStepTime","_step","absoluteStartTime","persist","play","pause","seek","speed","yes","currentSpeed","positive","dtOrForever","dtSource","dtTime","runnersLeft","dtToStart","makeSetterGetter","bezier","t0","x0","t1","recalculate","overshoot","_overshoot","eps","pi","os","log","zeta","wn","Spring","velocity","acceleration","newPosition","PID","windup","integral","error","P","I","D"],"mappings":"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","file":"svg.js","sourcesContent":["/* global createElement, capitalize */\r\n/* eslint-disable new-cap */\r\n\r\n// The main wrapping element\r\nvar SVG = window.SVG = function (element) {\r\n if (SVG.supported) {\r\n element = createElement(element)\r\n return element\r\n }\r\n}\r\n\r\n// Svg must be supported if we reached this stage\r\nSVG.supported = true\r\n\r\n// Default namespaces\r\nSVG.ns = 'http://www.w3.org/2000/svg'\r\nSVG.xmlns = 'http://www.w3.org/2000/xmlns/'\r\nSVG.xlink = 'http://www.w3.org/1999/xlink'\r\nSVG.svgjs = 'http://svgjs.com/svgjs'\r\n\r\n// Element id sequence\r\nSVG.did = 1000\r\n\r\n// Get next named element id\r\nSVG.eid = function (name) {\r\n return 'Svgjs' + capitalize(name) + (SVG.did++)\r\n}\r\n\r\n// Method for element creation\r\nSVG.create = function (name) {\r\n // create element\r\n return document.createElementNS(this.ns, name)\r\n}\r\n\r\n// Method for extending objects\r\nSVG.extend = function (modules, methods) {\r\n var key, i\r\n\r\n modules = Array.isArray(modules) ? modules : [modules]\r\n\r\n for (i = modules.length - 1; i >= 0; i--) {\r\n if (modules[i]) {\r\n for (key in methods) {\r\n modules[i].prototype[key] = methods[key]\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Invent new element\r\nSVG.invent = function (config) {\r\n // Create element initializer\r\n var initializer = typeof config.create === 'function' ? config.create\r\n : function (node) {\r\n config.inherit.call(this, node || SVG.create(config.create))\r\n }\r\n\r\n // Inherit prototype\r\n if (config.inherit) {\r\n initializer.prototype = new config.inherit()\r\n initializer.prototype.constructor = initializer\r\n }\r\n\r\n // Extend with methods\r\n if (config.extend) {\r\n SVG.extend(initializer, config.extend)\r\n }\r\n\r\n // Attach construct method to parent\r\n if (config.construct) { SVG.extend(config.parent || SVG.Container, config.construct) }\r\n\r\n return initializer\r\n}\r\n\r\n// Adopt existing svg elements\r\nSVG.adopt = function (node) {\r\n // check for presence of node\r\n if (!node) return null\r\n\r\n // make sure a node isn't already adopted\r\n if (node.instance instanceof SVG.Element) return node.instance\r\n\r\n if (!(node instanceof window.SVGElement)) {\r\n return new SVG.HtmlNode(node)\r\n }\r\n\r\n // initialize variables\r\n var element\r\n\r\n // adopt with element-specific settings\r\n if (node.nodeName === 'svg') {\r\n element = new SVG.Doc(node)\r\n } else if (node.nodeName === 'linearGradient' || node.nodeName === 'radialGradient') {\r\n element = new SVG.Gradient(node)\r\n } else if (SVG[capitalize(node.nodeName)]) {\r\n element = new SVG[capitalize(node.nodeName)](node)\r\n } else {\r\n element = new SVG.Parent(node)\r\n }\r\n\r\n return element\r\n}\r\n","// Storage for regular expressions\r\nSVG.regex = {\r\n // Parse unit value\r\n numberAndUnit: /^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,\r\n\r\n // Parse hex value\r\n hex: /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,\r\n\r\n // Parse rgb value\r\n rgb: /rgb\\((\\d+),(\\d+),(\\d+)\\)/,\r\n\r\n // Parse reference id\r\n reference: /#([a-z0-9\\-_]+)/i,\r\n\r\n // splits a transformation chain\r\n transforms: /\\)\\s*,?\\s*/,\r\n\r\n // Whitespace\r\n whitespace: /\\s/g,\r\n\r\n // Test hex value\r\n isHex: /^#[a-f0-9]{3,6}$/i,\r\n\r\n // Test rgb value\r\n isRgb: /^rgb\\(/,\r\n\r\n // Test css declaration\r\n isCss: /[^:]+:[^;]+;?/,\r\n\r\n // Test for blank string\r\n isBlank: /^(\\s+)?$/,\r\n\r\n // Test for numeric string\r\n isNumber: /^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n // Test for percent value\r\n isPercent: /^-?[\\d.]+%$/,\r\n\r\n // Test for image url\r\n isImage: /\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,\r\n\r\n // split at whitespace and comma\r\n delimiter: /[\\s,]+/,\r\n\r\n // The following regex are used to parse the d attribute of a path\r\n\r\n // Matches all hyphens which are not after an exponent\r\n hyphen: /([^e])-/gi,\r\n\r\n // Replaces and tests for all path letters\r\n pathLetters: /[MLHVCSQTAZ]/gi,\r\n\r\n // yes we need this one, too\r\n isPathLetter: /[MLHVCSQTAZ]/i,\r\n\r\n // matches 0.154.23.45\r\n numbersWithDots: /((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,\r\n\r\n // matches .\r\n dots: /\\./g\r\n}\r\n","\r\nSVG.utils = {\r\n // Map function\r\n map: function (array, block) {\r\n var i\r\n var il = array.length\r\n var result = []\r\n\r\n for (i = 0; i < il; i++) {\r\n result.push(block(array[i]))\r\n }\r\n\r\n return result\r\n },\r\n\r\n // Filter function\r\n filter: function (array, block) {\r\n var i\r\n var il = array.length\r\n var result = []\r\n\r\n for (i = 0; i < il; i++) {\r\n if (block(array[i])) { result.push(array[i]) }\r\n }\r\n\r\n return result\r\n },\r\n\r\n // Degrees to radians\r\n radians: function (d) {\r\n return d % 360 * Math.PI / 180\r\n },\r\n\r\n // Radians to degrees\r\n degrees: function (r) {\r\n return r * 180 / Math.PI % 360\r\n },\r\n\r\n filterSVGElements: function (nodes) {\r\n return this.filter(nodes, function (el) { return el instanceof window.SVGElement })\r\n }\r\n\r\n}\r\n","\r\nSVG.void = function () {}\r\n\r\nSVG.defaults = {\r\n\r\n // Default animation values\r\n timeline: {\r\n duration: 400,\r\n ease: '>',\r\n delay: 0\r\n },\r\n\r\n // Default attribute values\r\n attrs: {\r\n\r\n // fill and stroke\r\n 'fill-opacity': 1,\r\n 'stroke-opacity': 1,\r\n 'stroke-width': 0,\r\n 'stroke-linejoin': 'miter',\r\n 'stroke-linecap': 'butt',\r\n fill: '#000000',\r\n stroke: '#000000',\r\n opacity: 1,\r\n\r\n // position\r\n x: 0,\r\n y: 0,\r\n cx: 0,\r\n cy: 0,\r\n\r\n // size\r\n width: 0,\r\n height: 0,\r\n\r\n // radius\r\n r: 0,\r\n rx: 0,\r\n ry: 0,\r\n\r\n // gradient\r\n offset: 0,\r\n 'stop-opacity': 1,\r\n 'stop-color': '#000000',\r\n\r\n // text\r\n 'font-size': 16,\r\n 'font-family': 'Helvetica, Arial, sans-serif',\r\n 'text-anchor': 'start'\r\n }\r\n}\r\n","SVG.Queue = SVG.invent({\r\n create: function () {\r\n this._first = null\r\n this._last = null\r\n },\r\n\r\n extend: {\r\n push: function (value) {\r\n // An item stores an id and the provided value\r\n var item = value.next ? value : { value: value, next: null, prev: null }\r\n\r\n // Deal with the queue being empty or populated\r\n if (this._last) {\r\n item.prev = this._last\r\n this._last.next = item\r\n this._last = item\r\n } else {\r\n this._last = item\r\n this._first = item\r\n }\r\n\r\n // Update the length and return the current item\r\n return item\r\n },\r\n\r\n shift: function () {\r\n // Check if we have a value\r\n var remove = this._first\r\n if (!remove) return null\r\n\r\n // If we do, remove it and relink things\r\n this._first = remove.next\r\n if (this._first) this._first.prev = null\r\n this._last = this._first ? this._last : null\r\n return remove.value\r\n },\r\n\r\n // Shows us the first item in the list\r\n first: function () {\r\n return this._first && this._first.value\r\n },\r\n\r\n // Shows us the last item in the list\r\n last: function () {\r\n return this._last && this._last.value\r\n },\r\n\r\n // Removes the item that was returned from the push\r\n remove: function (item) {\r\n // Relink the previous item\r\n if (item.prev) item.prev.next = item.next\r\n if (item.next) item.next.prev = item.prev\r\n if (item === this._last) this._last = item.prev\r\n if (item === this._first) this._first = item.next\r\n\r\n // Invalidate item\r\n item.prev = null\r\n item.next = null\r\n }\r\n }\r\n})\r\n","/* globals fullHex, compToHex */\r\n\r\n/*\r\n\r\nColor {\r\n constructor (a, b, c, space) {\r\n space: 'hsl'\r\n a: 30\r\n b: 20\r\n c: 10\r\n },\r\n\r\n toRgb () { return new Color in rgb space }\r\n toHsl () { return new Color in hsl space }\r\n toLab () { return new Color in lab space }\r\n\r\n toArray () { [space, a, b, c] }\r\n fromArray () { convert it back }\r\n}\r\n\r\n// Conversions aren't always exact because of monitor profiles etc...\r\nnew Color(h, s, l, 'hsl') !== new Color(r, g, b).hsl()\r\nnew Color(100, 100, 100, [space])\r\nnew Color('hsl(30, 20, 10)')\r\n\r\n// Sugar\r\nSVG.rgb(30, 20, 50).lab()\r\nSVG.hsl()\r\nSVG.lab('rgb(100, 100, 100)')\r\n*/\r\n\r\n// Module for color convertions\r\nSVG.Color = function (color, g, b) {\r\n var match\r\n\r\n // initialize defaults\r\n this.r = 0\r\n this.g = 0\r\n this.b = 0\r\n\r\n if (!color) return\r\n\r\n // parse color\r\n if (typeof color === 'string') {\r\n if (SVG.regex.isRgb.test(color)) {\r\n // get rgb values\r\n match = SVG.regex.rgb.exec(color.replace(SVG.regex.whitespace, ''))\r\n\r\n // parse numeric values\r\n this.r = parseInt(match[1])\r\n this.g = parseInt(match[2])\r\n this.b = parseInt(match[3])\r\n } else if (SVG.regex.isHex.test(color)) {\r\n // get hex values\r\n match = SVG.regex.hex.exec(fullHex(color))\r\n\r\n // parse numeric values\r\n this.r = parseInt(match[1], 16)\r\n this.g = parseInt(match[2], 16)\r\n this.b = parseInt(match[3], 16)\r\n }\r\n } else if (Array.isArray(color)) {\r\n this.r = color[0]\r\n this.g = color[1]\r\n this.b = color[2]\r\n } else if (typeof color === 'object') {\r\n this.r = color.r\r\n this.g = color.g\r\n this.b = color.b\r\n } else if (arguments.length === 3) {\r\n this.r = color\r\n this.g = g\r\n this.b = b\r\n }\r\n}\r\n\r\nSVG.extend(SVG.Color, {\r\n // Default to hex conversion\r\n toString: function () {\r\n return this.toHex()\r\n },\r\n toArray: function () {\r\n return [this.r, this.g, this.b]\r\n },\r\n fromArray: function (a) {\r\n return new SVG.Color(a)\r\n },\r\n // Build hex value\r\n toHex: function () {\r\n return '#' +\r\n compToHex(Math.round(this.r)) +\r\n compToHex(Math.round(this.g)) +\r\n compToHex(Math.round(this.b))\r\n },\r\n // Build rgb value\r\n toRgb: function () {\r\n return 'rgb(' + [this.r, this.g, this.b].join() + ')'\r\n },\r\n // Calculate true brightness\r\n brightness: function () {\r\n return (this.r / 255 * 0.30) +\r\n (this.g / 255 * 0.59) +\r\n (this.b / 255 * 0.11)\r\n },\r\n // Make color morphable\r\n morph: function (color) {\r\n this.destination = new SVG.Color(color)\r\n\r\n return this\r\n },\r\n // Get morphed color at given position\r\n at: function (pos) {\r\n // make sure a destination is defined\r\n if (!this.destination) return this\r\n\r\n // normalise pos\r\n pos = pos < 0 ? 0 : pos > 1 ? 1 : pos\r\n\r\n // generate morphed color\r\n return new SVG.Color({\r\n r: ~~(this.r + (this.destination.r - this.r) * pos),\r\n g: ~~(this.g + (this.destination.g - this.g) * pos),\r\n b: ~~(this.b + (this.destination.b - this.b) * pos)\r\n })\r\n }\r\n\r\n})\r\n\r\n// Testers\r\n\r\n// Test if given value is a color string\r\nSVG.Color.test = function (color) {\r\n color += ''\r\n return SVG.regex.isHex.test(color) ||\r\n SVG.regex.isRgb.test(color)\r\n}\r\n\r\n// Test if given value is a rgb object\r\nSVG.Color.isRgb = function (color) {\r\n return color && typeof color.r === 'number' &&\r\n typeof color.g === 'number' &&\r\n typeof color.b === 'number'\r\n}\r\n\r\n// Test if given value is a color\r\nSVG.Color.isColor = function (color) {\r\n return SVG.Color.isRgb(color) || SVG.Color.test(color)\r\n}\r\n","/* global arrayClone */\r\n\r\n// Module for array conversion\r\nSVG.Array = function (array, fallback) {\r\n array = (array || []).valueOf()\r\n\r\n // if array is empty and fallback is provided, use fallback\r\n if (array.length === 0 && fallback) {\r\n array = fallback.valueOf()\r\n }\r\n\r\n // parse array\r\n this.value = this.parse(array)\r\n}\r\n\r\nSVG.extend(SVG.Array, {\r\n // Make array morphable\r\n morph: function (array) {\r\n this.destination = this.parse(array)\r\n\r\n // normalize length of arrays\r\n if (this.value.length !== this.destination.length) {\r\n var lastValue = this.value[this.value.length - 1]\r\n var lastDestination = this.destination[this.destination.length - 1]\r\n\r\n while (this.value.length > this.destination.length) {\r\n this.destination.push(lastDestination)\r\n }\r\n while (this.value.length < this.destination.length) {\r\n this.value.push(lastValue)\r\n }\r\n }\r\n\r\n return this\r\n },\r\n // Clean up any duplicate points\r\n settle: function () {\r\n // find all unique values\r\n for (var i = 0, il = this.value.length, seen = []; i < il; i++) {\r\n if (seen.indexOf(this.value[i]) === -1) {\r\n seen.push(this.value[i])\r\n }\r\n }\r\n\r\n // set new value\r\n this.value = seen\r\n return seen\r\n },\r\n // Get morphed array at given position\r\n at: function (pos) {\r\n // make sure a destination is defined\r\n if (!this.destination) return this\r\n\r\n // generate morphed array\r\n for (var i = 0, il = this.value.length, array = []; i < il; i++) {\r\n array.push(this.value[i] + (this.destination[i] - this.value[i]) * pos)\r\n }\r\n\r\n return new SVG.Array(array)\r\n },\r\n toArray: function () {\r\n return this.value\r\n },\r\n // Convert array to string\r\n toString: function () {\r\n return this.value.join(' ')\r\n },\r\n // Real value\r\n valueOf: function () {\r\n return this.value\r\n },\r\n // Parse whitespace separated string\r\n parse: function (array) {\r\n array = array.valueOf()\r\n\r\n // if already is an array, no need to parse it\r\n if (Array.isArray(array)) return array\r\n\r\n return array.trim().split(SVG.regex.delimiter).map(parseFloat)\r\n },\r\n // Reverse array\r\n reverse: function () {\r\n this.value.reverse()\r\n\r\n return this\r\n },\r\n clone: function () {\r\n var clone = new this.constructor()\r\n clone.value = arrayClone(this.value)\r\n return clone\r\n }\r\n})\r\n","\r\n// Poly points array\r\nSVG.PointArray = function (array, fallback) {\r\n SVG.Array.call(this, array, fallback || [[0, 0]])\r\n}\r\n\r\n// Inherit from SVG.Array\r\nSVG.PointArray.prototype = new SVG.Array()\r\nSVG.PointArray.prototype.constructor = SVG.PointArray\r\n\r\nSVG.extend(SVG.PointArray, {\r\n // Convert array to string\r\n toString: function () {\r\n // convert to a poly point string\r\n for (var i = 0, il = this.value.length, array = []; i < il; i++) {\r\n array.push(this.value[i].join(','))\r\n }\r\n\r\n return array.join(' ')\r\n },\r\n\r\n toArray: function () {\r\n return this.value.reduce(function (prev, curr) {\r\n return [].concat.call(prev, curr)\r\n }, [])\r\n },\r\n\r\n // Convert array to line object\r\n toLine: function () {\r\n return {\r\n x1: this.value[0][0],\r\n y1: this.value[0][1],\r\n x2: this.value[1][0],\r\n y2: this.value[1][1]\r\n }\r\n },\r\n\r\n // Get morphed array at given position\r\n at: function (pos) {\r\n // make sure a destination is defined\r\n if (!this.destination) return this\r\n\r\n // generate morphed point string\r\n for (var i = 0, il = this.value.length, array = []; i < il; i++) {\r\n array.push([\r\n this.value[i][0] + (this.destination[i][0] - this.value[i][0]) * pos,\r\n this.value[i][1] + (this.destination[i][1] - this.value[i][1]) * pos\r\n ])\r\n }\r\n\r\n return new SVG.PointArray(array)\r\n },\r\n\r\n // Parse point string and flat array\r\n parse: function (array) {\r\n var points = []\r\n\r\n array = array.valueOf()\r\n\r\n // if it is an array\r\n if (Array.isArray(array)) {\r\n // and it is not flat, there is no need to parse it\r\n if (Array.isArray(array[0])) {\r\n return array\r\n }\r\n } else { // Else, it is considered as a string\r\n // parse points\r\n array = array.trim().split(SVG.regex.delimiter).map(parseFloat)\r\n }\r\n\r\n // validate points - https://svgwg.org/svg2-draft/shapes.html#DataTypePoints\r\n // Odd number of coordinates is an error. In such cases, drop the last odd coordinate.\r\n if (array.length % 2 !== 0) array.pop()\r\n\r\n // wrap points in two-tuples and parse points as floats\r\n for (var i = 0, len = array.length; i < len; i = i + 2) {\r\n points.push([ array[i], array[i + 1] ])\r\n }\r\n\r\n return points\r\n },\r\n\r\n // Move point string\r\n move: function (x, y) {\r\n var box = this.bbox()\r\n\r\n // get relative offset\r\n x -= box.x\r\n y -= box.y\r\n\r\n // move every point\r\n if (!isNaN(x) && !isNaN(y)) {\r\n for (var i = this.value.length - 1; i >= 0; i--) {\r\n this.value[i] = [this.value[i][0] + x, this.value[i][1] + y]\r\n }\r\n }\r\n\r\n return this\r\n },\r\n // Resize poly string\r\n size: function (width, height) {\r\n var i\r\n var box = this.bbox()\r\n\r\n // recalculate position of all points according to new size\r\n for (i = this.value.length - 1; i >= 0; i--) {\r\n if (box.width) this.value[i][0] = ((this.value[i][0] - box.x) * width) / box.width + box.x\r\n if (box.height) this.value[i][1] = ((this.value[i][1] - box.y) * height) / box.height + box.y\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Get bounding box of points\r\n bbox: function () {\r\n var maxX = -Infinity\r\n var maxY = -Infinity\r\n var minX = Infinity\r\n var minY = Infinity\r\n this.value.forEach(function (el) {\r\n maxX = Math.max(el[0], maxX)\r\n maxY = Math.max(el[1], maxY)\r\n minX = Math.min(el[0], minX)\r\n minY = Math.min(el[1], minY)\r\n })\r\n return {x: minX, y: minY, width: maxX - minX, height: maxY - minY}\r\n }\r\n})\r\n","/* globals arrayToString, pathRegReplace */\r\n\r\nvar pathHandlers = {\r\n M: function (c, p, p0) {\r\n p.x = p0.x = c[0]\r\n p.y = p0.y = c[1]\r\n\r\n return ['M', p.x, p.y]\r\n },\r\n L: function (c, p) {\r\n p.x = c[0]\r\n p.y = c[1]\r\n return ['L', c[0], c[1]]\r\n },\r\n H: function (c, p) {\r\n p.x = c[0]\r\n return ['H', c[0]]\r\n },\r\n V: function (c, p) {\r\n p.y = c[0]\r\n return ['V', c[0]]\r\n },\r\n C: function (c, p) {\r\n p.x = c[4]\r\n p.y = c[5]\r\n return ['C', c[0], c[1], c[2], c[3], c[4], c[5]]\r\n },\r\n S: function (c, p) {\r\n p.x = c[2]\r\n p.y = c[3]\r\n return ['S', c[0], c[1], c[2], c[3]]\r\n },\r\n Q: function (c, p) {\r\n p.x = c[2]\r\n p.y = c[3]\r\n return ['Q', c[0], c[1], c[2], c[3]]\r\n },\r\n T: function (c, p) {\r\n p.x = c[0]\r\n p.y = c[1]\r\n return ['T', c[0], c[1]]\r\n },\r\n Z: function (c, p, p0) {\r\n p.x = p0.x\r\n p.y = p0.y\r\n return ['Z']\r\n },\r\n A: function (c, p) {\r\n p.x = c[5]\r\n p.y = c[6]\r\n return ['A', c[0], c[1], c[2], c[3], c[4], c[5], c[6]]\r\n }\r\n}\r\n\r\nvar mlhvqtcsaz = 'mlhvqtcsaz'.split('')\r\n\r\nfor (var i = 0, il = mlhvqtcsaz.length; i < il; ++i) {\r\n pathHandlers[mlhvqtcsaz[i]] = (function (i) {\r\n return function (c, p, p0) {\r\n if (i === 'H') c[0] = c[0] + p.x\r\n else if (i === 'V') c[0] = c[0] + p.y\r\n else if (i === 'A') {\r\n c[5] = c[5] + p.x\r\n c[6] = c[6] + p.y\r\n } else {\r\n for (var j = 0, jl = c.length; j < jl; ++j) {\r\n c[j] = c[j] + (j % 2 ? p.y : p.x)\r\n }\r\n }\r\n\r\n return pathHandlers[i](c, p, p0)\r\n }\r\n })(mlhvqtcsaz[i].toUpperCase())\r\n}\r\n\r\n// Path points array\r\nSVG.PathArray = function (array, fallback) {\r\n SVG.Array.call(this, array, fallback || [['M', 0, 0]])\r\n}\r\n\r\n// Inherit from SVG.Array\r\nSVG.PathArray.prototype = new SVG.Array()\r\nSVG.PathArray.prototype.constructor = SVG.PathArray\r\n\r\nSVG.extend(SVG.PathArray, {\r\n // Convert array to string\r\n toString: function () {\r\n return arrayToString(this.value)\r\n },\r\n toArray: function () {\r\n return this.value.reduce(function (prev, curr) {\r\n return [].concat.call(prev, curr)\r\n }, [])\r\n },\r\n // Move path string\r\n move: function (x, y) {\r\n // get bounding box of current situation\r\n var box = this.bbox()\r\n\r\n // get relative offset\r\n x -= box.x\r\n y -= box.y\r\n\r\n if (!isNaN(x) && !isNaN(y)) {\r\n // move every point\r\n for (var l, i = this.value.length - 1; i >= 0; i--) {\r\n l = this.value[i][0]\r\n\r\n if (l === 'M' || l === 'L' || l === 'T') {\r\n this.value[i][1] += x\r\n this.value[i][2] += y\r\n } else if (l === 'H') {\r\n this.value[i][1] += x\r\n } else if (l === 'V') {\r\n this.value[i][1] += y\r\n } else if (l === 'C' || l === 'S' || l === 'Q') {\r\n this.value[i][1] += x\r\n this.value[i][2] += y\r\n this.value[i][3] += x\r\n this.value[i][4] += y\r\n\r\n if (l === 'C') {\r\n this.value[i][5] += x\r\n this.value[i][6] += y\r\n }\r\n } else if (l === 'A') {\r\n this.value[i][6] += x\r\n this.value[i][7] += y\r\n }\r\n }\r\n }\r\n\r\n return this\r\n },\r\n // Resize path string\r\n size: function (width, height) {\r\n // get bounding box of current situation\r\n var box = this.bbox()\r\n var i, l\r\n\r\n // recalculate position of all points according to new size\r\n for (i = this.value.length - 1; i >= 0; i--) {\r\n l = this.value[i][0]\r\n\r\n if (l === 'M' || l === 'L' || l === 'T') {\r\n this.value[i][1] = ((this.value[i][1] - box.x) * width) / box.width + box.x\r\n this.value[i][2] = ((this.value[i][2] - box.y) * height) / box.height + box.y\r\n } else if (l === 'H') {\r\n this.value[i][1] = ((this.value[i][1] - box.x) * width) / box.width + box.x\r\n } else if (l === 'V') {\r\n this.value[i][1] = ((this.value[i][1] - box.y) * height) / box.height + box.y\r\n } else if (l === 'C' || l === 'S' || l === 'Q') {\r\n this.value[i][1] = ((this.value[i][1] - box.x) * width) / box.width + box.x\r\n this.value[i][2] = ((this.value[i][2] - box.y) * height) / box.height + box.y\r\n this.value[i][3] = ((this.value[i][3] - box.x) * width) / box.width + box.x\r\n this.value[i][4] = ((this.value[i][4] - box.y) * height) / box.height + box.y\r\n\r\n if (l === 'C') {\r\n this.value[i][5] = ((this.value[i][5] - box.x) * width) / box.width + box.x\r\n this.value[i][6] = ((this.value[i][6] - box.y) * height) / box.height + box.y\r\n }\r\n } else if (l === 'A') {\r\n // resize radii\r\n this.value[i][1] = (this.value[i][1] * width) / box.width\r\n this.value[i][2] = (this.value[i][2] * height) / box.height\r\n\r\n // move position values\r\n this.value[i][6] = ((this.value[i][6] - box.x) * width) / box.width + box.x\r\n this.value[i][7] = ((this.value[i][7] - box.y) * height) / box.height + box.y\r\n }\r\n }\r\n\r\n return this\r\n },\r\n // Test if the passed path array use the same path data commands as this path array\r\n equalCommands: function (pathArray) {\r\n var i, il, equalCommands\r\n\r\n pathArray = new SVG.PathArray(pathArray)\r\n\r\n equalCommands = this.value.length === pathArray.value.length\r\n for (i = 0, il = this.value.length; equalCommands && i < il; i++) {\r\n equalCommands = this.value[i][0] === pathArray.value[i][0]\r\n }\r\n\r\n return equalCommands\r\n },\r\n // Make path array morphable\r\n morph: function (pathArray) {\r\n pathArray = new SVG.PathArray(pathArray)\r\n\r\n if (this.equalCommands(pathArray)) {\r\n this.destination = pathArray\r\n } else {\r\n this.destination = null\r\n }\r\n\r\n return this\r\n },\r\n // Get morphed path array at given position\r\n at: function (pos) {\r\n // make sure a destination is defined\r\n if (!this.destination) return this\r\n\r\n var sourceArray = this.value\r\n var destinationArray = this.destination.value\r\n var array = []\r\n var pathArray = new SVG.PathArray()\r\n var i, il, j, jl\r\n\r\n // Animate has specified in the SVG spec\r\n // See: https://www.w3.org/TR/SVG11/paths.html#PathElement\r\n for (i = 0, il = sourceArray.length; i < il; i++) {\r\n array[i] = [sourceArray[i][0]]\r\n for (j = 1, jl = sourceArray[i].length; j < jl; j++) {\r\n array[i][j] = sourceArray[i][j] + (destinationArray[i][j] - sourceArray[i][j]) * pos\r\n }\r\n // For the two flags of the elliptical arc command, the SVG spec say:\r\n // Flags and booleans are interpolated as fractions between zero and one, with any non-zero value considered to be a value of one/true\r\n // Elliptical arc command as an array followed by corresponding indexes:\r\n // ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y]\r\n // 0 1 2 3 4 5 6 7\r\n if (array[i][0] === 'A') {\r\n array[i][4] = +(array[i][4] !== 0)\r\n array[i][5] = +(array[i][5] !== 0)\r\n }\r\n }\r\n\r\n // Directly modify the value of a path array, this is done this way for performance\r\n pathArray.value = array\r\n return pathArray\r\n },\r\n // Absolutize and parse path to array\r\n parse: function (array) {\r\n // if it's already a patharray, no need to parse it\r\n if (array instanceof SVG.PathArray) return array.valueOf()\r\n\r\n // prepare for parsing\r\n var s\r\n var paramCnt = { 'M': 2, 'L': 2, 'H': 1, 'V': 1, 'C': 6, 'S': 4, 'Q': 4, 'T': 2, 'A': 7, 'Z': 0 }\r\n\r\n if (typeof array === 'string') {\r\n array = array\r\n .replace(SVG.regex.numbersWithDots, pathRegReplace) // convert 45.123.123 to 45.123 .123\r\n .replace(SVG.regex.pathLetters, ' $& ') // put some room between letters and numbers\r\n .replace(SVG.regex.hyphen, '$1 -') // add space before hyphen\r\n .trim() // trim\r\n .split(SVG.regex.delimiter) // split into array\r\n } else {\r\n array = array.reduce(function (prev, curr) {\r\n return [].concat.call(prev, curr)\r\n }, [])\r\n }\r\n\r\n // array now is an array containing all parts of a path e.g. ['M', '0', '0', 'L', '30', '30' ...]\r\n var result = []\r\n var p = new SVG.Point()\r\n var p0 = new SVG.Point()\r\n var index = 0\r\n var len = array.length\r\n\r\n do {\r\n // Test if we have a path letter\r\n if (SVG.regex.isPathLetter.test(array[index])) {\r\n s = array[index]\r\n ++index\r\n // If last letter was a move command and we got no new, it defaults to [L]ine\r\n } else if (s === 'M') {\r\n s = 'L'\r\n } else if (s === 'm') {\r\n s = 'l'\r\n }\r\n\r\n result.push(pathHandlers[s].call(null,\r\n array.slice(index, (index = index + paramCnt[s.toUpperCase()])).map(parseFloat),\r\n p, p0\r\n )\r\n )\r\n } while (len > index)\r\n\r\n return result\r\n },\r\n // Get bounding box of path\r\n bbox: function () {\r\n SVG.parser().path.setAttribute('d', this.toString())\r\n return SVG.parser.nodes.path.getBBox()\r\n }\r\n\r\n})\r\n","\r\n// Module for unit convertions\r\nSVG.Number = SVG.invent({\r\n // Initialize\r\n create: function (value, unit) {\r\n unit = Array.isArray(value) ? value[1] : unit\r\n value = Array.isArray(value) ? value[0] : value\r\n\r\n // initialize defaults\r\n this.value = 0\r\n this.unit = unit || ''\r\n\r\n // parse value\r\n if (typeof value === 'number') {\r\n // ensure a valid numeric value\r\n this.value = isNaN(value) ? 0 : !isFinite(value) ? (value < 0 ? -3.4e+38 : +3.4e+38) : value\r\n } else if (typeof value === 'string') {\r\n unit = value.match(SVG.regex.numberAndUnit)\r\n\r\n if (unit) {\r\n // make value numeric\r\n this.value = parseFloat(unit[1])\r\n\r\n // normalize\r\n if (unit[5] === '%') { this.value /= 100 } else if (unit[5] === 's') {\r\n this.value *= 1000\r\n }\r\n\r\n // store unit\r\n this.unit = unit[5]\r\n }\r\n } else {\r\n if (value instanceof SVG.Number) {\r\n this.value = value.valueOf()\r\n this.unit = value.unit\r\n }\r\n }\r\n },\r\n // Add methods\r\n extend: {\r\n // Stringalize\r\n toString: function () {\r\n return (this.unit === '%' ? ~~(this.value * 1e8) / 1e6\r\n : this.unit === 's' ? this.value / 1e3\r\n : this.value\r\n ) + this.unit\r\n },\r\n toJSON: function () {\r\n return this.toString()\r\n }, // Convert to primitive\r\n toArray: function () {\r\n return [this.value, this.unit]\r\n },\r\n valueOf: function () {\r\n return this.value\r\n },\r\n // Add number\r\n plus: function (number) {\r\n number = new SVG.Number(number)\r\n return new SVG.Number(this + number, this.unit || number.unit)\r\n },\r\n // Subtract number\r\n minus: function (number) {\r\n number = new SVG.Number(number)\r\n return new SVG.Number(this - number, this.unit || number.unit)\r\n },\r\n // Multiply number\r\n times: function (number) {\r\n number = new SVG.Number(number)\r\n return new SVG.Number(this * number, this.unit || number.unit)\r\n },\r\n // Divide number\r\n divide: function (number) {\r\n number = new SVG.Number(number)\r\n return new SVG.Number(this / number, this.unit || number.unit)\r\n },\r\n // Convert to different unit\r\n to: function (unit) {\r\n var number = new SVG.Number(this)\r\n\r\n if (typeof unit === 'string') {\r\n number.unit = unit\r\n }\r\n\r\n return number\r\n },\r\n // Make number morphable\r\n morph: function (number) {\r\n this.destination = new SVG.Number(number)\r\n\r\n if (number.relative) {\r\n this.destination.value += this.value\r\n }\r\n\r\n return this\r\n },\r\n // Get morphed number at given position\r\n at: function (pos) {\r\n // Make sure a destination is defined\r\n if (!this.destination) return this\r\n\r\n // Generate new morphed number\r\n return new SVG.Number(this.destination)\r\n .minus(this)\r\n .times(pos)\r\n .plus(this)\r\n }\r\n }\r\n})\r\n","SVG.EventTarget = SVG.invent({\r\n create: function () {},\r\n extend: {\r\n // Bind given event to listener\r\n on: function (event, listener, binding, options) {\r\n SVG.on(this, event, listener, binding, options)\r\n return this\r\n },\r\n // Unbind event from listener\r\n off: function (event, listener) {\r\n SVG.off(this, event, listener)\r\n return this\r\n },\r\n dispatch: function (event, data) {\r\n return SVG.dispatch(this, event, data)\r\n },\r\n // Fire given event\r\n fire: function (event, data) {\r\n this.dispatch(event, data)\r\n return this\r\n }\r\n }\r\n})\r\n","/* global createElement */\r\n\r\nSVG.HtmlNode = SVG.invent({\r\n inherit: SVG.EventTarget,\r\n create: function (element) {\r\n this.node = element\r\n },\r\n\r\n extend: {\r\n add: function (element, i) {\r\n element = createElement(element)\r\n\r\n if (element.node !== this.node.children[i]) {\r\n this.node.insertBefore(element.node, this.node.children[i] || null)\r\n }\r\n\r\n return this\r\n },\r\n\r\n put: function (element, i) {\r\n this.add(element, i)\r\n return element\r\n },\r\n\r\n getEventTarget: function () {\r\n return this.node\r\n }\r\n }\r\n})\r\n","/* global proportionalSize, assignNewId, createElement, matches, is */\r\n\r\nSVG.Element = SVG.invent({\r\n inherit: SVG.EventTarget,\r\n\r\n // Initialize node\r\n create: function (node) {\r\n // event listener\r\n this.events = {}\r\n\r\n // initialize data object\r\n this.dom = {}\r\n\r\n // create circular reference\r\n this.node = node\r\n if (this.node) {\r\n this.type = node.nodeName\r\n this.node.instance = this\r\n this.events = node.events || {}\r\n\r\n if (node.hasAttribute('svgjs:data')) {\r\n // pull svgjs data from the dom (getAttributeNS doesn't work in html5)\r\n this.setData(JSON.parse(node.getAttribute('svgjs:data')) || {})\r\n }\r\n }\r\n },\r\n\r\n // Add class methods\r\n extend: {\r\n // Move over x-axis\r\n x: function (x) {\r\n return this.attr('x', x)\r\n },\r\n\r\n // Move over y-axis\r\n y: function (y) {\r\n return this.attr('y', y)\r\n },\r\n\r\n // Move by center over x-axis\r\n cx: function (x) {\r\n return x == null ? this.x() + this.width() / 2 : this.x(x - this.width() / 2)\r\n },\r\n\r\n // Move by center over y-axis\r\n cy: function (y) {\r\n return y == null\r\n ? this.y() + this.height() / 2\r\n : this.y(y - this.height() / 2)\r\n },\r\n\r\n // Move element to given x and y values\r\n move: function (x, y) {\r\n return this.x(x).y(y)\r\n },\r\n\r\n // Move element by its center\r\n center: function (x, y) {\r\n return this.cx(x).cy(y)\r\n },\r\n\r\n // Set width of element\r\n width: function (width) {\r\n return this.attr('width', width)\r\n },\r\n\r\n // Set height of element\r\n height: function (height) {\r\n return this.attr('height', height)\r\n },\r\n\r\n // Set element size to given width and height\r\n size: function (width, height) {\r\n var p = proportionalSize(this, width, height)\r\n\r\n return this\r\n .width(new SVG.Number(p.width))\r\n .height(new SVG.Number(p.height))\r\n },\r\n\r\n // Clone element\r\n clone: function (parent) {\r\n // write dom data to the dom so the clone can pickup the data\r\n this.writeDataToDom()\r\n\r\n // clone element and assign new id\r\n var clone = assignNewId(this.node.cloneNode(true))\r\n\r\n // insert the clone in the given parent or after myself\r\n if (parent) parent.add(clone)\r\n else this.after(clone)\r\n\r\n return clone\r\n },\r\n\r\n // Remove element\r\n remove: function () {\r\n if (this.parent()) { this.parent().removeElement(this) }\r\n\r\n return this\r\n },\r\n\r\n // Replace element\r\n replace: function (element) {\r\n this.after(element).remove()\r\n\r\n return element\r\n },\r\n\r\n // Add element to given container and return self\r\n addTo: function (parent) {\r\n return createElement(parent).put(this)\r\n },\r\n\r\n // Add element to given container and return container\r\n putIn: function (parent) {\r\n return createElement(parent).add(this)\r\n },\r\n\r\n // Get / set id\r\n id: function (id) {\r\n // generate new id if no id set\r\n if (typeof id === 'undefined' && !this.node.id) {\r\n this.node.id = SVG.eid(this.type)\r\n }\r\n\r\n // dont't set directly width this.node.id to make `null` work correctly\r\n return this.attr('id', id)\r\n },\r\n\r\n // Checks whether the given point inside the bounding box of the element\r\n inside: function (x, y) {\r\n var box = this.bbox()\r\n\r\n return x > box.x &&\r\n y > box.y &&\r\n x < box.x + box.width &&\r\n y < box.y + box.height\r\n },\r\n\r\n // Show element\r\n show: function () {\r\n return this.css('display', '')\r\n },\r\n\r\n // Hide element\r\n hide: function () {\r\n return this.css('display', 'none')\r\n },\r\n\r\n // Is element visible?\r\n visible: function () {\r\n return this.css('display') !== 'none'\r\n },\r\n\r\n // Return id on string conversion\r\n toString: function () {\r\n return this.id()\r\n },\r\n\r\n // Return array of classes on the node\r\n classes: function () {\r\n var attr = this.attr('class')\r\n return attr == null ? [] : attr.trim().split(SVG.regex.delimiter)\r\n },\r\n\r\n // Return true if class exists on the node, false otherwise\r\n hasClass: function (name) {\r\n return this.classes().indexOf(name) !== -1\r\n },\r\n\r\n // Add class to the node\r\n addClass: function (name) {\r\n if (!this.hasClass(name)) {\r\n var array = this.classes()\r\n array.push(name)\r\n this.attr('class', array.join(' '))\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Remove class from the node\r\n removeClass: function (name) {\r\n if (this.hasClass(name)) {\r\n this.attr('class', this.classes().filter(function (c) {\r\n return c !== name\r\n }).join(' '))\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Toggle the presence of a class on the node\r\n toggleClass: function (name) {\r\n return this.hasClass(name) ? this.removeClass(name) : this.addClass(name)\r\n },\r\n\r\n // Get referenced element form attribute value\r\n reference: function (attr) {\r\n return SVG.get(this.attr(attr))\r\n },\r\n\r\n // Returns the parent element instance\r\n parent: function (type) {\r\n var parent = this\r\n\r\n // check for parent\r\n if (!parent.node.parentNode) return null\r\n\r\n // get parent element\r\n parent = SVG.adopt(parent.node.parentNode)\r\n\r\n if (!type) return parent\r\n\r\n // loop trough ancestors if type is given\r\n while (parent && parent.node instanceof window.SVGElement) {\r\n if (typeof type === 'string' ? parent.matches(type) : parent instanceof type) return parent\r\n parent = SVG.adopt(parent.node.parentNode)\r\n }\r\n },\r\n\r\n // Get parent document\r\n doc: function () {\r\n var p = this.parent(SVG.Doc)\r\n return p && p.doc()\r\n },\r\n\r\n // Get defs\r\n defs: function () {\r\n return this.doc().defs()\r\n },\r\n\r\n // return array of all ancestors of given type up to the root svg\r\n parents: function (type) {\r\n var parents = []\r\n var parent = this\r\n\r\n do {\r\n parent = parent.parent(type)\r\n if (!parent || !parent.node) break\r\n\r\n parents.push(parent)\r\n } while (parent.parent)\r\n\r\n return parents\r\n },\r\n\r\n // matches the element vs a css selector\r\n matches: function (selector) {\r\n return matches(this.node, selector)\r\n },\r\n\r\n // Returns the svg node to call native svg methods on it\r\n native: function () {\r\n return this.node\r\n },\r\n\r\n // Import raw svg\r\n svg: function (svg) {\r\n var well, len\r\n\r\n // act as a setter if svg is given\r\n if (svg && this instanceof SVG.Parent) {\r\n // create temporary holder\r\n well = document.createElementNS(SVG.ns, 'svg')\r\n // dump raw svg\r\n well.innerHTML = svg\r\n\r\n // transplant nodes\r\n for (len = well.children.length; len--;) {\r\n this.node.appendChild(well.firstElementChild)\r\n }\r\n\r\n // otherwise act as a getter\r\n } else {\r\n // write svgjs data to the dom\r\n this.writeDataToDom()\r\n\r\n return this.node.outerHTML\r\n }\r\n\r\n return this\r\n },\r\n\r\n // write svgjs data to the dom\r\n writeDataToDom: function () {\r\n // dump variables recursively\r\n if (this.is(SVG.Parent)) {\r\n this.each(function () {\r\n this.writeDataToDom()\r\n })\r\n }\r\n\r\n // remove previously set data\r\n this.node.removeAttribute('svgjs:data')\r\n\r\n if (Object.keys(this.dom).length) {\r\n this.node.setAttribute('svgjs:data', JSON.stringify(this.dom)) // see #428\r\n }\r\n return this\r\n },\r\n\r\n // set given data to the elements data property\r\n setData: function (o) {\r\n this.dom = o\r\n return this\r\n },\r\n is: function (obj) {\r\n return is(this, obj)\r\n },\r\n getEventTarget: function () {\r\n return this.node\r\n }\r\n }\r\n})\r\n","// Add events to elements\r\n;[ 'click',\r\n 'dblclick',\r\n 'mousedown',\r\n 'mouseup',\r\n 'mouseover',\r\n 'mouseout',\r\n 'mousemove',\r\n 'mouseenter',\r\n 'mouseleave',\r\n 'touchstart',\r\n 'touchmove',\r\n 'touchleave',\r\n 'touchend',\r\n 'touchcancel' ].forEach(function (event) {\r\n // add event to SVG.Element\r\n SVG.Element.prototype[event] = function (f) {\r\n if (f === null) {\r\n SVG.off(this, event)\r\n } else {\r\n SVG.on(this, event, f)\r\n }\r\n return this\r\n }\r\n })\r\n\r\nSVG.listenerId = 0\r\n\r\n// Add event binder in the SVG namespace\r\nSVG.on = function (node, events, listener, binding, options) {\r\n var l = listener.bind(binding || node)\r\n var n = node instanceof SVG.EventTarget ? node.getEventTarget() : node\r\n\r\n // events can be an array of events or a string of events\r\n events = Array.isArray(events) ? events : events.split(SVG.regex.delimiter)\r\n\r\n // ensure instance object for nodes which are not adopted\r\n n.instance = n.instance || {events: {}}\r\n\r\n // pull event handlers from the element\r\n var bag = n.instance.events\r\n\r\n // add id to listener\r\n if (!listener._svgjsListenerId) {\r\n listener._svgjsListenerId = ++SVG.listenerId\r\n }\r\n\r\n events.forEach(function (event) {\r\n var ev = event.split('.')[0]\r\n var ns = event.split('.')[1] || '*'\r\n\r\n // ensure valid object\r\n bag[ev] = bag[ev] || {}\r\n bag[ev][ns] = bag[ev][ns] || {}\r\n\r\n // reference listener\r\n bag[ev][ns][listener._svgjsListenerId] = l\r\n\r\n // add listener\r\n n.addEventListener(ev, l, options || false)\r\n })\r\n}\r\n\r\n// Add event unbinder in the SVG namespace\r\nSVG.off = function (node, events, listener, options) {\r\n var n = node instanceof SVG.EventTarget ? node.getEventTarget() : node\r\n if (!n.instance) return\r\n\r\n // listener can be a function or a number\r\n if (typeof listener === 'function') {\r\n listener = listener._svgjsListenerId\r\n if (!listener) return\r\n }\r\n\r\n // pull event handlers from the element\r\n var bag = n.instance.events\r\n\r\n // events can be an array of events or a string or undefined\r\n events = Array.isArray(events) ? events : (events || '').split(SVG.regex.delimiter)\r\n\r\n events.forEach(function (event) {\r\n var ev = event && event.split('.')[0]\r\n var ns = event && event.split('.')[1]\r\n var namespace, l\r\n\r\n if (listener) {\r\n // remove listener reference\r\n if (bag[ev] && bag[ev][ns || '*']) {\r\n // removeListener\r\n n.removeEventListener(ev, bag[ev][ns || '*'][listener], options || false)\r\n\r\n delete bag[ev][ns || '*'][listener]\r\n }\r\n } else if (ev && ns) {\r\n // remove all listeners for a namespaced event\r\n if (bag[ev] && bag[ev][ns]) {\r\n for (l in bag[ev][ns]) { SVG.off(n, [ev, ns].join('.'), l) }\r\n\r\n delete bag[ev][ns]\r\n }\r\n } else if (ns) {\r\n // remove all listeners for a specific namespace\r\n for (event in bag) {\r\n for (namespace in bag[event]) {\r\n if (ns === namespace) { SVG.off(n, [event, ns].join('.')) }\r\n }\r\n }\r\n } else if (ev) {\r\n // remove all listeners for the event\r\n if (bag[ev]) {\r\n for (namespace in bag[ev]) { SVG.off(n, [ev, namespace].join('.')) }\r\n\r\n delete bag[ev]\r\n }\r\n } else {\r\n // remove all listeners on a given node\r\n for (event in bag) { SVG.off(n, event) }\r\n\r\n n.instance.events = {}\r\n }\r\n })\r\n}\r\n\r\nSVG.dispatch = function (node, event, data) {\r\n var n = node instanceof SVG.EventTarget ? node.getEventTarget() : node\r\n\r\n // Dispatch event\r\n if (event instanceof window.Event) {\r\n n.dispatchEvent(event)\r\n } else {\r\n event = new window.CustomEvent(event, {detail: data, cancelable: true})\r\n n.dispatchEvent(event)\r\n }\r\n return event\r\n}\r\n","/* global abcdef arrayToMatrix closeEnough formatTransforms isMatrixLike matrixMultiply */\r\n\r\nSVG.Matrix = SVG.invent({\r\n // Initialize\r\n create: function (source) {\r\n var base = arrayToMatrix([1, 0, 0, 1, 0, 0])\r\n\r\n // ensure source as object\r\n source = source instanceof SVG.Element ? source.matrixify()\r\n : typeof source === 'string' ? arrayToMatrix(source.split(SVG.regex.delimiter).map(parseFloat))\r\n : Array.isArray(source) ? arrayToMatrix(source)\r\n : (typeof source === 'object' && isMatrixLike(source)) ? source\r\n : (typeof source === 'object') ? new SVG.Matrix().transform(source)\r\n : arguments.length === 6 ? arrayToMatrix([].slice.call(arguments))\r\n : base\r\n\r\n // Merge the source matrix with the base matrix\r\n this.a = source.a != null ? source.a : base.a\r\n this.b = source.b != null ? source.b : base.b\r\n this.c = source.c != null ? source.c : base.c\r\n this.d = source.d != null ? source.d : base.d\r\n this.e = source.e != null ? source.e : base.e\r\n this.f = source.f != null ? source.f : base.f\r\n },\r\n\r\n // Add methods\r\n extend: {\r\n\r\n // Clones this matrix\r\n clone: function () {\r\n return new SVG.Matrix(this)\r\n },\r\n\r\n // Transform a matrix into another matrix by manipulating the space\r\n transform: function (o) {\r\n // Check if o is a matrix and then left multiply it directly\r\n if (isMatrixLike(o)) {\r\n var matrix = new SVG.Matrix(o)\r\n return matrix.multiplyO(this)\r\n }\r\n\r\n // Get the proposed transformations and the current transformations\r\n var t = formatTransforms(o)\r\n var current = this\r\n let { x: ox, y: oy } = new SVG.Point(t.ox, t.oy).transform(current)\r\n\r\n // Construct the resulting matrix\r\n var transformer = new SVG.Matrix()\r\n .translateO(t.rx, t.ry)\r\n .lmultiplyO(current)\r\n .translateO(-ox, -oy)\r\n .scaleO(t.scaleX, t.scaleY)\r\n .skewO(t.skewX, t.skewY)\r\n .shearO(t.shear)\r\n .rotateO(t.theta)\r\n .translateO(ox, oy)\r\n\r\n // If we want the origin at a particular place, we force it there\r\n if (isFinite(t.px) || isFinite(t.py)) {\r\n const origin = new SVG.Point(ox, oy).transform(transformer)\r\n // TODO: Replace t.px with isFinite(t.px)\r\n const dx = t.px ? t.px - origin.x : 0\r\n const dy = t.py ? t.py - origin.y : 0\r\n transformer.translateO(dx, dy)\r\n }\r\n\r\n // Translate now after positioning\r\n transformer.translateO(t.tx, t.ty)\r\n return transformer\r\n },\r\n\r\n // Applies a matrix defined by its affine parameters\r\n compose: function (o) {\r\n if (o.origin) {\r\n o.originX = o.origin[0]\r\n o.originY = o.origin[1]\r\n }\r\n // Get the parameters\r\n var ox = o.originX || 0\r\n var oy = o.originY || 0\r\n var sx = o.scaleX || 1\r\n var sy = o.scaleY || 1\r\n var lam = o.shear || 0\r\n var theta = o.rotate || 0\r\n var tx = o.translateX || 0\r\n var ty = o.translateY || 0\r\n\r\n // Apply the standard matrix\r\n var result = new SVG.Matrix()\r\n .translateO(-ox, -oy)\r\n .scaleO(sx, sy)\r\n .shearO(lam)\r\n .rotateO(theta)\r\n .translateO(tx, ty)\r\n .lmultiplyO(this)\r\n .translateO(ox, oy)\r\n return result\r\n },\r\n\r\n // Decomposes this matrix into its affine parameters\r\n decompose: function (cx = 0, cy = 0) {\r\n // Get the parameters from the matrix\r\n var a = this.a\r\n var b = this.b\r\n var c = this.c\r\n var d = this.d\r\n var e = this.e\r\n var f = this.f\r\n\r\n // Figure out if the winding direction is clockwise or counterclockwise\r\n var determinant = a * d - b * c\r\n var ccw = determinant > 0 ? 1 : -1\r\n\r\n // Since we only shear in x, we can use the x basis to get the x scale\r\n // and the rotation of the resulting matrix\r\n var sx = ccw * Math.sqrt(a * a + b * b)\r\n var thetaRad = Math.atan2(ccw * b, ccw * a)\r\n var theta = 180 / Math.PI * thetaRad\r\n var ct = Math.cos(thetaRad)\r\n var st = Math.sin(thetaRad)\r\n\r\n // We can then solve the y basis vector simultaneously to get the other\r\n // two affine parameters directly from these parameters\r\n var lam = (a * c + b * d) / determinant\r\n var sy = ((c * sx) / (lam * a - b)) || ((d * sx) / (lam * b + a))\r\n\r\n // Use the translations\r\n let tx = e - cx + cx * ct * sx + cy * (lam * ct * sx - st * sy)\r\n let ty = f - cy + cx * st * sx + cy * (lam * st * sx + ct * sy)\r\n\r\n // Construct the decomposition and return it\r\n return {\r\n // Return the affine parameters\r\n scaleX: sx,\r\n scaleY: sy,\r\n shear: lam,\r\n rotate: theta,\r\n translateX: tx,\r\n translateY: ty,\r\n originX: cx,\r\n originY: cy,\r\n\r\n // Return the matrix parameters\r\n a: this.a,\r\n b: this.b,\r\n c: this.c,\r\n d: this.d,\r\n e: this.e,\r\n f: this.f\r\n }\r\n },\r\n\r\n // Morph one matrix into another\r\n morph: function (matrix) {\r\n // Store new destination\r\n this.destination = new SVG.Matrix(matrix)\r\n return this\r\n },\r\n\r\n // Get morphed matrix at a given position\r\n at: function (pos) {\r\n // Make sure a destination is defined\r\n if (!this.destination) return this\r\n\r\n // Calculate morphed matrix at a given position\r\n var matrix = new SVG.Matrix({\r\n a: this.a + (this.destination.a - this.a) * pos,\r\n b: this.b + (this.destination.b - this.b) * pos,\r\n c: this.c + (this.destination.c - this.c) * pos,\r\n d: this.d + (this.destination.d - this.d) * pos,\r\n e: this.e + (this.destination.e - this.e) * pos,\r\n f: this.f + (this.destination.f - this.f) * pos\r\n })\r\n\r\n return matrix\r\n },\r\n\r\n // Left multiplies by the given matrix\r\n multiply: function (matrix) {\r\n return this.clone().multiplyO(matrix)\r\n },\r\n\r\n multiplyO: function (matrix) {\r\n // Get the matrices\r\n var l = this\r\n var r = matrix instanceof SVG.Matrix\r\n ? matrix\r\n : new SVG.Matrix(matrix)\r\n\r\n return matrixMultiply(l, r, this)\r\n },\r\n\r\n lmultiply: function (matrix) {\r\n return this.clone().lmultiplyO(matrix)\r\n },\r\n\r\n lmultiplyO: function (matrix) {\r\n var r = this\r\n var l = matrix instanceof SVG.Matrix\r\n ? matrix\r\n : new SVG.Matrix(matrix)\r\n\r\n return matrixMultiply(l, r, this)\r\n },\r\n\r\n // Inverses matrix\r\n inverseO: function () {\r\n // Get the current parameters out of the matrix\r\n var a = this.a\r\n var b = this.b\r\n var c = this.c\r\n var d = this.d\r\n var e = this.e\r\n var f = this.f\r\n\r\n // Invert the 2x2 matrix in the top left\r\n var det = a * d - b * c\r\n if (!det) throw new Error('Cannot invert ' + this)\r\n\r\n // Calculate the top 2x2 matrix\r\n var na = d / det\r\n var nb = -b / det\r\n var nc = -c / det\r\n var nd = a / det\r\n\r\n // Apply the inverted matrix to the top right\r\n var ne = -(na * e + nc * f)\r\n var nf = -(nb * e + nd * f)\r\n\r\n // Construct the inverted matrix\r\n this.a = na\r\n this.b = nb\r\n this.c = nc\r\n this.d = nd\r\n this.e = ne\r\n this.f = nf\r\n\r\n return this\r\n },\r\n\r\n inverse: function () {\r\n return this.clone().inverseO()\r\n },\r\n\r\n // Translate matrix\r\n translate: function (x, y) {\r\n return this.clone().translateO(x, y)\r\n },\r\n\r\n translateO: function (x, y) {\r\n this.e += x || 0\r\n this.f += y || 0\r\n return this\r\n },\r\n\r\n // Scale matrix\r\n scale: function (x, y, cx, cy) {\r\n return this.clone().scaleO(...arguments)\r\n },\r\n\r\n scaleO: function (x, y = x, cx = 0, cy = 0) {\r\n // Support uniform scaling\r\n if (arguments.length === 3) {\r\n cy = cx\r\n cx = y\r\n y = x\r\n }\r\n\r\n let {a, b, c, d, e, f} = this\r\n\r\n this.a = a * x\r\n this.b = b * y\r\n this.c = c * x\r\n this.d = d * y\r\n this.e = e * x - cx * x + cx\r\n this.f = f * y - cy * y + cy\r\n\r\n return this\r\n },\r\n\r\n // Rotate matrix\r\n rotate: function (r, cx, cy) {\r\n return this.clone().rotateO(r, cx, cy)\r\n },\r\n\r\n rotateO: function (r, cx = 0, cy = 0) {\r\n // Convert degrees to radians\r\n r = SVG.utils.radians(r)\r\n\r\n let cos = Math.cos(r)\r\n let sin = Math.sin(r)\r\n\r\n let {a, b, c, d, e, f} = this\r\n\r\n this.a = a * cos - b * sin\r\n this.b = b * cos + a * sin\r\n this.c = c * cos - d * sin\r\n this.d = d * cos + c * sin\r\n this.e = e * cos - f * sin + cy * sin - cx * cos + cx\r\n this.f = f * cos + e * sin - cx * sin - cy * cos + cy\r\n\r\n return this\r\n },\r\n\r\n // Flip matrix on x or y, at a given offset\r\n flip: function (axis, around) {\r\n return this.clone().flipO(axis, around)\r\n },\r\n\r\n flipO: function (axis, around) {\r\n return axis === 'x' ? this.scaleO(-1, 1, around, 0)\r\n : axis === 'y' ? this.scaleO(1, -1, 0, around)\r\n : this.scaleO(-1, -1, axis, around || axis) // Define an x, y flip point\r\n },\r\n\r\n // Shear matrix\r\n shear: function (a, cx, cy) {\r\n return this.clone().shearO(a, cx, cy)\r\n },\r\n\r\n shearO: function (lx, cx = 0, cy = 0) {\r\n let {a, b, c, d, e, f} = this\r\n\r\n this.a = a + b * lx\r\n this.c = c + d * lx\r\n this.e = e + f * lx - cy * lx\r\n\r\n return this\r\n },\r\n\r\n // Skew Matrix\r\n skew: function (x, y, cx, cy) {\r\n return this.clone().skewO(...arguments)\r\n },\r\n\r\n skewO: function (x, y = x, cx = 0, cy = 0) {\r\n // support uniformal skew\r\n if (arguments.length === 3) {\r\n cy = cx\r\n cx = y\r\n y = x\r\n }\r\n\r\n // Convert degrees to radians\r\n x = SVG.utils.radians(x)\r\n y = SVG.utils.radians(y)\r\n\r\n let lx = Math.tan(x)\r\n let ly = Math.tan(y)\r\n\r\n let {a, b, c, d, e, f} = this\r\n\r\n this.a = a + b * lx\r\n this.b = b + a * ly\r\n this.c = c + d * lx\r\n this.d = d + c * ly\r\n this.e = e + f * lx - cy * lx\r\n this.f = f + e * ly - cx * ly\r\n\r\n return this\r\n },\r\n\r\n // SkewX\r\n skewX: function (x, cx, cy) {\r\n return this.skew(x, 0, cx, cy)\r\n },\r\n\r\n skewXO: function (x, cx, cy) {\r\n return this.skewO(x, 0, cx, cy)\r\n },\r\n\r\n // SkewY\r\n skewY: function (y, cx, cy) {\r\n return this.skew(0, y, cx, cy)\r\n },\r\n\r\n skewYO: function (y, cx, cy) {\r\n return this.skewO(0, y, cx, cy)\r\n },\r\n\r\n // Transform around a center point\r\n aroundO: function (cx, cy, matrix) {\r\n var dx = cx || 0\r\n var dy = cy || 0\r\n return this.translateO(-dx, -dy).lmultiplyO(matrix).translateO(dx, dy)\r\n },\r\n\r\n around: function (cx, cy, matrix) {\r\n return this.clone().aroundO(cx, cy, matrix)\r\n },\r\n\r\n // Convert to native SVGMatrix\r\n native: function () {\r\n // create new matrix\r\n var matrix = SVG.parser.nodes.svg.node.createSVGMatrix()\r\n\r\n // update with current values\r\n for (var i = abcdef.length - 1; i >= 0; i--) {\r\n matrix[abcdef[i]] = this[abcdef[i]]\r\n }\r\n\r\n return matrix\r\n },\r\n\r\n // Check if two matrices are equal\r\n equals: function (other) {\r\n var comp = new SVG.Matrix(other)\r\n return closeEnough(this.a, comp.a) && closeEnough(this.b, comp.b) &&\r\n closeEnough(this.c, comp.c) && closeEnough(this.d, comp.d) &&\r\n closeEnough(this.e, comp.e) && closeEnough(this.f, comp.f)\r\n },\r\n\r\n // Convert matrix to string\r\n toString: function () {\r\n return 'matrix(' + this.a + ',' + this.b + ',' + this.c + ',' + this.d + ',' + this.e + ',' + this.f + ')'\r\n },\r\n\r\n toArray: function () {\r\n return [this.a, this.b, this.c, this.d, this.e, this.f]\r\n },\r\n\r\n valueOf: function () {\r\n return {\r\n a: this.a,\r\n b: this.b,\r\n c: this.c,\r\n d: this.d,\r\n e: this.e,\r\n f: this.f\r\n }\r\n }\r\n },\r\n\r\n // Define parent\r\n parent: SVG.Element,\r\n\r\n // Add parent method\r\n construct: {\r\n // Get current matrix\r\n ctm: function () {\r\n return new SVG.Matrix(this.node.getCTM())\r\n },\r\n // Get current screen matrix\r\n screenCTM: function () {\r\n /* https://bugzilla.mozilla.org/show_bug.cgi?id=1344537\r\n This is needed because FF does not return the transformation matrix\r\n for the inner coordinate system when getScreenCTM() is called on nested svgs.\r\n However all other Browsers do that */\r\n if (this instanceof SVG.Doc && !this.isRoot()) {\r\n var rect = this.rect(1, 1)\r\n var m = rect.node.getScreenCTM()\r\n rect.remove()\r\n return new SVG.Matrix(m)\r\n }\r\n return new SVG.Matrix(this.node.getScreenCTM())\r\n }\r\n }\r\n})\r\n\r\n// let extensions = {}\r\n// ['rotate'].forEach((method) => {\r\n// let methodO = method + 'O'\r\n// extensions[method] = function (...args) {\r\n// return new SVG.Matrix(this)[methodO](...args)\r\n// }\r\n// })\r\n//\r\n// SVG.extend(SVG.Matrix, extensions)\r\n\r\n// function matrixMultiplyParams (matrix, a, b, c, d, e, f) {\r\n// return matrixMultiply({a, b, c, d, e, f}, matrix, matrix)\r\n// }\r\n","\r\nSVG.Point = SVG.invent({\r\n // Initialize\r\n create: function (x, y, base) {\r\n var source\r\n base = base || {x: 0, y: 0}\r\n\r\n // ensure source as object\r\n source = Array.isArray(x) ? {x: x[0], y: x[1]}\r\n : typeof x === 'object' ? {x: x.x, y: x.y}\r\n : {x: x, y: y}\r\n\r\n // merge source\r\n this.x = source.x == null ? base.x : source.x\r\n this.y = source.y == null ? base.y : source.y\r\n },\r\n\r\n // Add methods\r\n extend: {\r\n // Clone point\r\n clone: function () {\r\n return new SVG.Point(this)\r\n },\r\n\r\n // Morph one point into another\r\n morph: function (x, y) {\r\n // store new destination\r\n this.destination = new SVG.Point(x, y)\r\n return this\r\n },\r\n\r\n // Get morphed point at a given position\r\n at: function (pos) {\r\n // make sure a destination is defined\r\n if (!this.destination) return this\r\n\r\n // calculate morphed matrix at a given position\r\n var point = new SVG.Point({\r\n x: this.x + (this.destination.x - this.x) * pos,\r\n y: this.y + (this.destination.y - this.y) * pos\r\n })\r\n return point\r\n },\r\n\r\n // Convert to native SVGPoint\r\n native: function () {\r\n // create new point\r\n var point = SVG.parser.nodes.svg.node.createSVGPoint()\r\n\r\n // update with current values\r\n point.x = this.x\r\n point.y = this.y\r\n return point\r\n },\r\n\r\n // transform point with matrix\r\n transform: function (m) {\r\n // Perform the matrix multiplication\r\n var x = m.a * this.x + m.c * this.y + m.e\r\n var y = m.b * this.x + m.d * this.y + m.f\r\n\r\n // Return the required point\r\n return new SVG.Point(x, y)\r\n }\r\n }\r\n})\r\n\r\nSVG.extend(SVG.Element, {\r\n\r\n // Get point\r\n point: function (x, y) {\r\n return new SVG.Point(x, y).transform(this.screenCTM().inverse())\r\n }\r\n})\r\n","SVG.extend(SVG.Element, {\r\n // Set svg element attribute\r\n attr: function (a, v, n) {\r\n // act as full getter\r\n if (a == null) {\r\n // get an object of attributes\r\n a = {}\r\n v = this.node.attributes\r\n for (n = v.length - 1; n >= 0; n--) {\r\n a[v[n].nodeName] = SVG.regex.isNumber.test(v[n].nodeValue)\r\n ? parseFloat(v[n].nodeValue)\r\n : v[n].nodeValue\r\n }\r\n return a\r\n } else if (typeof a === 'object') {\r\n // apply every attribute individually if an object is passed\r\n for (v in a) this.attr(v, a[v])\r\n } else if (v === null) {\r\n // remove value\r\n this.node.removeAttribute(a)\r\n } else if (v == null) {\r\n // act as a getter if the first and only argument is not an object\r\n v = this.node.getAttribute(a)\r\n return v == null ? SVG.defaults.attrs[a]\r\n : SVG.regex.isNumber.test(v) ? parseFloat(v)\r\n : v\r\n } else {\r\n // convert image fill and stroke to patterns\r\n if (a === 'fill' || a === 'stroke') {\r\n if (SVG.regex.isImage.test(v)) {\r\n v = this.doc().defs().image(v)\r\n }\r\n\r\n if (v instanceof SVG.Image) {\r\n v = this.doc().defs().pattern(0, 0, function () {\r\n this.add(v)\r\n })\r\n }\r\n }\r\n\r\n // ensure correct numeric values (also accepts NaN and Infinity)\r\n if (typeof v === 'number') {\r\n v = new SVG.Number(v)\r\n } else if (SVG.Color.isColor(v)) {\r\n // ensure full hex color\r\n v = new SVG.Color(v)\r\n } else if (Array.isArray(v)) {\r\n // parse array values\r\n v = new SVG.Array(v)\r\n }\r\n\r\n // if the passed attribute is leading...\r\n if (a === 'leading') {\r\n // ... call the leading method instead\r\n if (this.leading) {\r\n this.leading(v)\r\n }\r\n } else {\r\n // set given attribute on node\r\n typeof n === 'string' ? this.node.setAttributeNS(n, a, v.toString())\r\n : this.node.setAttribute(a, v.toString())\r\n }\r\n\r\n // rebuild if required\r\n if (this.rebuild && (a === 'font-size' || a === 'x')) {\r\n this.rebuild(a, v)\r\n }\r\n }\r\n\r\n return this\r\n }\r\n})\r\n","/* global arrayToMatrix getOrigin isMatrixLike */\r\n\r\nSVG.extend(SVG.Element, {\r\n // Reset all transformations\r\n untransform: function () {\r\n return this.attr('transform', null)\r\n },\r\n\r\n // merge the whole transformation chain into one matrix and returns it\r\n matrixify: function () {\r\n var matrix = (this.attr('transform') || '')\r\n // split transformations\r\n .split(SVG.regex.transforms).slice(0, -1).map(function (str) {\r\n // generate key => value pairs\r\n var kv = str.trim().split('(')\r\n return [kv[0],\r\n kv[1].split(SVG.regex.delimiter)\r\n .map(function (str) { return parseFloat(str) })\r\n ]\r\n })\r\n .reverse()\r\n // merge every transformation into one matrix\r\n .reduce(function (matrix, transform) {\r\n if (transform[0] === 'matrix') {\r\n return matrix.lmultiply(arrayToMatrix(transform[1]))\r\n }\r\n return matrix[transform[0]].apply(matrix, transform[1])\r\n }, new SVG.Matrix())\r\n\r\n return matrix\r\n },\r\n\r\n // add an element to another parent without changing the visual representation on the screen\r\n toParent: function (parent) {\r\n if (this === parent) return this\r\n var ctm = this.screenCTM()\r\n var pCtm = parent.screenCTM().inverse()\r\n\r\n this.addTo(parent).untransform().transform(pCtm.multiply(ctm))\r\n\r\n return this\r\n },\r\n\r\n // same as above with parent equals root-svg\r\n toDoc: function () {\r\n return this.toParent(this.doc())\r\n }\r\n})\r\n\r\nSVG.extend(SVG.Element, {\r\n\r\n // Add transformations\r\n transform: function (o, relative) {\r\n // Act as a getter if no object was passed\r\n if (o == null || typeof o === 'string') {\r\n var decomposed = new SVG.Matrix(this).decompose()\r\n return decomposed[o] || decomposed\r\n }\r\n\r\n if (!isMatrixLike(o)) {\r\n // Set the origin according to the defined transform\r\n o = {...o, origin: getOrigin(o, this)}\r\n }\r\n\r\n // The user can pass a boolean, an SVG.Element or an SVG.Matrix or nothing\r\n var cleanRelative = relative === true ? this : (relative || false)\r\n var result = new SVG.Matrix(cleanRelative).transform(o)\r\n return this.attr('transform', result)\r\n }\r\n})\r\n","/* global camelCase */\r\n\r\nSVG.extend(SVG.Element, {\r\n // Dynamic style generator\r\n css: function (s, v) {\r\n var ret = {}\r\n var t, i\r\n if (arguments.length === 0) {\r\n // get full style as object\r\n this.node.style.cssText.split(/\\s*;\\s*/).filter(function (el) { return !!el.length }).forEach(function (el) {\r\n t = el.split(/\\s*:\\s*/)\r\n ret[t[0]] = t[1]\r\n })\r\n return ret\r\n }\r\n\r\n if (arguments.length < 2) {\r\n // get style properties in the array\r\n if (Array.isArray(s)) {\r\n for (i = s.length; i--;) {\r\n ret[camelCase(s[i])] = this.node.style[camelCase(s[i])]\r\n }\r\n return ret\r\n }\r\n\r\n // get style for property\r\n if (typeof s === 'string') {\r\n return this.node.style[camelCase(s)]\r\n }\r\n\r\n // set styles in object\r\n if (typeof s === 'object') {\r\n for (i in s) {\r\n // set empty string if null/undefined/'' was given\r\n this.node.style[camelCase(i)] = (s[i] == null || SVG.regex.isBlank.test(s[i])) ? '' : s[i]\r\n }\r\n }\r\n }\r\n\r\n // set style for property\r\n if (arguments.length === 2) {\r\n this.node.style[camelCase(s)] = (v == null || SVG.regex.isBlank.test(v)) ? '' : v\r\n }\r\n\r\n return this\r\n }\r\n})\r\n","/* global createElement */\r\n\r\nSVG.Parent = SVG.invent({\r\n // Initialize node\r\n create: function (node) {\r\n SVG.Element.call(this, node)\r\n },\r\n\r\n // Inherit from\r\n inherit: SVG.Element,\r\n\r\n // Add class methods\r\n extend: {\r\n // Returns all child elements\r\n children: function () {\r\n return SVG.utils.map(this.node.children, function (node) {\r\n return SVG.adopt(node)\r\n })\r\n },\r\n // Add given element at a position\r\n add: function (element, i) {\r\n element = createElement(element)\r\n\r\n if (element.node !== this.node.children[i]) {\r\n this.node.insertBefore(element.node, this.node.children[i] || null)\r\n }\r\n\r\n return this\r\n },\r\n // Basically does the same as `add()` but returns the added element instead\r\n put: function (element, i) {\r\n this.add(element, i)\r\n return element.instance || element\r\n },\r\n // Checks if the given element is a child\r\n has: function (element) {\r\n return this.index(element) >= 0\r\n },\r\n // Gets index of given element\r\n index: function (element) {\r\n return [].slice.call(this.node.children).indexOf(element.node)\r\n },\r\n // Get a element at the given index\r\n get: function (i) {\r\n return SVG.adopt(this.node.children[i])\r\n },\r\n // Get first child\r\n first: function () {\r\n return this.get(0)\r\n },\r\n // Get the last child\r\n last: function () {\r\n return this.get(this.node.children.length - 1)\r\n },\r\n // Iterates over all children and invokes a given block\r\n each: function (block, deep) {\r\n var children = this.children()\r\n var i, il\r\n\r\n for (i = 0, il = children.length; i < il; i++) {\r\n if (children[i] instanceof SVG.Element) {\r\n block.apply(children[i], [i, children])\r\n }\r\n\r\n if (deep && (children[i] instanceof SVG.Parent)) {\r\n children[i].each(block, deep)\r\n }\r\n }\r\n\r\n return this\r\n },\r\n // Remove a given child\r\n removeElement: function (element) {\r\n this.node.removeChild(element.node)\r\n\r\n return this\r\n },\r\n // Remove all elements in this container\r\n clear: function () {\r\n // remove children\r\n while (this.node.hasChildNodes()) {\r\n this.node.removeChild(this.node.lastChild)\r\n }\r\n\r\n // remove defs reference\r\n delete this._defs\r\n\r\n return this\r\n }\r\n }\r\n\r\n})\r\n","SVG.extend(SVG.Parent, {\r\n flatten: function (parent) {\r\n // flattens is only possible for nested svgs and groups\r\n if (!(this instanceof SVG.G || this instanceof SVG.Doc)) {\r\n return this\r\n }\r\n\r\n parent = parent || (this instanceof SVG.Doc && this.isRoot() ? this : this.parent(SVG.Parent))\r\n\r\n this.each(function () {\r\n if (this instanceof SVG.Defs) return this\r\n if (this instanceof SVG.Parent) return this.flatten(parent)\r\n return this.toParent(parent)\r\n })\r\n\r\n // we need this so that SVG.Doc does not get removed\r\n this.node.firstElementChild || this.remove()\r\n\r\n return this\r\n },\r\n ungroup: function (parent) {\r\n // ungroup is only possible for nested svgs and groups\r\n if (!(this instanceof SVG.G || (this instanceof SVG.Doc && !this.isRoot()))) {\r\n return this\r\n }\r\n\r\n parent = parent || this.parent(SVG.Parent)\r\n\r\n this.each(function () {\r\n return this.toParent(parent)\r\n })\r\n\r\n // we need this so that SVG.Doc does not get removed\r\n this.remove()\r\n\r\n return this\r\n }\r\n})\r\n","SVG.Container = SVG.invent({\r\n // Initialize node\r\n create: function (node) {\r\n SVG.Element.call(this, node)\r\n },\r\n\r\n // Inherit from\r\n inherit: SVG.Parent\r\n})\r\n","SVG.Defs = SVG.invent({\r\n // Initialize node\r\n create: 'defs',\r\n\r\n // Inherit from\r\n inherit: SVG.Container\r\n})\r\n","SVG.G = SVG.invent({\r\n // Initialize node\r\n create: 'g',\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a group element\r\n group: function () {\r\n return this.put(new SVG.G())\r\n }\r\n }\r\n})\r\n","// ### This module adds backward / forward functionality to elements.\r\n\r\n//\r\nSVG.extend(SVG.Element, {\r\n // Get all siblings, including myself\r\n siblings: function () {\r\n return this.parent().children()\r\n },\r\n\r\n // Get the curent position siblings\r\n position: function () {\r\n return this.parent().index(this)\r\n },\r\n\r\n // Get the next element (will return null if there is none)\r\n next: function () {\r\n return this.siblings()[this.position() + 1]\r\n },\r\n\r\n // Get the next element (will return null if there is none)\r\n prev: function () {\r\n return this.siblings()[this.position() - 1]\r\n },\r\n\r\n // Send given element one step forward\r\n forward: function () {\r\n var i = this.position() + 1\r\n var p = this.parent()\r\n\r\n // move node one step forward\r\n p.removeElement(this).add(this, i)\r\n\r\n // make sure defs node is always at the top\r\n if (p instanceof SVG.Doc) {\r\n p.node.appendChild(p.defs().node)\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Send given element one step backward\r\n backward: function () {\r\n var i = this.position()\r\n\r\n if (i > 0) {\r\n this.parent().removeElement(this).add(this, i - 1)\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Send given element all the way to the front\r\n front: function () {\r\n var p = this.parent()\r\n\r\n // Move node forward\r\n p.node.appendChild(this.node)\r\n\r\n // Make sure defs node is always at the top\r\n if (p instanceof SVG.Doc) {\r\n p.node.appendChild(p.defs().node)\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Send given element all the way to the back\r\n back: function () {\r\n if (this.position() > 0) {\r\n this.parent().removeElement(this).add(this, 0)\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Inserts a given element before the targeted element\r\n before: function (element) {\r\n element.remove()\r\n\r\n var i = this.position()\r\n\r\n this.parent().add(element, i)\r\n\r\n return this\r\n },\r\n\r\n // Insters a given element after the targeted element\r\n after: function (element) {\r\n element.remove()\r\n\r\n var i = this.position()\r\n\r\n this.parent().add(element, i + 1)\r\n\r\n return this\r\n }\r\n})\r\n","SVG.Mask = SVG.invent({\r\n // Initialize node\r\n create: 'mask',\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n // Unmask all masked elements and remove itself\r\n remove: function () {\r\n // unmask all targets\r\n this.targets().forEach(function (el) {\r\n el.unmask()\r\n })\r\n\r\n // remove mask from parent\r\n return SVG.Element.prototype.remove.call(this)\r\n },\r\n\r\n targets: function () {\r\n return SVG.select('svg [mask*=\"' + this.id() + '\"]')\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create masking element\r\n mask: function () {\r\n return this.defs().put(new SVG.Mask())\r\n }\r\n }\r\n})\r\n\r\nSVG.extend(SVG.Element, {\r\n // Distribute mask to svg element\r\n maskWith: function (element) {\r\n // use given mask or create a new one\r\n var masker = element instanceof SVG.Mask ? element : this.parent().mask().add(element)\r\n\r\n // apply mask\r\n return this.attr('mask', 'url(\"#' + masker.id() + '\")')\r\n },\r\n // Unmask element\r\n unmask: function () {\r\n return this.attr('mask', null)\r\n },\r\n masker: function () {\r\n return this.reference('mask')\r\n }\r\n})\r\n","SVG.ClipPath = SVG.invent({\r\n // Initialize node\r\n create: 'clipPath',\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n // Unclip all clipped elements and remove itself\r\n remove: function () {\r\n // unclip all targets\r\n this.targets().forEach(function (el) {\r\n el.unclip()\r\n })\r\n\r\n // remove clipPath from parent\r\n return SVG.Element.prototype.remove.call(this)\r\n },\r\n\r\n targets: function () {\r\n return SVG.select('svg [clip-path*=\"' + this.id() + '\"]')\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create clipping element\r\n clip: function () {\r\n return this.defs().put(new SVG.ClipPath())\r\n }\r\n }\r\n})\r\n\r\n//\r\nSVG.extend(SVG.Element, {\r\n // Distribute clipPath to svg element\r\n clipWith: function (element) {\r\n // use given clip or create a new one\r\n var clipper = element instanceof SVG.ClipPath ? element : this.parent().clip().add(element)\r\n\r\n // apply mask\r\n return this.attr('clip-path', 'url(\"#' + clipper.id() + '\")')\r\n },\r\n // Unclip element\r\n unclip: function () {\r\n return this.attr('clip-path', null)\r\n },\r\n clipper: function () {\r\n return this.reference('clip-path')\r\n }\r\n\r\n})\r\n","SVG.Gradient = SVG.invent({\r\n // Initialize node\r\n create: function (type) {\r\n SVG.Element.call(this, typeof type === 'object' ? type : SVG.create(type + 'Gradient'))\r\n },\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n // Add a color stop\r\n stop: function (offset, color, opacity) {\r\n return this.put(new SVG.Stop()).update(offset, color, opacity)\r\n },\r\n // Update gradient\r\n update: function (block) {\r\n // remove all stops\r\n this.clear()\r\n\r\n // invoke passed block\r\n if (typeof block === 'function') {\r\n block.call(this, this)\r\n }\r\n\r\n return this\r\n },\r\n // Return the fill id\r\n url: function () {\r\n return 'url(#' + this.id() + ')'\r\n },\r\n // Alias string convertion to fill\r\n toString: function () {\r\n return this.url()\r\n },\r\n // custom attr to handle transform\r\n attr: function (a, b, c) {\r\n if (a === 'transform') a = 'gradientTransform'\r\n return SVG.Container.prototype.attr.call(this, a, b, c)\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create gradient element in defs\r\n gradient: function (type, block) {\r\n return this.defs().gradient(type, block)\r\n }\r\n }\r\n})\r\n\r\n// Add animatable methods to both gradient and fx module\r\nSVG.extend([SVG.Gradient, SVG.Timeline], {\r\n // From position\r\n from: function (x, y) {\r\n return (this._target || this).type === 'radialGradient'\r\n ? this.attr({ fx: new SVG.Number(x), fy: new SVG.Number(y) })\r\n : this.attr({ x1: new SVG.Number(x), y1: new SVG.Number(y) })\r\n },\r\n // To position\r\n to: function (x, y) {\r\n return (this._target || this).type === 'radialGradient'\r\n ? this.attr({ cx: new SVG.Number(x), cy: new SVG.Number(y) })\r\n : this.attr({ x2: new SVG.Number(x), y2: new SVG.Number(y) })\r\n }\r\n})\r\n\r\n// Base gradient generation\r\nSVG.extend(SVG.Defs, {\r\n // define gradient\r\n gradient: function (type, block) {\r\n return this.put(new SVG.Gradient(type)).update(block)\r\n }\r\n\r\n})\r\n\r\nSVG.Stop = SVG.invent({\r\n // Initialize node\r\n create: 'stop',\r\n\r\n // Inherit from\r\n inherit: SVG.Element,\r\n\r\n // Add class methods\r\n extend: {\r\n // add color stops\r\n update: function (o) {\r\n if (typeof o === 'number' || o instanceof SVG.Number) {\r\n o = {\r\n offset: arguments[0],\r\n color: arguments[1],\r\n opacity: arguments[2]\r\n }\r\n }\r\n\r\n // set attributes\r\n if (o.opacity != null) this.attr('stop-opacity', o.opacity)\r\n if (o.color != null) this.attr('stop-color', o.color)\r\n if (o.offset != null) this.attr('offset', new SVG.Number(o.offset))\r\n\r\n return this\r\n }\r\n }\r\n})\r\n","SVG.Pattern = SVG.invent({\r\n // Initialize node\r\n create: 'pattern',\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n // Return the fill id\r\n url: function () {\r\n return 'url(#' + this.id() + ')'\r\n },\r\n // Update pattern by rebuilding\r\n update: function (block) {\r\n // remove content\r\n this.clear()\r\n\r\n // invoke passed block\r\n if (typeof block === 'function') {\r\n block.call(this, this)\r\n }\r\n\r\n return this\r\n },\r\n // Alias string convertion to fill\r\n toString: function () {\r\n return this.url()\r\n },\r\n // custom attr to handle transform\r\n attr: function (a, b, c) {\r\n if (a === 'transform') a = 'patternTransform'\r\n return SVG.Container.prototype.attr.call(this, a, b, c)\r\n }\r\n\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create pattern element in defs\r\n pattern: function (width, height, block) {\r\n return this.defs().pattern(width, height, block)\r\n }\r\n }\r\n})\r\n\r\nSVG.extend(SVG.Defs, {\r\n // Define gradient\r\n pattern: function (width, height, block) {\r\n return this.put(new SVG.Pattern()).update(block).attr({\r\n x: 0,\r\n y: 0,\r\n width: width,\r\n height: height,\r\n patternUnits: 'userSpaceOnUse'\r\n })\r\n }\r\n\r\n})\r\n","SVG.Doc = SVG.invent({\r\n // Initialize node\r\n create: function (node) {\r\n SVG.Element.call(this, node || SVG.create('svg'))\r\n\r\n // set svg element attributes and ensure defs node\r\n this.namespace()\r\n },\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n isRoot: function () {\r\n return !this.node.parentNode || !(this.node.parentNode instanceof window.SVGElement) || this.node.parentNode.nodeName === '#document'\r\n },\r\n // Check if this is a root svg. If not, call docs from this element\r\n doc: function () {\r\n if (this.isRoot()) return this\r\n return SVG.Element.prototype.doc.call(this)\r\n },\r\n // Add namespaces\r\n namespace: function () {\r\n if (!this.isRoot()) return this.doc().namespace()\r\n return this\r\n .attr({ xmlns: SVG.ns, version: '1.1' })\r\n .attr('xmlns:xlink', SVG.xlink, SVG.xmlns)\r\n .attr('xmlns:svgjs', SVG.svgjs, SVG.xmlns)\r\n },\r\n // Creates and returns defs element\r\n defs: function () {\r\n if (!this.isRoot()) return this.doc().defs()\r\n return SVG.adopt(this.node.getElementsByTagName('defs')[0]) || this.put(new SVG.Defs())\r\n },\r\n // custom parent method\r\n parent: function (type) {\r\n if (this.isRoot()) {\r\n return this.node.parentNode.nodeName === '#document' ? null : this.node.parentNode\r\n }\r\n\r\n return SVG.Element.prototype.parent.call(this, type)\r\n },\r\n // Removes the doc from the DOM\r\n remove: function () {\r\n if (!this.isRoot()) {\r\n return SVG.Element.prototype.remove.call(this)\r\n }\r\n\r\n if (this.parent()) {\r\n this.parent().removeChild(this.node)\r\n }\r\n\r\n return this\r\n },\r\n clear: function () {\r\n // remove children\r\n while (this.node.hasChildNodes()) {\r\n this.node.removeChild(this.node.lastChild)\r\n }\r\n return this\r\n }\r\n },\r\n construct: {\r\n // Create nested svg document\r\n nested: function () {\r\n return this.put(new SVG.Doc())\r\n }\r\n }\r\n})\r\n","\r\nSVG.Shape = SVG.invent({\r\n // Initialize node\r\n create: function (node) {\r\n SVG.Element.call(this, node)\r\n },\r\n\r\n // Inherit from\r\n inherit: SVG.Element\r\n})\r\n","\r\nSVG.Bare = SVG.invent({\r\n // Initialize\r\n create: function (element, inherit) {\r\n // construct element\r\n SVG.Element.call(this, SVG.create(element))\r\n\r\n // inherit custom methods\r\n if (inherit) {\r\n for (var method in inherit.prototype) {\r\n if (typeof inherit.prototype[method] === 'function') {\r\n this[method] = inherit.prototype[method]\r\n }\r\n }\r\n }\r\n },\r\n\r\n // Inherit from\r\n inherit: SVG.Element,\r\n\r\n // Add methods\r\n extend: {\r\n // Insert some plain text\r\n words: function (text) {\r\n // remove contents\r\n while (this.node.hasChildNodes()) {\r\n this.node.removeChild(this.node.lastChild)\r\n }\r\n\r\n // create text node\r\n this.node.appendChild(document.createTextNode(text))\r\n\r\n return this\r\n }\r\n }\r\n})\r\n\r\nSVG.extend(SVG.Parent, {\r\n // Create an element that is not described by SVG.js\r\n element: function (element, inherit) {\r\n return this.put(new SVG.Bare(element, inherit))\r\n }\r\n})\r\n","\r\nSVG.Symbol = SVG.invent({\r\n // Initialize node\r\n create: 'symbol',\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n construct: {\r\n // create symbol\r\n symbol: function () {\r\n return this.put(new SVG.Symbol())\r\n }\r\n }\r\n})\r\n","\r\nSVG.Use = SVG.invent({\r\n // Initialize node\r\n create: 'use',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add class methods\r\n extend: {\r\n // Use element as a reference\r\n element: function (element, file) {\r\n // Set lined element\r\n return this.attr('href', (file || '') + '#' + element, SVG.xlink)\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a use element\r\n use: function (element, file) {\r\n return this.put(new SVG.Use()).element(element, file)\r\n }\r\n }\r\n})\r\n","\r\nSVG.Rect = SVG.invent({\r\n // Initialize node\r\n create: 'rect',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a rect element\r\n rect: function (width, height) {\r\n return this.put(new SVG.Rect()).size(width, height)\r\n }\r\n }\r\n})\r\n","/* global proportionalSize */\r\n\r\nSVG.Circle = SVG.invent({\r\n // Initialize node\r\n create: 'circle',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add parent method\r\n construct: {\r\n // Create circle element, based on ellipse\r\n circle: function (size) {\r\n return this.put(new SVG.Circle()).rx(new SVG.Number(size).divide(2)).move(0, 0)\r\n }\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Circle, SVG.Timeline], {\r\n // Radius x value\r\n rx: function (rx) {\r\n return this.attr('r', rx)\r\n },\r\n // Alias radius x value\r\n ry: function (ry) {\r\n return this.rx(ry)\r\n }\r\n})\r\n\r\nSVG.Ellipse = SVG.invent({\r\n // Initialize node\r\n create: 'ellipse',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add parent method\r\n construct: {\r\n // Create an ellipse\r\n ellipse: function (width, height) {\r\n return this.put(new SVG.Ellipse()).size(width, height).move(0, 0)\r\n }\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Ellipse, SVG.Rect, SVG.Timeline], {\r\n // Radius x value\r\n rx: function (rx) {\r\n return this.attr('rx', rx)\r\n },\r\n // Radius y value\r\n ry: function (ry) {\r\n return this.attr('ry', ry)\r\n }\r\n})\r\n\r\n// Add common method\r\nSVG.extend([SVG.Circle, SVG.Ellipse], {\r\n // Move over x-axis\r\n x: function (x) {\r\n return x == null ? this.cx() - this.rx() : this.cx(x + this.rx())\r\n },\r\n // Move over y-axis\r\n y: function (y) {\r\n return y == null ? this.cy() - this.ry() : this.cy(y + this.ry())\r\n },\r\n // Move by center over x-axis\r\n cx: function (x) {\r\n return x == null ? this.attr('cx') : this.attr('cx', x)\r\n },\r\n // Move by center over y-axis\r\n cy: function (y) {\r\n return y == null ? this.attr('cy') : this.attr('cy', y)\r\n },\r\n // Set width of element\r\n width: function (width) {\r\n return width == null ? this.rx() * 2 : this.rx(new SVG.Number(width).divide(2))\r\n },\r\n // Set height of element\r\n height: function (height) {\r\n return height == null ? this.ry() * 2 : this.ry(new SVG.Number(height).divide(2))\r\n },\r\n // Custom size function\r\n size: function (width, height) {\r\n var p = proportionalSize(this, width, height)\r\n\r\n return this\r\n .rx(new SVG.Number(p.width).divide(2))\r\n .ry(new SVG.Number(p.height).divide(2))\r\n }\r\n})\r\n","/* global proportionalSize */\r\n\r\nSVG.Line = SVG.invent({\r\n // Initialize node\r\n create: 'line',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add class methods\r\n extend: {\r\n // Get array\r\n array: function () {\r\n return new SVG.PointArray([\r\n [ this.attr('x1'), this.attr('y1') ],\r\n [ this.attr('x2'), this.attr('y2') ]\r\n ])\r\n },\r\n\r\n // Overwrite native plot() method\r\n plot: function (x1, y1, x2, y2) {\r\n if (x1 == null) {\r\n return this.array()\r\n } else if (typeof y1 !== 'undefined') {\r\n x1 = { x1: x1, y1: y1, x2: x2, y2: y2 }\r\n } else {\r\n x1 = new SVG.PointArray(x1).toLine()\r\n }\r\n\r\n return this.attr(x1)\r\n },\r\n\r\n // Move by left top corner\r\n move: function (x, y) {\r\n return this.attr(this.array().move(x, y).toLine())\r\n },\r\n\r\n // Set element size to given width and height\r\n size: function (width, height) {\r\n var p = proportionalSize(this, width, height)\r\n return this.attr(this.array().size(p.width, p.height).toLine())\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a line element\r\n line: function (x1, y1, x2, y2) {\r\n // make sure plot is called as a setter\r\n // x1 is not necessarily a number, it can also be an array, a string and a SVG.PointArray\r\n return SVG.Line.prototype.plot.apply(\r\n this.put(new SVG.Line())\r\n , x1 != null ? [x1, y1, x2, y2] : [0, 0, 0, 0]\r\n )\r\n }\r\n }\r\n})\r\n","/* global proportionalSize */\r\n\r\nSVG.Polyline = SVG.invent({\r\n // Initialize node\r\n create: 'polyline',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a wrapped polyline element\r\n polyline: function (p) {\r\n // make sure plot is called as a setter\r\n return this.put(new SVG.Polyline()).plot(p || new SVG.PointArray())\r\n }\r\n }\r\n})\r\n\r\nSVG.Polygon = SVG.invent({\r\n // Initialize node\r\n create: 'polygon',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a wrapped polygon element\r\n polygon: function (p) {\r\n // make sure plot is called as a setter\r\n return this.put(new SVG.Polygon()).plot(p || new SVG.PointArray())\r\n }\r\n }\r\n})\r\n\r\n// Add polygon-specific functions\r\nSVG.extend([SVG.Polyline, SVG.Polygon], {\r\n // Get array\r\n array: function () {\r\n return this._array || (this._array = new SVG.PointArray(this.attr('points')))\r\n },\r\n\r\n // Plot new path\r\n plot: function (p) {\r\n return (p == null) ? this.array()\r\n : this.clear().attr('points', typeof p === 'string' ? p\r\n : (this._array = new SVG.PointArray(p)))\r\n },\r\n\r\n // Clear array cache\r\n clear: function () {\r\n delete this._array\r\n return this\r\n },\r\n\r\n // Move by left top corner\r\n move: function (x, y) {\r\n return this.attr('points', this.array().move(x, y))\r\n },\r\n\r\n // Set element size to given width and height\r\n size: function (width, height) {\r\n var p = proportionalSize(this, width, height)\r\n return this.attr('points', this.array().size(p.width, p.height))\r\n }\r\n})\r\n","// unify all point to point elements\r\nSVG.extend([SVG.Line, SVG.Polyline, SVG.Polygon], {\r\n // Define morphable array\r\n MorphArray: SVG.PointArray,\r\n // Move by left top corner over x-axis\r\n x: function (x) {\r\n return x == null ? this.bbox().x : this.move(x, this.bbox().y)\r\n },\r\n // Move by left top corner over y-axis\r\n y: function (y) {\r\n return y == null ? this.bbox().y : this.move(this.bbox().x, y)\r\n },\r\n // Set width of element\r\n width: function (width) {\r\n var b = this.bbox()\r\n\r\n return width == null ? b.width : this.size(width, b.height)\r\n },\r\n // Set height of element\r\n height: function (height) {\r\n var b = this.bbox()\r\n\r\n return height == null ? b.height : this.size(b.width, height)\r\n }\r\n})\r\n","/* global proportionalSize */\r\n\r\nSVG.Path = SVG.invent({\r\n // Initialize node\r\n create: 'path',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add class methods\r\n extend: {\r\n // Define morphable array\r\n MorphArray: SVG.PathArray,\r\n // Get array\r\n array: function () {\r\n return this._array || (this._array = new SVG.PathArray(this.attr('d')))\r\n },\r\n // Plot new path\r\n plot: function (d) {\r\n return (d == null) ? this.array()\r\n : this.clear().attr('d', typeof d === 'string' ? d : (this._array = new SVG.PathArray(d)))\r\n },\r\n // Clear array cache\r\n clear: function () {\r\n delete this._array\r\n return this\r\n },\r\n // Move by left top corner\r\n move: function (x, y) {\r\n return this.attr('d', this.array().move(x, y))\r\n },\r\n // Move by left top corner over x-axis\r\n x: function (x) {\r\n return x == null ? this.bbox().x : this.move(x, this.bbox().y)\r\n },\r\n // Move by left top corner over y-axis\r\n y: function (y) {\r\n return y == null ? this.bbox().y : this.move(this.bbox().x, y)\r\n },\r\n // Set element size to given width and height\r\n size: function (width, height) {\r\n var p = proportionalSize(this, width, height)\r\n return this.attr('d', this.array().size(p.width, p.height))\r\n },\r\n // Set width of element\r\n width: function (width) {\r\n return width == null ? this.bbox().width : this.size(width, this.bbox().height)\r\n },\r\n // Set height of element\r\n height: function (height) {\r\n return height == null ? this.bbox().height : this.size(this.bbox().width, height)\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a wrapped path element\r\n path: function (d) {\r\n // make sure plot is called as a setter\r\n return this.put(new SVG.Path()).plot(d || new SVG.PathArray())\r\n }\r\n }\r\n})\r\n","SVG.Image = SVG.invent({\r\n // Initialize node\r\n create: 'image',\r\n\r\n // Inherit from\r\n inherit: SVG.Shape,\r\n\r\n // Add class methods\r\n extend: {\r\n // (re)load image\r\n load: function (url, callback) {\r\n if (!url) return this\r\n\r\n var img = new window.Image()\r\n\r\n SVG.on(img, 'load', function (e) {\r\n var p = this.parent(SVG.Pattern)\r\n\r\n // ensure image size\r\n if (this.width() === 0 && this.height() === 0) {\r\n this.size(img.width, img.height)\r\n }\r\n\r\n if (p instanceof SVG.Pattern) {\r\n // ensure pattern size if not set\r\n if (p.width() === 0 && p.height() === 0) {\r\n p.size(this.width(), this.height())\r\n }\r\n }\r\n\r\n if (typeof callback === 'function') {\r\n callback.call(this, {\r\n width: img.width,\r\n height: img.height,\r\n ratio: img.width / img.height,\r\n url: url\r\n })\r\n }\r\n }, this)\r\n\r\n SVG.on(img, 'load error', function () {\r\n // dont forget to unbind memory leaking events\r\n SVG.off(img)\r\n })\r\n\r\n return this.attr('href', (img.src = url), SVG.xlink)\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // create image element, load image and set its size\r\n image: function (source, callback) {\r\n return this.put(new SVG.Image()).size(0, 0).load(source, callback)\r\n }\r\n }\r\n})\r\n","SVG.Text = SVG.invent({\r\n // Initialize node\r\n create: function (node) {\r\n SVG.Element.call(this, node || SVG.create('text'))\r\n this.dom.leading = new SVG.Number(1.3) // store leading value for rebuilding\r\n this._rebuild = true // enable automatic updating of dy values\r\n this._build = false // disable build mode for adding multiple lines\r\n\r\n // set default font\r\n this.attr('font-family', SVG.defaults.attrs['font-family'])\r\n },\r\n\r\n // Inherit from\r\n inherit: SVG.Parent,\r\n\r\n // Add class methods\r\n extend: {\r\n // Move over x-axis\r\n x: function (x) {\r\n // act as getter\r\n if (x == null) {\r\n return this.attr('x')\r\n }\r\n\r\n return this.attr('x', x)\r\n },\r\n // Move over y-axis\r\n y: function (y) {\r\n var oy = this.attr('y')\r\n var o = typeof oy === 'number' ? oy - this.bbox().y : 0\r\n\r\n // act as getter\r\n if (y == null) {\r\n return typeof oy === 'number' ? oy - o : oy\r\n }\r\n\r\n return this.attr('y', typeof y === 'number' ? y + o : y)\r\n },\r\n // Move center over x-axis\r\n cx: function (x) {\r\n return x == null ? this.bbox().cx : this.x(x - this.bbox().width / 2)\r\n },\r\n // Move center over y-axis\r\n cy: function (y) {\r\n return y == null ? this.bbox().cy : this.y(y - this.bbox().height / 2)\r\n },\r\n // Set the text content\r\n text: function (text) {\r\n // act as getter\r\n if (text === undefined) {\r\n var children = this.node.childNodes\r\n var firstLine = 0\r\n text = ''\r\n\r\n for (var i = 0, len = children.length; i < len; ++i) {\r\n // skip textPaths - they are no lines\r\n if (children[i].nodeName === 'textPath') {\r\n if (i === 0) firstLine = 1\r\n continue\r\n }\r\n\r\n // add newline if its not the first child and newLined is set to true\r\n if (i !== firstLine && children[i].nodeType !== 3 && SVG.adopt(children[i]).dom.newLined === true) {\r\n text += '\\n'\r\n }\r\n\r\n // add content of this node\r\n text += children[i].textContent\r\n }\r\n\r\n return text\r\n }\r\n\r\n // remove existing content\r\n this.clear().build(true)\r\n\r\n if (typeof text === 'function') {\r\n // call block\r\n text.call(this, this)\r\n } else {\r\n // store text and make sure text is not blank\r\n text = text.split('\\n')\r\n\r\n // build new lines\r\n for (var j = 0, jl = text.length; j < jl; j++) {\r\n this.tspan(text[j]).newLine()\r\n }\r\n }\r\n\r\n // disable build mode and rebuild lines\r\n return this.build(false).rebuild()\r\n },\r\n // Set / get leading\r\n leading: function (value) {\r\n // act as getter\r\n if (value == null) {\r\n return this.dom.leading\r\n }\r\n\r\n // act as setter\r\n this.dom.leading = new SVG.Number(value)\r\n\r\n return this.rebuild()\r\n },\r\n // Rebuild appearance type\r\n rebuild: function (rebuild) {\r\n // store new rebuild flag if given\r\n if (typeof rebuild === 'boolean') {\r\n this._rebuild = rebuild\r\n }\r\n\r\n // define position of all lines\r\n if (this._rebuild) {\r\n var self = this\r\n var blankLineOffset = 0\r\n var dy = this.dom.leading * new SVG.Number(this.attr('font-size'))\r\n\r\n this.each(function () {\r\n if (this.dom.newLined) {\r\n this.attr('x', self.attr('x'))\r\n\r\n if (this.text() === '\\n') {\r\n blankLineOffset += dy\r\n } else {\r\n this.attr('dy', dy + blankLineOffset)\r\n blankLineOffset = 0\r\n }\r\n }\r\n })\r\n\r\n this.fire('rebuild')\r\n }\r\n\r\n return this\r\n },\r\n // Enable / disable build mode\r\n build: function (build) {\r\n this._build = !!build\r\n return this\r\n },\r\n // overwrite method from parent to set data properly\r\n setData: function (o) {\r\n this.dom = o\r\n this.dom.leading = new SVG.Number(o.leading || 1.3)\r\n return this\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create text element\r\n text: function (text) {\r\n return this.put(new SVG.Text()).text(text)\r\n },\r\n // Create plain text element\r\n plain: function (text) {\r\n return this.put(new SVG.Text()).plain(text)\r\n }\r\n }\r\n\r\n})\r\n\r\nSVG.Tspan = SVG.invent({\r\n // Initialize node\r\n create: 'tspan',\r\n\r\n // Inherit from\r\n inherit: SVG.Parent,\r\n\r\n // Add class methods\r\n extend: {\r\n // Set text content\r\n text: function (text) {\r\n if (text == null) return this.node.textContent + (this.dom.newLined ? '\\n' : '')\r\n\r\n typeof text === 'function' ? text.call(this, this) : this.plain(text)\r\n\r\n return this\r\n },\r\n // Shortcut dx\r\n dx: function (dx) {\r\n return this.attr('dx', dx)\r\n },\r\n // Shortcut dy\r\n dy: function (dy) {\r\n return this.attr('dy', dy)\r\n },\r\n // Create new line\r\n newLine: function () {\r\n // fetch text parent\r\n var t = this.parent(SVG.Text)\r\n\r\n // mark new line\r\n this.dom.newLined = true\r\n\r\n // apply new position\r\n return this.dy(t.dom.leading * t.attr('font-size')).attr('x', t.x())\r\n }\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Text, SVG.Tspan], {\r\n // Create plain text node\r\n plain: function (text) {\r\n // clear if build mode is disabled\r\n if (this._build === false) {\r\n this.clear()\r\n }\r\n\r\n // create text node\r\n this.node.appendChild(document.createTextNode(text))\r\n\r\n return this\r\n },\r\n // Create a tspan\r\n tspan: function (text) {\r\n var tspan = new SVG.Tspan()\r\n\r\n // clear if build mode is disabled\r\n if (!this._build) {\r\n this.clear()\r\n }\r\n\r\n // add new tspan\r\n this.node.appendChild(tspan.node)\r\n\r\n return tspan.text(text)\r\n },\r\n // FIXME: Does this also work for textpath?\r\n // Get length of text element\r\n length: function () {\r\n return this.node.getComputedTextLength()\r\n }\r\n})\r\n","SVG.TextPath = SVG.invent({\r\n // Initialize node\r\n create: 'textPath',\r\n\r\n // Inherit from\r\n inherit: SVG.Text,\r\n\r\n // Define parent class\r\n parent: SVG.Parent,\r\n\r\n // Add parent method\r\n extend: {\r\n MorphArray: SVG.PathArray,\r\n // return the array of the path track element\r\n array: function () {\r\n var track = this.track()\r\n\r\n return track ? track.array() : null\r\n },\r\n // Plot path if any\r\n plot: function (d) {\r\n var track = this.track()\r\n var pathArray = null\r\n\r\n if (track) {\r\n pathArray = track.plot(d)\r\n }\r\n\r\n return (d == null) ? pathArray : this\r\n },\r\n // Get the path element\r\n track: function () {\r\n return this.reference('href')\r\n }\r\n },\r\n construct: {\r\n textPath: function (text, path) {\r\n return this.defs().path(path).text(text).addTo(this)\r\n }\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Text], {\r\n // Create path for text to run on\r\n path: function (track) {\r\n var path = new SVG.TextPath()\r\n\r\n // if d is a path, reuse it\r\n if (!(track instanceof SVG.Path)) {\r\n // create path element\r\n track = this.doc().defs().path(track)\r\n }\r\n\r\n // link textPath to path and add content\r\n path.attr('href', '#' + track, SVG.xlink)\r\n\r\n // add textPath element as child node and return textPath\r\n return this.put(path)\r\n },\r\n // Todo: make this plural?\r\n // Get the textPath children\r\n textPath: function () {\r\n return this.select('textPath')\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Path], {\r\n // creates a textPath from this path\r\n text: function (text) {\r\n if (text instanceof SVG.Text) {\r\n var txt = text.text()\r\n return text.clear().path(this).text(txt)\r\n }\r\n return this.parent().put(new SVG.Text()).path(this).text(text)\r\n }\r\n // TODO: Maybe add `targets` to get all textPaths associated with this path\r\n})\r\n","SVG.A = SVG.invent({\r\n // Initialize node\r\n create: 'a',\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n // Link url\r\n to: function (url) {\r\n return this.attr('href', url, SVG.xlink)\r\n },\r\n // Link target attribute\r\n target: function (target) {\r\n return this.attr('target', target)\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n // Create a hyperlink element\r\n link: function (url) {\r\n return this.put(new SVG.A()).to(url)\r\n }\r\n }\r\n})\r\n\r\nSVG.extend(SVG.Element, {\r\n // Create a hyperlink element\r\n linkTo: function (url) {\r\n var link = new SVG.A()\r\n\r\n if (typeof url === 'function') { url.call(link, link) } else {\r\n link.to(url)\r\n }\r\n\r\n return this.parent().put(link).put(this)\r\n }\r\n\r\n})\r\n","SVG.Marker = SVG.invent({\r\n // Initialize node\r\n create: 'marker',\r\n\r\n // Inherit from\r\n inherit: SVG.Container,\r\n\r\n // Add class methods\r\n extend: {\r\n // Set width of element\r\n width: function (width) {\r\n return this.attr('markerWidth', width)\r\n },\r\n // Set height of element\r\n height: function (height) {\r\n return this.attr('markerHeight', height)\r\n },\r\n // Set marker refX and refY\r\n ref: function (x, y) {\r\n return this.attr('refX', x).attr('refY', y)\r\n },\r\n // Update marker\r\n update: function (block) {\r\n // remove all content\r\n this.clear()\r\n\r\n // invoke passed block\r\n if (typeof block === 'function') { block.call(this, this) }\r\n\r\n return this\r\n },\r\n // Return the fill id\r\n toString: function () {\r\n return 'url(#' + this.id() + ')'\r\n }\r\n },\r\n\r\n // Add parent method\r\n construct: {\r\n marker: function (width, height, block) {\r\n // Create marker element in defs\r\n return this.defs().marker(width, height, block)\r\n }\r\n }\r\n\r\n})\r\n\r\nSVG.extend(SVG.Defs, {\r\n // Create marker\r\n marker: function (width, height, block) {\r\n // Set default viewbox to match the width and height, set ref to cx and cy and set orient to auto\r\n return this.put(new SVG.Marker())\r\n .size(width, height)\r\n .ref(width / 2, height / 2)\r\n .viewbox(0, 0, width, height)\r\n .attr('orient', 'auto')\r\n .update(block)\r\n }\r\n\r\n})\r\n\r\nSVG.extend([SVG.Line, SVG.Polyline, SVG.Polygon, SVG.Path], {\r\n // Create and attach markers\r\n marker: function (marker, width, height, block) {\r\n var attr = ['marker']\r\n\r\n // Build attribute name\r\n if (marker !== 'all') attr.push(marker)\r\n attr = attr.join('-')\r\n\r\n // Set marker attribute\r\n marker = arguments[1] instanceof SVG.Marker\r\n ? arguments[1]\r\n : this.doc().marker(width, height, block)\r\n\r\n return this.attr(attr, marker)\r\n }\r\n})\r\n","// Define list of available attributes for stroke and fill\r\nvar sugar = {\r\n stroke: ['color', 'width', 'opacity', 'linecap', 'linejoin', 'miterlimit', 'dasharray', 'dashoffset'],\r\n fill: ['color', 'opacity', 'rule'],\r\n prefix: function (t, a) {\r\n return a === 'color' ? t : t + '-' + a\r\n }\r\n}\r\n\r\n// Add sugar for fill and stroke\r\n;['fill', 'stroke'].forEach(function (m) {\r\n var extension = {}\r\n var i\r\n\r\n extension[m] = function (o) {\r\n if (typeof o === 'undefined') {\r\n return this\r\n }\r\n if (typeof o === 'string' || SVG.Color.isRgb(o) || (o && typeof o.fill === 'function')) {\r\n this.attr(m, o)\r\n } else {\r\n // set all attributes from sugar.fill and sugar.stroke list\r\n for (i = sugar[m].length - 1; i >= 0; i--) {\r\n if (o[sugar[m][i]] != null) {\r\n this.attr(sugar.prefix(m, sugar[m][i]), o[sugar[m][i]])\r\n }\r\n }\r\n }\r\n\r\n return this\r\n }\r\n\r\n SVG.extend([SVG.Element, SVG.Timeline], extension)\r\n})\r\n\r\nSVG.extend([SVG.Element, SVG.Timeline], {\r\n // Let the user set the matrix directly\r\n matrix: function (mat, b, c, d, e, f) {\r\n // Act as a getter\r\n if (mat == null) {\r\n return new SVG.Matrix(this)\r\n }\r\n\r\n // Act as a setter, the user can pass a matrix or a set of numbers\r\n return this.attr('transform', new SVG.Matrix(mat, b, c, d, e, f))\r\n },\r\n\r\n // Map rotation to transform\r\n rotate: function (angle, cx, cy) {\r\n return this.transform({rotate: angle, ox: cx, oy: cy}, true)\r\n },\r\n\r\n // Map skew to transform\r\n skew: function (x, y, cx, cy) {\r\n return arguments.length === 1 || arguments.length === 3\r\n ? this.transform({skew: x, ox: y, oy: cx}, true)\r\n : this.transform({skew: [x, y], ox: cx, oy: cy}, true)\r\n },\r\n\r\n shear: function (lam, cx, cy) {\r\n return this.transform({shear: lam, ox: cx, oy: cy}, true)\r\n },\r\n\r\n // Map scale to transform\r\n scale: function (x, y, cx, cy) {\r\n return arguments.length === 1 || arguments.length === 3\r\n ? this.transform({ scale: x, ox: y, oy: cx }, true)\r\n : this.transform({ scale: [x, y], ox: cx, oy: cy }, true)\r\n },\r\n\r\n // Map translate to transform\r\n translate: function (x, y) {\r\n return this.transform({ translate: [x, y] }, true)\r\n },\r\n\r\n // Map relative translations to transform\r\n relative: function (x, y) {\r\n return this.transform({ relative: [x, y] }, true)\r\n },\r\n\r\n // Map flip to transform\r\n flip: function (direction, around) {\r\n var directionString = typeof direction === 'string' ? direction\r\n : isFinite(direction) ? 'both'\r\n : 'both'\r\n var origin = (direction === 'both' && isFinite(around)) ? [around, around]\r\n : (direction === 'x') ? [around, 0]\r\n : (direction === 'y') ? [0, around]\r\n : isFinite(direction) ? [direction, direction]\r\n : [0, 0]\r\n this.transform({flip: directionString, origin: origin}, true)\r\n },\r\n\r\n // Opacity\r\n opacity: function (value) {\r\n return this.attr('opacity', value)\r\n },\r\n\r\n // Relative move over x axis\r\n dx: function (x) {\r\n return this.x(new SVG.Number(x).plus(this instanceof SVG.Timeline ? 0 : this.x()), true)\r\n },\r\n\r\n // Relative move over y axis\r\n dy: function (y) {\r\n return this.y(new SVG.Number(y).plus(this instanceof SVG.Timeline ? 0 : this.y()), true)\r\n },\r\n\r\n // Relative move over x and y axes\r\n dmove: function (x, y) {\r\n return this.dx(x).dy(y)\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Rect, SVG.Ellipse, SVG.Circle, SVG.Gradient, SVG.Timeline], {\r\n // Add x and y radius\r\n radius: function (x, y) {\r\n var type = (this._target || this).type\r\n return type === 'radialGradient' || type === 'radialGradient'\r\n ? this.attr('r', new SVG.Number(x))\r\n : this.rx(x).ry(y == null ? x : y)\r\n }\r\n})\r\n\r\nSVG.extend(SVG.Path, {\r\n // Get path length\r\n length: function () {\r\n return this.node.getTotalLength()\r\n },\r\n // Get point at length\r\n pointAt: function (length) {\r\n return new SVG.Point(this.node.getPointAtLength(length))\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Parent, SVG.Text, SVG.Tspan, SVG.Timeline], {\r\n // Set font\r\n font: function (a, v) {\r\n if (typeof a === 'object') {\r\n for (v in a) this.font(v, a[v])\r\n }\r\n\r\n return a === 'leading'\r\n ? this.leading(v)\r\n : a === 'anchor'\r\n ? this.attr('text-anchor', v)\r\n : a === 'size' || a === 'family' || a === 'weight' || a === 'stretch' || a === 'variant' || a === 'style'\r\n ? this.attr('font-' + a, v)\r\n : this.attr(a, v)\r\n }\r\n})\r\n","\r\nSVG.extend(SVG.Element, {\r\n // Store data values on svg nodes\r\n data: function (a, v, r) {\r\n if (typeof a === 'object') {\r\n for (v in a) {\r\n this.data(v, a[v])\r\n }\r\n } else if (arguments.length < 2) {\r\n try {\r\n return JSON.parse(this.attr('data-' + a))\r\n } catch (e) {\r\n return this.attr('data-' + a)\r\n }\r\n } else {\r\n this.attr('data-' + a,\r\n v === null ? null\r\n : r === true || typeof v === 'string' || typeof v === 'number' ? v\r\n : JSON.stringify(v)\r\n )\r\n }\r\n\r\n return this\r\n }\r\n})\r\n","\r\nSVG.extend(SVG.Element, {\r\n // Remember arbitrary data\r\n remember: function (k, v) {\r\n // remember every item in an object individually\r\n if (typeof arguments[0] === 'object') {\r\n for (var key in k) {\r\n this.remember(key, k[key])\r\n }\r\n } else if (arguments.length === 1) {\r\n // retrieve memory\r\n return this.memory()[k]\r\n } else {\r\n // store memory\r\n this.memory()[k] = v\r\n }\r\n\r\n return this\r\n },\r\n\r\n // Erase a given memory\r\n forget: function () {\r\n if (arguments.length === 0) {\r\n this._memory = {}\r\n } else {\r\n for (var i = arguments.length - 1; i >= 0; i--) {\r\n delete this.memory()[arguments[i]]\r\n }\r\n }\r\n return this\r\n },\r\n\r\n // Initialize or return local memory object\r\n memory: function () {\r\n return this._memory || (this._memory = {})\r\n }\r\n})\r\n","/* global idFromReference */\r\n\r\n// Method for getting an element by id\r\nSVG.get = function (id) {\r\n var node = document.getElementById(idFromReference(id) || id)\r\n return SVG.adopt(node)\r\n}\r\n\r\n// Select elements by query string\r\nSVG.select = function (query, parent) {\r\n return SVG.utils.map((parent || document).querySelectorAll(query), function (node) {\r\n return SVG.adopt(node)\r\n })\r\n}\r\n\r\nSVG.$$ = function (query, parent) {\r\n return SVG.utils.map((parent || document).querySelectorAll(query), function (node) {\r\n return SVG.adopt(node)\r\n })\r\n}\r\n\r\nSVG.$ = function (query, parent) {\r\n return SVG.adopt((parent || document).querySelector(query))\r\n}\r\n\r\nSVG.extend(SVG.Parent, {\r\n // Scoped select method\r\n select: function (query) {\r\n return SVG.select(query, this.node)\r\n }\r\n})\r\n","/* eslint no-unused-vars: 0 */\r\n\r\nfunction createElement (element, makeNested) {\r\n if (element instanceof SVG.Element) return element\r\n\r\n if (typeof element === 'object') {\r\n return SVG.adopt(element)\r\n }\r\n\r\n if (element == null) {\r\n return new SVG.Doc()\r\n }\r\n\r\n if (typeof element === 'string' && element.charAt(0) !== '<') {\r\n return SVG.adopt(document.querySelector(element))\r\n }\r\n\r\n var node = SVG.create('svg')\r\n node.innerHTML = element\r\n\r\n element = SVG.adopt(node.firstElementChild)\r\n\r\n return element\r\n}\r\n\r\nfunction isNulledBox (box) {\r\n return !box.w && !box.h && !box.x && !box.y\r\n}\r\n\r\nfunction domContains (node) {\r\n return (document.documentElement.contains || function (node) {\r\n // This is IE - it does not support contains() for top-level SVGs\r\n while (node.parentNode) {\r\n node = node.parentNode\r\n }\r\n return node === document\r\n }).call(document.documentElement, node)\r\n}\r\n\r\nfunction pathRegReplace (a, b, c, d) {\r\n return c + d.replace(SVG.regex.dots, ' .')\r\n}\r\n\r\n// creates deep clone of array\r\nfunction arrayClone (arr) {\r\n var clone = arr.slice(0)\r\n for (var i = clone.length; i--;) {\r\n if (Array.isArray(clone[i])) {\r\n clone[i] = arrayClone(clone[i])\r\n }\r\n }\r\n return clone\r\n}\r\n\r\n// tests if a given element is instance of an object\r\nfunction is (el, obj) {\r\n return el instanceof obj\r\n}\r\n\r\n// tests if a given selector matches an element\r\nfunction matches (el, selector) {\r\n return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector)\r\n}\r\n\r\n// Convert dash-separated-string to camelCase\r\nfunction camelCase (s) {\r\n return s.toLowerCase().replace(/-(.)/g, function (m, g) {\r\n return g.toUpperCase()\r\n })\r\n}\r\n\r\n// Capitalize first letter of a string\r\nfunction capitalize (s) {\r\n return s.charAt(0).toUpperCase() + s.slice(1)\r\n}\r\n\r\n// Ensure to six-based hex\r\nfunction fullHex (hex) {\r\n return hex.length === 4\r\n ? [ '#',\r\n hex.substring(1, 2), hex.substring(1, 2),\r\n hex.substring(2, 3), hex.substring(2, 3),\r\n hex.substring(3, 4), hex.substring(3, 4)\r\n ].join('')\r\n : hex\r\n}\r\n\r\n// Component to hex value\r\nfunction compToHex (comp) {\r\n var hex = comp.toString(16)\r\n return hex.length === 1 ? '0' + hex : hex\r\n}\r\n\r\n// Calculate proportional width and height values when necessary\r\nfunction proportionalSize (element, width, height) {\r\n if (width == null || height == null) {\r\n var box = element.bbox()\r\n\r\n if (width == null) {\r\n width = box.width / box.height * height\r\n } else if (height == null) {\r\n height = box.height / box.width * width\r\n }\r\n }\r\n\r\n return {\r\n width: width,\r\n height: height\r\n }\r\n}\r\n\r\n// Map matrix array to object\r\nfunction arrayToMatrix (a) {\r\n return { a: a[0], b: a[1], c: a[2], d: a[3], e: a[4], f: a[5] }\r\n}\r\n\r\n// Add centre point to transform object\r\nfunction ensureCentre (o, target) {\r\n o.cx = o.cx == null ? target.bbox().cx : o.cx\r\n o.cy = o.cy == null ? target.bbox().cy : o.cy\r\n}\r\n\r\n// PathArray Helpers\r\nfunction arrayToString (a) {\r\n for (var i = 0, il = a.length, s = ''; i < il; i++) {\r\n s += a[i][0]\r\n\r\n if (a[i][1] != null) {\r\n s += a[i][1]\r\n\r\n if (a[i][2] != null) {\r\n s += ' '\r\n s += a[i][2]\r\n\r\n if (a[i][3] != null) {\r\n s += ' '\r\n s += a[i][3]\r\n s += ' '\r\n s += a[i][4]\r\n\r\n if (a[i][5] != null) {\r\n s += ' '\r\n s += a[i][5]\r\n s += ' '\r\n s += a[i][6]\r\n\r\n if (a[i][7] != null) {\r\n s += ' '\r\n s += a[i][7]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return s + ' '\r\n}\r\n\r\n// Deep new id assignment\r\nfunction assignNewId (node) {\r\n // do the same for SVG child nodes as well\r\n for (var i = node.children.length - 1; i >= 0; i--) {\r\n assignNewId(node.children[i])\r\n }\r\n\r\n if (node.id) {\r\n return SVG.adopt(node).id(SVG.eid(node.nodeName))\r\n }\r\n\r\n return SVG.adopt(node)\r\n}\r\n\r\n// Add more bounding box properties\r\nfunction fullBox (b) {\r\n if (b.x == null) {\r\n b.x = 0\r\n b.y = 0\r\n b.width = 0\r\n b.height = 0\r\n }\r\n\r\n b.w = b.width\r\n b.h = b.height\r\n b.x2 = b.x + b.width\r\n b.y2 = b.y + b.height\r\n b.cx = b.x + b.width / 2\r\n b.cy = b.y + b.height / 2\r\n\r\n return b\r\n}\r\n\r\n// Get id from reference string\r\nfunction idFromReference (url) {\r\n var m = (url || '').toString().match(SVG.regex.reference)\r\n\r\n if (m) return m[1]\r\n}\r\n\r\n// Create matrix array for looping\r\nvar abcdef = 'abcdef'.split('')\r\n\r\nfunction closeEnough (a, b, threshold) {\r\n return Math.abs(b - a) < (threshold || 1e-6)\r\n}\r\n\r\nfunction isMatrixLike (o) {\r\n return (\r\n o.a != null ||\r\n o.b != null ||\r\n o.c != null ||\r\n o.d != null ||\r\n o.e != null ||\r\n o.f != null\r\n )\r\n}\r\n\r\n// TODO: Refactor this to a static function of matrix.js\r\nfunction formatTransforms (o) {\r\n // Get all of the parameters required to form the matrix\r\n var flipBoth = o.flip === 'both' || o.flip === true\r\n var flipX = o.flip && (flipBoth || o.flip === 'x') ? -1 : 1\r\n var flipY = o.flip && (flipBoth || o.flip === 'y') ? -1 : 1\r\n var skewX = o.skew && o.skew.length ? o.skew[0]\r\n : isFinite(o.skew) ? o.skew\r\n : isFinite(o.skewX) ? o.skewX\r\n : 0\r\n var skewY = o.skew && o.skew.length ? o.skew[1]\r\n : isFinite(o.skew) ? o.skew\r\n : isFinite(o.skewY) ? o.skewY\r\n : 0\r\n var scaleX = o.scale && o.scale.length ? o.scale[0] * flipX\r\n : isFinite(o.scale) ? o.scale * flipX\r\n : isFinite(o.scaleX) ? o.scaleX * flipX\r\n : flipX\r\n var scaleY = o.scale && o.scale.length ? o.scale[1] * flipY\r\n : isFinite(o.scale) ? o.scale * flipY\r\n : isFinite(o.scaleY) ? o.scaleY * flipY\r\n : flipY\r\n var shear = o.shear || 0\r\n var theta = o.rotate || o.theta || 0\r\n var origin = new SVG.Point(o.origin || o.around || o.ox || o.originX, o.oy || o.originY)\r\n var ox = origin.x\r\n var oy = origin.y\r\n var position = new SVG.Point(o.position || o.px || o.positionX, o.py || o.positionY)\r\n var px = position.x\r\n var py = position.y\r\n var translate = new SVG.Point(o.translate || o.tx || o.translateX, o.ty || o.translateY)\r\n var tx = translate.x\r\n var ty = translate.y\r\n var relative = new SVG.Point(o.relative || o.rx || o.relativeX, o.ry || o.relativeY)\r\n var rx = relative.x\r\n var ry = relative.y\r\n\r\n // Populate all of the values\r\n return {\r\n scaleX, scaleY, skewX, skewY, shear, theta, rx, ry, tx, ty, ox, oy, px, py\r\n }\r\n}\r\n\r\n// left matrix, right matrix, target matrix which is overwritten\r\nfunction matrixMultiply (l, r, o) {\r\n // Work out the product directly\r\n var a = l.a * r.a + l.c * r.b\r\n var b = l.b * r.a + l.d * r.b\r\n var c = l.a * r.c + l.c * r.d\r\n var d = l.b * r.c + l.d * r.d\r\n var e = l.e + l.a * r.e + l.c * r.f\r\n var f = l.f + l.b * r.e + l.d * r.f\r\n\r\n // make sure to use local variables because l/r and o could be the same\r\n o.a = a\r\n o.b = b\r\n o.c = c\r\n o.d = d\r\n o.e = e\r\n o.f = f\r\n\r\n return o\r\n}\r\n\r\nfunction getOrigin (o, element) {\r\n // Allow origin or around as the names\r\n let origin = o.origin // o.around == null ? o.origin : o.around\r\n let ox, oy\r\n\r\n // Allow the user to pass a string to rotate around a given point\r\n if (typeof origin === 'string' || origin == null) {\r\n // Get the bounding box of the element with no transformations applied\r\n const string = (origin || 'center').toLowerCase().trim()\r\n const { height, width, x, y } = element.bbox()\r\n\r\n // Calculate the transformed x and y coordinates\r\n let bx = string.includes('left') ? x\r\n : string.includes('right') ? x + width\r\n : x + width / 2\r\n let by = string.includes('top') ? y\r\n : string.includes('bottom') ? y + height\r\n : y + height / 2\r\n\r\n // Set the bounds eg : \"bottom-left\", \"Top right\", \"middle\" etc...\r\n ox = o.ox != null ? o.ox : bx\r\n oy = o.oy != null ? o.oy : by\r\n } else {\r\n ox = origin[0]\r\n oy = origin[1]\r\n }\r\n\r\n // Return the origin as it is if it wasn't a string\r\n return [ ox, oy ]\r\n}\r\n","/* globals fullBox, domContains, isNulledBox, Exception */\r\n\r\nSVG.Box = SVG.invent({\r\n create: function (source) {\r\n var base = [0, 0, 0, 0]\r\n source = typeof source === 'string' ? source.split(SVG.regex.delimiter).map(parseFloat)\r\n : Array.isArray(source) ? source\r\n : typeof source === 'object' ? [source.left != null ? source.left\r\n : source.x, source.top != null ? source.top : source.y, source.width, source.height]\r\n : arguments.length === 4 ? [].slice.call(arguments)\r\n : base\r\n\r\n this.x = source[0]\r\n this.y = source[1]\r\n this.width = source[2]\r\n this.height = source[3]\r\n\r\n // add center, right, bottom...\r\n fullBox(this)\r\n },\r\n extend: {\r\n // Merge rect box with another, return a new instance\r\n merge: function (box) {\r\n var x = Math.min(this.x, box.x)\r\n var y = Math.min(this.y, box.y)\r\n\r\n return new SVG.Box(\r\n x, y,\r\n Math.max(this.x + this.width, box.x + box.width) - x,\r\n Math.max(this.y + this.height, box.y + box.height) - y\r\n )\r\n },\r\n\r\n transform: function (m) {\r\n var xMin = Infinity\r\n var xMax = -Infinity\r\n var yMin = Infinity\r\n var yMax = -Infinity\r\n\r\n var pts = [\r\n new SVG.Point(this.x, this.y),\r\n new SVG.Point(this.x2, this.y),\r\n new SVG.Point(this.x, this.y2),\r\n new SVG.Point(this.x2, this.y2)\r\n ]\r\n\r\n pts.forEach(function (p) {\r\n p = p.transform(m)\r\n xMin = Math.min(xMin, p.x)\r\n xMax = Math.max(xMax, p.x)\r\n yMin = Math.min(yMin, p.y)\r\n yMax = Math.max(yMax, p.y)\r\n })\r\n\r\n return new SVG.Box(\r\n xMin, yMin,\r\n xMax - xMin,\r\n yMax - yMin\r\n )\r\n },\r\n\r\n addOffset: function () {\r\n // offset by window scroll position, because getBoundingClientRect changes when window is scrolled\r\n this.x += window.pageXOffset\r\n this.y += window.pageYOffset\r\n return this\r\n },\r\n toString: function () {\r\n return this.x + ' ' + this.y + ' ' + this.width + ' ' + this.height\r\n },\r\n toArray: function () {\r\n return [this.x, this.y, this.width, this.height]\r\n },\r\n morph: function (x, y, width, height) {\r\n this.destination = new SVG.Box(x, y, width, height)\r\n return this\r\n },\r\n\r\n at: function (pos) {\r\n if (!this.destination) return this\r\n\r\n return new SVG.Box(\r\n this.x + (this.destination.x - this.x) * pos\r\n , this.y + (this.destination.y - this.y) * pos\r\n , this.width + (this.destination.width - this.width) * pos\r\n , this.height + (this.destination.height - this.height) * pos\r\n )\r\n }\r\n },\r\n\r\n // Define Parent\r\n parent: SVG.Element,\r\n\r\n // Constructor\r\n construct: {\r\n // Get bounding box\r\n bbox: function () {\r\n var box\r\n\r\n try {\r\n // find native bbox\r\n box = this.node.getBBox()\r\n\r\n if (isNulledBox(box) && !domContains(this.node)) {\r\n throw new Exception('Element not in the dom')\r\n }\r\n } catch (e) {\r\n try {\r\n var clone = this.clone(SVG.parser().svg).show()\r\n box = clone.node.getBBox()\r\n clone.remove()\r\n } catch (e) {\r\n console.warn('Getting a bounding box of this element is not possible')\r\n }\r\n }\r\n\r\n return new SVG.Box(box)\r\n },\r\n\r\n rbox: function (el) {\r\n // IE11 throws an error when element not in dom\r\n try {\r\n var box = new SVG.Box(this.node.getBoundingClientRect())\r\n if (el) return box.transform(el.screenCTM().inverse())\r\n return box.addOffset()\r\n } catch (e) {\r\n return new SVG.Box()\r\n }\r\n }\r\n }\r\n})\r\n\r\nSVG.extend([SVG.Doc, SVG.Symbol, SVG.Image, SVG.Pattern, SVG.Marker, SVG.ForeignObject, SVG.View], {\r\n viewbox: function (x, y, width, height) {\r\n // act as getter\r\n if (x == null) return new SVG.Box(this.attr('viewBox'))\r\n\r\n // act as setter\r\n return this.attr('viewBox', new SVG.Box(x, y, width, height))\r\n }\r\n})\r\n","\r\nSVG.parser = function () {\r\n var b\r\n\r\n if (!SVG.parser.nodes.svg.node.parentNode) {\r\n b = document.body || document.documentElement\r\n SVG.parser.nodes.svg.addTo(b)\r\n }\r\n\r\n return SVG.parser.nodes\r\n}\r\n\r\nSVG.parser.nodes = {\r\n svg: SVG().size(2, 0).css({\r\n opacity: 0,\r\n position: 'absolute',\r\n left: '-100%',\r\n top: '-100%',\r\n overflow: 'hidden'\r\n })\r\n}\r\n\r\nSVG.parser.nodes.path = SVG.parser.nodes.svg.path().node\r\n","/* global requestAnimationFrame */\n\nSVG.Animator = {\n nextDraw: null,\n frames: new SVG.Queue(),\n timeouts: new SVG.Queue(),\n timer: window.performance || window.Date,\n transforms: [],\n\n frame: function (fn) {\n // Store the node\n var node = SVG.Animator.frames.push({ run: fn })\n\n // Request an animation frame if we don't have one\n if (SVG.Animator.nextDraw === null) {\n SVG.Animator.nextDraw = requestAnimationFrame(SVG.Animator._draw)\n }\n\n // Return the node so we can remove it easily\n return node\n },\n\n transform_frame: function (fn, id) {\n SVG.Animator.transforms[id] = fn\n },\n\n timeout: function (fn, delay) {\n delay = delay || 0\n\n // Work out when the event should fire\n var time = SVG.Animator.timer.now() + delay\n\n // Add the timeout to the end of the queue\n var node = SVG.Animator.timeouts.push({ run: fn, time: time })\n\n // Request another animation frame if we need one\n if (SVG.Animator.nextDraw === null) {\n SVG.Animator.nextDraw = requestAnimationFrame(SVG.Animator._draw)\n }\n\n return node\n },\n\n cancelFrame: function (node) {\n SVG.Animator.frames.remove(node)\n },\n\n clearTimeout: function (node) {\n SVG.Animator.timeouts.remove(node)\n },\n\n _draw: function (now) {\n // Run all the timeouts we can run, if they are not ready yet, add them\n // to the end of the queue immediately! (bad timeouts!!! [sarcasm])\n var nextTimeout = null\r\n var lastTimeout = SVG.Animator.timeouts.last()\n while ((nextTimeout = SVG.Animator.timeouts.shift())) {\n // Run the timeout if its time, or push it to the end\n if (now >= nextTimeout.time) {\n nextTimeout.run()\n } else {\n SVG.Animator.timeouts.push(nextTimeout)\n }\n\n // If we hit the last item, we should stop shifting out more items\n if (nextTimeout === lastTimeout) break\n }\n\n // Run all of the animation frames\n var nextFrame = null\n var lastFrame = SVG.Animator.frames.last()\n while ((nextFrame !== lastFrame) && (nextFrame = SVG.Animator.frames.shift())) {\n nextFrame.run()\n }\n\n SVG.Animator.transforms.forEach(function (el) { el() })\n\n // If we have remaining timeouts or frames, draw until we don't anymore\n SVG.Animator.nextDraw = SVG.Animator.timeouts.first() || SVG.Animator.frames.first()\n ? requestAnimationFrame(SVG.Animator._draw)\n : null\n }\n}\n","\r\nSVG.Morphable = SVG.invent({\r\n create: function (stepper) {\r\n // FIXME: the default stepper does not know about easing\r\n this._stepper = stepper || new SVG.Ease('-')\r\n\r\n this._from = null\r\n this._to = null\r\n this._type = null\r\n this._context = null\r\n this._morphObj = null\r\n },\r\n\r\n extend: {\r\n\r\n from: function (val) {\r\n if (val == null) {\r\n return this._from\r\n }\r\n\r\n this._from = this._set(val)\r\n return this\r\n },\r\n\r\n to: function (val) {\r\n if (val == null) {\r\n return this._to\r\n }\r\n\r\n this._to = this._set(val)\r\n return this\r\n },\r\n\r\n type: function (type) {\r\n // getter\r\n if (type == null) {\r\n return this._type\r\n }\r\n\r\n // setter\r\n this._type = type\r\n return this\r\n },\r\n\r\n _set: function (value) {\r\n if (!this._type) {\r\n var type = typeof value\r\n\r\n if (type === 'number') {\r\n this.type(SVG.Number)\r\n } else if (type === 'string') {\r\n if (SVG.Color.isColor(value)) {\r\n this.type(SVG.Color)\r\n } else if (SVG.regex.delimiter.test(value)) {\r\n this.type(SVG.regex.pathLetters.test(value)\r\n ? SVG.PathArray\r\n : SVG.Array\r\n )\r\n } else if (SVG.regex.numberAndUnit.test(value)) {\r\n this.type(SVG.Number)\r\n } else {\r\n this.type(SVG.Morphable.NonMorphable)\r\n }\r\n } else if (SVG.MorphableTypes.indexOf(value.constructor) > -1) {\r\n this.type(value.constructor)\r\n } else if (Array.isArray(value)) {\r\n this.type(SVG.Array)\r\n } else if (type === 'object') {\r\n this.type(SVG.Morphable.ObjectBag)\r\n } else {\r\n this.type(SVG.Morphable.NonMorphable)\r\n }\r\n }\r\n\r\n var result = (new this._type(value)).toArray()\r\n this._morphObj = this._morphObj || new this._type()\r\n this._context = this._context ||\r\n Array.apply(null, Array(result.length)).map(Object)\r\n return result\r\n },\r\n\r\n stepper: function (stepper) {\r\n if (stepper == null) return this._stepper\r\n this._stepper = stepper\r\n return this\r\n },\r\n\r\n done: function () {\r\n var complete = this._context\r\n .map(this._stepper.done)\r\n .reduce(function (last, curr) {\r\n return last && curr\r\n }, true)\r\n return complete\r\n },\r\n\r\n at: function (pos) {\r\n var _this = this\r\n\r\n return this._morphObj.fromArray(\r\n this._from.map(function (i, index) {\r\n return _this._stepper.step(i, _this._to[index], pos, _this._context[index], _this._context)\r\n })\r\n )\r\n }\r\n }\r\n})\r\n\r\nSVG.Morphable.NonMorphable = SVG.invent({\r\n create: function (val) {\r\n val = Array.isArray(val) ? val[0] : val\r\n this.value = val\r\n },\r\n\r\n extend: {\r\n valueOf: function () {\r\n return this.value\r\n },\r\n\r\n toArray: function () {\r\n return [this.value]\r\n }\r\n }\r\n})\r\n\r\nSVG.Morphable.TransformBag = SVG.invent({\r\n create: function (obj) {\r\n if (Array.isArray(obj)) {\r\n obj = {\r\n scaleX: obj[0],\r\n scaleY: obj[1],\r\n shear: obj[2],\r\n rotate: obj[3],\r\n translateX: obj[4],\r\n translateY: obj[5],\r\n originX: obj[6],\r\n originY: obj[7]\r\n }\r\n }\r\n\r\n Object.assign(this, SVG.Morphable.TransformBag.defaults, obj)\r\n },\r\n\r\n extend: {\r\n toArray: function () {\r\n var v = this\r\n\r\n return [\r\n v.scaleX,\r\n v.scaleY,\r\n v.shear,\r\n v.rotate,\r\n v.translateX,\r\n v.translateY,\r\n v.originX,\r\n v.originY\r\n ]\r\n }\r\n }\r\n})\r\n\r\nSVG.Morphable.TransformBag.defaults = {\r\n scaleX: 1,\r\n scaleY: 1,\r\n shear: 0,\r\n rotate: 0,\r\n translateX: 0,\r\n translateY: 0,\r\n originX: 0,\r\n originY: 0\r\n}\r\n\r\nSVG.Morphable.ObjectBag = SVG.invent({\r\n create: function (objOrArr) {\r\n this.values = []\r\n\r\n if (Array.isArray(objOrArr)) {\r\n this.values = objOrArr\r\n return\r\n }\r\n\r\n var entries = Object.entries(objOrArr || {}).sort((a, b) => {\r\n return a[0] - b[0]\r\n })\r\n\r\n this.values = entries.reduce((last, curr) => last.concat(curr), [])\r\n },\r\n\r\n extend: {\r\n valueOf: function () {\r\n var obj = {}\r\n var arr = this.values\r\n\r\n for (var i = 0, len = arr.length; i < len; i += 2) {\r\n obj[arr[i]] = arr[i + 1]\r\n }\r\n\r\n return obj\r\n },\r\n\r\n toArray: function () {\r\n return this.values\r\n }\r\n }\r\n})\r\n\r\nSVG.MorphableTypes = [\r\n SVG.Number,\r\n SVG.Color,\r\n SVG.Box,\r\n SVG.Matrix,\r\n SVG.Array,\r\n SVG.PointArray,\r\n SVG.PathArray,\r\n SVG.Morphable.NonMorphable,\r\n SVG.Morphable.TransformBag,\r\n SVG.Morphable.ObjectBag\r\n]\r\n\r\nSVG.extend(SVG.MorphableTypes, {\r\n to: function (val, args) {\r\n return new SVG.Morphable()\r\n .type(this.constructor)\r\n .from(this.valueOf())\r\n .to(val, args)\r\n },\r\n fromArray: function (arr) {\r\n this.constructor(arr)\r\n return this\r\n }\r\n})\r\n","/* global isMatrixLike getOrigin */\r\n\r\nSVG.easing = {\r\n '-': function (pos) { return pos },\r\n '<>': function (pos) { return -Math.cos(pos * Math.PI) / 2 + 0.5 },\r\n '>': function (pos) { return Math.sin(pos * Math.PI / 2) },\r\n '<': function (pos) { return -Math.cos(pos * Math.PI / 2) + 1 }\r\n}\r\n\r\nSVG.Runner = SVG.invent({\r\n parent: SVG.Element,\r\n\r\n create: function (options) {\r\n // Store a unique id on the runner, so that we can identify it later\r\n this.id = SVG.Runner.id++\r\n\r\n // Ensure a default value\r\n options = options == null\r\n ? SVG.defaults.timeline.duration\r\n : options\r\n\r\n // Ensure that we get a controller\r\n options = typeof options === 'function'\r\n ? new SVG.Controller(options)\r\n : options\r\n\r\n // Declare all of the variables\r\n this._element = null\r\n this._timeline = null\r\n this.done = false\r\n this._queue = []\r\n\r\n // Work out the stepper and the duration\r\n this._duration = typeof options === 'number' && options\r\n this._isDeclarative = options instanceof SVG.Controller\r\n this._stepper = this._isDeclarative ? options : new SVG.Ease()\r\n\r\n // We copy the current values from the timeline because they can change\r\n this._history = {}\r\n\r\n // Store the state of the runner\r\n this.enabled = true\r\n this._time = 0\r\n this._last = 0\r\n this.tags = {}\r\n\r\n // Save transforms applied to this runner\r\n this.transforms = new SVG.Matrix()\r\n this.transformId = 1\r\n\r\n // Looping variables\r\n this._haveReversed = false\r\n this._reverse = false\r\n this._loopsDone = 0\r\n this._swing = false\r\n this._wait = 0\r\n this._times = 1\r\n },\r\n\r\n construct: {\r\n\r\n animate: function (duration, delay, when) {\r\n var o = SVG.Runner.sanitise(duration, delay, when)\r\n var timeline = this.timeline()\r\n return new SVG.Runner(o.duration)\r\n .loop(o)\r\n .element(this)\r\n .timeline(timeline)\r\n .schedule(delay, when)\r\n },\r\n\r\n delay: function (by, when) {\r\n return this.animate(0, by, when)\r\n }\r\n },\r\n\r\n extend: {\r\n\r\n /*\r\n Runner Definitions\r\n ==================\r\n These methods help us define the runtime behaviour of the Runner or they\r\n help us make new runners from the current runner\r\n */\r\n\r\n element: function (element) {\r\n if (element == null) return this._element\r\n this._element = element\r\n element._prepareRunner()\r\n return this\r\n },\r\n\r\n timeline: function (timeline) {\r\n // check explicitly for undefined so we can set the timeline to null\r\n if (typeof timeline === 'undefined') return this._timeline\r\n this._timeline = timeline\r\n return this\r\n },\r\n\r\n animate: function (duration, delay, when) {\r\n var o = SVG.Runner.sanitise(duration, delay, when)\r\n var runner = new SVG.Runner(o.duration)\r\n if (this._timeline) runner.timeline(this._timeline)\r\n if (this._element) runner.element(this._element)\r\n return runner.loop(o).schedule(delay, when)\r\n },\r\n\r\n schedule: function (timeline, delay, when) {\r\n // The user doesn't need to pass a timeline if we already have one\r\n if (!(timeline instanceof SVG.Timeline)) {\r\n when = delay\r\n delay = timeline\r\n timeline = this.timeline()\r\n }\r\n\r\n // If there is no timeline, yell at the user...\r\n if (!timeline) {\r\n throw Error('Runner cannot be scheduled without timeline')\r\n }\r\n\r\n // Schedule the runner on the timeline provided\r\n timeline.schedule(this, delay, when)\r\n return this\r\n },\r\n\r\n unschedule: function () {\r\n var timeline = this.timeline()\r\n timeline && timeline.unschedule(this)\r\n return this\r\n },\r\n\r\n loop: function (times, swing, wait) {\r\n // Deal with the user passing in an object\r\n if (typeof times === 'object') {\r\n swing = times.swing\r\n wait = times.wait\r\n times = times.times\r\n }\r\n\r\n // Sanitise the values and store them\r\n this._times = times || Infinity\r\n this._swing = swing || false\r\n this._wait = wait || 0\r\n return this\r\n },\r\n\r\n delay: function (delay) {\r\n return this.animate(0, delay)\r\n },\r\n\r\n /*\r\n Basic Functionality\r\n ===================\r\n These methods allow us to attach basic functions to the runner directly\r\n */\r\n\r\n queue: function (initFn, runFn, isTransform) {\r\n this._queue.push({\r\n initialiser: initFn || SVG.void,\r\n runner: runFn || SVG.void,\r\n isTransform: isTransform,\r\n initialised: false,\r\n finished: false\r\n })\r\n var timeline = this.timeline()\r\n timeline && this.timeline()._continue()\r\n return this\r\n },\r\n\r\n during: function (fn) {\r\n return this.queue(null, fn)\r\n },\r\n\r\n after (fn) {\r\n return this.on('finish', fn)\r\n },\r\n\r\n /*\r\n Runner animation methods\r\n ========================\r\n Control how the animation plays\r\n */\r\n\r\n time: function (time) {\r\n if (time == null) {\r\n return this._time\r\n }\r\n let dt = time - this._time\r\n this.step(dt)\r\n return this\r\n },\r\n\r\n duration: function () {\r\n return this._times * (this._wait + this._duration) - this._wait\r\n },\r\n\r\n loops: function (p) {\r\n var loopDuration = this._duration + this._wait\r\n if (p == null) {\r\n var loopsDone = Math.floor(this._time / loopDuration)\r\n var relativeTime = (this._time - loopsDone * loopDuration)\r\n var position = relativeTime / this._duration\r\n return Math.min(loopsDone + position, this._times)\r\n }\r\n var whole = Math.floor(p)\r\n var partial = p % 1\r\n var time = loopDuration * whole + this._duration * partial\r\n return this.time(time)\r\n },\r\n\r\n position: function (p) {\r\n // Get all of the variables we need\r\n var x = this._time\r\n var d = this._duration\r\n var w = this._wait\r\n var t = this._times\r\n var s = this._swing\r\n var r = this._reverse\r\n var position\r\n\r\n if (p == null) {\r\n /*\r\n This function converts a time to a position in the range [0, 1]\r\n The full explanation can be found in this desmos demonstration\r\n https://www.desmos.com/calculator/u4fbavgche\r\n The logic is slightly simplified here because we can use booleans\r\n */\r\n\r\n // Figure out the value without thinking about the start or end time\r\n const f = function (x) {\r\n var swinging = s * Math.floor(x % (2 * (w + d)) / (w + d))\r\n var backwards = (swinging && !r) || (!swinging && r)\r\n var uncliped = Math.pow(-1, backwards) * (x % (w + d)) / d + backwards\r\n var clipped = Math.max(Math.min(uncliped, 1), 0)\r\n return clipped\r\n }\r\n\r\n // Figure out the value by incorporating the start time\r\n var endTime = t * (w + d) - w\r\n position = x <= 0 ? Math.round(f(1e-5))\r\n : x < endTime ? f(x)\r\n : Math.round(f(endTime - 1e-5))\r\n return position\r\n }\r\n\r\n // Work out the loops done and add the position to the loops done\r\n var loopsDone = Math.floor(this.loops())\r\n var swingForward = s && (loopsDone % 2 === 0)\r\n var forwards = (swingForward && !r) || (r && swingForward)\r\n position = loopsDone + (forwards ? p : 1 - p)\r\n return this.loops(position)\r\n },\r\n\r\n progress: function (p) {\r\n if (p == null) {\r\n return Math.min(1, this._time / this.duration())\r\n }\r\n return this.time(p * this.duration())\r\n },\r\n\r\n step: function (dt) {\r\n // If we are inactive, this stepper just gets skipped\r\n if (!this.enabled) return this\r\n\r\n // Update the time and get the new position\r\n dt = dt == null ? 16 : dt\r\n this._time += dt\r\n var position = this.position()\r\n\r\n // Figure out if we need to run the stepper in this frame\r\n var running = this._lastPosition !== position && this._time >= 0\r\n this._lastPosition = position\r\n\r\n // Figure out if we just started\r\n var duration = this.duration()\r\n var justStarted = this._lastTime < 0 && this._time > 0\r\n var justFinished = this._lastTime < this._time && this.time > duration\r\n this._lastTime = this._time\r\n if (justStarted) {\r\n // this.fire('start', this)\r\n }\r\n\r\n // Work out if the runner is finished set the done flag here so animations\r\n // know, that they are running in the last step (this is good for\r\n // transformations which can be merged)\r\n var declarative = this._isDeclarative\r\n this.done = !declarative && !justFinished && this._time >= duration\r\n\r\n // Call initialise and the run function\r\n if (running || declarative) {\r\n this._initialise(running)\r\n\r\n // clear the transforms on this runner so they dont get added again and again\r\n this.transforms = new SVG.Matrix()\r\n var converged = this._run(declarative ? dt : position)\r\n // this.fire('step', this)\r\n }\r\n // correct the done flag here\r\n // declaritive animations itself know when they converged\r\n this.done = this.done || (converged && declarative)\r\n // if (this.done) {\r\n // this.fire('finish', this)\r\n // }\r\n return this\r\n },\r\n\r\n finish: function () {\r\n return this.step(Infinity)\r\n },\r\n\r\n reverse: function (reverse) {\r\n this._reverse = reverse == null ? !this._reverse : reverse\r\n return this\r\n },\r\n\r\n ease: function (fn) {\r\n this._stepper = new SVG.Ease(fn)\r\n return this\r\n },\r\n\r\n active: function (enabled) {\r\n if (enabled == null) return this.enabled\r\n this.enabled = enabled\r\n return this\r\n },\r\n\r\n /*\r\n Runner Management\r\n =================\r\n Functions that are used to help index the runner\r\n */\r\n\r\n tag: function (name) {\r\n // Act as a getter to get all of the tags on this object\r\n if (name == null) return Object.keys(this.tags)\r\n\r\n // Add all of the tags to the object directly\r\n name = Array.isArray(name) ? name : [name]\r\n for (var i = name.length; i--;) {\r\n this.tags[name[i]] = true\r\n }\r\n return this\r\n },\r\n\r\n untag: function (name) {\r\n name = Array.isArray(name) ? name : [name]\r\n for (var i = name.length; i--;) {\r\n delete this.tags[name[i]]\r\n }\r\n return this\r\n },\r\n\r\n getEventTarget: function () {\r\n return this._dispatcher\r\n },\r\n\r\n /*\r\n Private Methods\r\n ===============\r\n Methods that shouldn't be used externally\r\n */\r\n\r\n // Save a morpher to the morpher list so that we can retarget it later\r\n _rememberMorpher: function (method, morpher) {\r\n this._history[method] = {\r\n morpher: morpher,\r\n caller: this._queue[this._queue.length - 1]\r\n }\r\n },\r\n\r\n // Try to set the target for a morpher if the morpher exists, otherwise\r\n // do nothing and return false\r\n _tryRetarget: function (method, target) {\r\n if (this._history[method]) {\r\n // if the last method wasnt even initialised, throw it away\r\n if (!this._history[method].caller.initialised) {\r\n let index = this._queue.indexOf(this._history[method].caller)\r\n this._queue.splice(index, 1)\r\n return false\r\n }\r\n\r\n // for the case of transformations, we use the special retarget function\r\n // which has access to the outer scope\r\n if (this._history[method].caller.isTransform) {\r\n this._history[method].caller.isTransform(target)\r\n // for everything else a simple morpher change is sufficient\r\n } else {\r\n this._history[method].morpher.to(target)\r\n }\r\n\r\n this._history[method].caller.finished = false\r\n var timeline = this.timeline()\r\n timeline && timeline._continue()\r\n return true\r\n }\r\n return false\r\n },\r\n\r\n // Run each initialise function in the runner if required\r\n _initialise: function (running) {\r\n // If we aren't running, we shouldn't initialise when not declarative\r\n if (!running && !this._isDeclarative) return\r\n\r\n // Loop through all of the initialisers\r\n for (var i = 0, len = this._queue.length; i < len; ++i) {\r\n // Get the current initialiser\r\n var current = this._queue[i]\r\n\r\n // Determine whether we need to initialise\r\n var needsIt = this._isDeclarative || (!current.initialised && running)\r\n running = !current.finished\r\n\r\n // Call the initialiser if we need to\r\n if (needsIt && running) {\r\n current.initialiser.call(this)\r\n current.initialised = true\r\n }\r\n }\r\n },\r\n\r\n // Run each run function for the position or dt given\r\n _run: function (positionOrDt) {\r\n // Run all of the _queue directly\r\n var allfinished = true\r\n for (var i = 0, len = this._queue.length; i < len; ++i) {\r\n // Get the current function to run\r\n var current = this._queue[i]\r\n\r\n // Run the function if its not finished, we keep track of the finished\r\n // flag for the sake of declarative _queue\r\n var converged = current.runner.call(this, positionOrDt)\r\n current.finished = current.finished || (converged === true)\r\n allfinished = allfinished && current.finished\r\n }\r\n\r\n // We report when all of the constructors are finished\r\n return allfinished\r\n },\r\n\r\n addTransform: function (transform, index) {\r\n this.transforms.lmultiplyO(transform)\r\n return this\r\n },\r\n\r\n clearTransform: function () {\r\n this.transforms = new SVG.Matrix()\r\n return this\r\n }\r\n }\r\n})\r\n\r\nSVG.Runner.id = 0\r\n\r\nSVG.Runner.sanitise = function (duration, delay, when) {\r\n // Initialise the default parameters\r\n var times = 1\r\n var swing = false\r\n var wait = 0\r\n duration = duration || SVG.defaults.timeline.duration\r\n delay = delay || SVG.defaults.timeline.delay\r\n when = when || 'last'\r\n\r\n // If we have an object, unpack the values\r\n if (typeof duration === 'object' && !(duration instanceof SVG.Stepper)) {\r\n delay = duration.delay || delay\r\n when = duration.when || when\r\n swing = duration.swing || swing\r\n times = duration.times || times\r\n wait = duration.wait || wait\r\n duration = duration.duration || SVG.defaults.timeline.duration\r\n }\r\n\r\n return {\r\n duration: duration,\r\n delay: delay,\r\n swing: swing,\r\n times: times,\r\n wait: wait,\r\n when: when\r\n }\r\n}\r\n\r\nSVG.FakeRunner = class {\r\n constructor (transforms = new SVG.Matrix(), id = -1, done = true) {\r\n this.transforms = transforms\r\n this.id = id\r\n this.done = done\r\n }\r\n}\r\n\r\nSVG.extend([SVG.Runner, SVG.FakeRunner], {\r\n mergeWith (runner) {\r\n return new SVG.FakeRunner(\r\n runner.transforms.lmultiply(this.transforms),\r\n runner.id\r\n )\r\n }\r\n})\r\n\r\n// SVG.FakeRunner.emptyRunner = new SVG.FakeRunner()\r\n\r\nconst lmultiply = (last, curr) => last.lmultiplyO(curr)\r\nconst getRunnerTransform = (runner) => runner.transforms\r\n\r\nfunction mergeTransforms () {\r\n // Find the matrix to apply to the element and apply it\r\n let runners = this._transformationRunners.runners\r\n let netTransform = runners\r\n .map(getRunnerTransform)\r\n .reduce(lmultiply, new SVG.Matrix())\r\n\r\n this.transform(netTransform)\r\n\r\n this._transformationRunners.merge()\r\n\r\n if (this._transformationRunners.length() === 1) {\r\n this._frameId = null\r\n }\r\n}\r\n\r\nclass RunnerArray {\r\n constructor () {\r\n this.runners = []\r\n this.ids = []\r\n }\r\n\r\n add (runner) {\r\n if (this.runners.includes(runner)) return\r\n\r\n let id = runner.id + 1\r\n\r\n let leftSibling = this.ids.reduce((last, curr) => {\r\n if (curr > last && curr < id) return curr\r\n return last\r\n }, 0)\r\n\r\n let index = this.ids.indexOf(leftSibling) + 1\r\n\r\n this.ids.splice(index, 0, id)\r\n this.runners.splice(index, 0, runner)\r\n\r\n return this\r\n }\r\n\r\n getByID (id) {\r\n return this.runners[this.ids.indexOf(id + 1)]\r\n }\r\n\r\n remove (id) {\r\n let index = this.ids.indexOf(id + 1)\r\n this.ids.splice(index, 1)\r\n this.runners.splice(index, 1)\r\n return this\r\n }\r\n\r\n merge () {\r\n let lastRunner = null\r\n this.runners.forEach((runner, i) => {\r\n if (lastRunner && runner.done && lastRunner.done) {\r\n this.remove(runner.id)\r\n this.edit(lastRunner.id, runner.mergeWith(lastRunner))\r\n }\r\n\r\n lastRunner = runner\r\n })\r\n\r\n return this\r\n }\r\n\r\n edit (id, newRunner) {\r\n let index = this.ids.indexOf(id + 1)\r\n this.ids.splice(index, 1, id)\r\n this.runners.splice(index, 1, newRunner)\r\n return this\r\n }\r\n\r\n length () {\r\n return this.ids.length\r\n }\r\n\r\n clearBefore (id) {\r\n let deleteCnt = this.ids.indexOf(id + 1) || 1\r\n this.ids.splice(0, deleteCnt, 0)\r\n this.runners.splice(0, deleteCnt, new SVG.FakeRunner())\r\n return this\r\n }\r\n}\r\n\r\nSVG.extend(SVG.Element, {\r\n // this function searches for all runners on the element and deletes the ones\r\n // which run before the current one. This is because absolute transformations\r\n // overwfrite anything anyway so there is no need to waste time computing\r\n // other runners\r\n _clearTransformRunnersBefore: function (currentRunner) {\r\n this._transformationRunners.clearBefore(currentRunner.id)\r\n },\r\n\r\n _currentTransform (current) {\r\n return this._transformationRunners.runners\r\n // we need the equal sign here to make sure, that also transformations\r\n // on the same runner which execute before the current transformation are\r\n // taken into account\r\n .filter((runner) => runner.id <= current.id)\r\n .map(getRunnerTransform)\r\n .reduce(lmultiply, new SVG.Matrix())\r\n },\r\n\r\n addRunner: function (runner) {\r\n this._transformationRunners.add(runner)\r\n\r\n SVG.Animator.transform_frame(\r\n mergeTransforms.bind(this), this._frameId\r\n )\r\n },\r\n\r\n _prepareRunner: function () {\r\n if (this._frameId == null) {\r\n this._transformationRunners = new RunnerArray()\r\n .add(new SVG.FakeRunner(new SVG.Matrix(this)))\r\n\r\n this._frameId = SVG.Element.frameId++\r\n }\r\n }\r\n})\r\n\r\nSVG.Element.frameId = 0\r\n\r\nSVG.extend(SVG.Runner, {\r\n attr: function (a, v) {\r\n return this.styleAttr('attr', a, v)\r\n },\r\n\r\n // Add animatable styles\r\n css: function (s, v) {\r\n return this.styleAttr('css', s, v)\r\n },\r\n\r\n styleAttr (type, name, val) {\r\n // apply attributes individually\r\n if (typeof name === 'object') {\r\n for (var key in val) {\r\n this.styleAttr(type, key, val[key])\r\n }\r\n }\r\n\r\n var morpher = new SVG.Morphable(this._stepper).to(val)\r\n\r\n this.queue(function () {\r\n morpher = morpher.from(this.element()[type](name))\r\n }, function (pos) {\r\n this.element()[type](name, morpher.at(pos))\r\n return morpher.done()\r\n })\r\n\r\n return this\r\n },\r\n\r\n zoom: function (level, point) {\r\n var morpher = new SVG.Morphable(this._stepper).to(new SVG.Number(level))\r\n\r\n this.queue(function () {\r\n morpher = morpher.from(this.zoom())\r\n }, function (pos) {\r\n this.element().zoom(morpher.at(pos), point)\r\n return morpher.done()\r\n })\r\n\r\n return this\r\n },\r\n\r\n /**\r\n ** absolute transformations\r\n **/\r\n\r\n //\r\n // M v -----|-----(D M v = F v)------|-----> T v\r\n //\r\n // 1. define the final state (T) and decompose it (once)\r\n // t = [tx, ty, the, lam, sy, sx]\r\n // 2. on every frame: pull the current state of all previous transforms\r\n // (M - m can change)\r\n // and then write this as m = [tx0, ty0, the0, lam0, sy0, sx0]\r\n // 3. Find the interpolated matrix F(pos) = m + pos * (t - m)\r\n // - Note F(0) = M\r\n // - Note F(1) = T\r\n // 4. Now you get the delta matrix as a result: D = F * inv(M)\r\n\r\n transform: function (transforms, relative, affine) {\r\n // If we have a declarative function, we should retarget it if possible\r\n relative = transforms.relative || relative\r\n if (this._isDeclarative && !relative && this._tryRetarget('transform', transforms)) {\r\n return this\r\n }\r\n\r\n // Parse the parameters\r\n var isMatrix = isMatrixLike(transforms)\r\n affine = transforms.affine != null\r\n ? transforms.affine\r\n : (affine != null ? affine : !isMatrix)\r\n\r\n // Create a morepher and set its type\r\n const morpher = new SVG.Morphable()\r\n .type(affine ? SVG.Morphable.TransformBag : SVG.Matrix)\r\n .stepper(this._stepper)\r\n\r\n let origin\r\n let element\r\n let current\r\n let currentAngle\r\n let startTransform\r\n\r\n function setup () {\r\n // make sure element and origin is defined\r\n element = element || this.element()\r\n origin = origin || getOrigin(transforms, element)\r\n\r\n startTransform = new SVG.Matrix(relative ? undefined : element)\r\n\r\n // add the runner to the element so it can merge transformations\r\n element.addRunner(this)\r\n\r\n // Deactivate all transforms that have run so far if we are absolute\r\n if (!relative) {\r\n element._clearTransformRunnersBefore(this)\r\n }\r\n }\r\n\r\n function run (pos) {\r\n // clear all other transforms before this in case something is saved\r\n // on this runner. We are absolute. We dont need these!\r\n if (!relative) this.clearTransform()\r\n\r\n let {x, y} = new SVG.Point(origin).transform(element._currentTransform(this))\r\n\r\n let target = new SVG.Matrix({...transforms, origin: [x, y]})\r\n let start = this._isDeclarative && current\r\n ? current\r\n : startTransform\r\n\r\n if (affine) {\r\n target = target.decompose(x, y)\r\n start = start.decompose(x, y)\r\n\r\n // Get the current and target angle as it was set\r\n const rTarget = target.rotate\r\n const rCurrent = start.rotate\r\n\r\n // Figure out the shortest path to rotate directly\r\n const possibilities = [rTarget - 360, rTarget, rTarget + 360]\r\n const distances = possibilities.map(a => Math.abs(a - rCurrent))\r\n const shortest = Math.min(...distances)\r\n const index = distances.indexOf(shortest)\r\n target.rotate = possibilities[index]\r\n }\r\n\r\n if (relative) {\r\n // we have to be careful here not to overwrite the rotation\r\n // with the rotate method of SVG.Matrix\r\n if (!isMatrix) {\r\n target.rotate = transforms.rotate || 0\r\n }\r\n if (this._isDeclarative && currentAngle) {\r\n start.rotate = currentAngle\r\n }\r\n }\r\n\r\n morpher.from(start)\r\n morpher.to(target)\r\n\r\n let affineParameters = morpher.at(pos)\r\n currentAngle = affineParameters.rotate\r\n current = new SVG.Matrix(affineParameters)\r\n\r\n this.addTransform(current)\r\n return morpher.done()\r\n }\r\n\r\n function retarget (newTransforms) {\r\n // only get a new origin if it changed since the last call\r\n if (\r\n (newTransforms.origin || 'center').toString() !==\r\n (transforms.origin || 'center').toString()\r\n ) {\r\n origin = getOrigin(transforms, element)\r\n }\r\n\r\n // overwrite the old transformations with the new ones\r\n transforms = {...newTransforms, origin}\r\n }\r\n\r\n this.queue(setup, run, retarget)\r\n this._isDeclarative && this._rememberMorpher('transform', morpher)\r\n return this\r\n },\r\n\r\n // Animatable x-axis\r\n x: function (x, relative) {\r\n return this._queueNumber('x', x)\r\n },\r\n\r\n // Animatable y-axis\r\n y: function (y) {\r\n return this._queueNumber('y', y)\r\n },\r\n\r\n dx: function (x) {\r\n return this._queueNumberDelta('dx', x)\r\n },\r\n\r\n dy: function (y) {\r\n return this._queueNumberDelta('dy', y)\r\n },\r\n\r\n _queueNumberDelta: function (method, to) {\r\n to = new SVG.Number(to)\r\n\r\n // Try to change the target if we have this method already registerd\r\n if (this._tryRetargetDelta(method, to)) return this\r\n\r\n // Make a morpher and queue the animation\r\n var morpher = new SVG.Morphable(this._stepper).to(to)\r\n this.queue(function () {\r\n var from = this.element()[method]()\r\n morpher.from(from)\r\n morpher.to(from + to)\r\n }, function (pos) {\r\n this.element()[method](morpher.at(pos))\r\n return morpher.done()\r\n })\r\n\r\n // Register the morpher so that if it is changed again, we can retarget it\r\n this._rememberMorpher(method, morpher)\r\n return this\r\n },\r\n\r\n _queueObject: function (method, to) {\r\n // Try to change the target if we have this method already registerd\r\n if (this._tryRetarget(method, to)) return this\r\n\r\n // Make a morpher and queue the animation\r\n var morpher = new SVG.Morphable(this._stepper).to(to)\r\n this.queue(function () {\r\n morpher.from(this.element()[method]())\r\n }, function (pos) {\r\n this.element()[method](morpher.at(pos))\r\n return morpher.done()\r\n })\r\n\r\n // Register the morpher so that if it is changed again, we can retarget it\r\n this._rememberMorpher(method, morpher)\r\n return this\r\n },\r\n\r\n _queueNumber: function (method, value) {\r\n return this._queueObject(method, new SVG.Number(value))\r\n },\r\n\r\n // Animatable center x-axis\r\n cx: function (x) {\r\n return this._queueNumber('cx', x)\r\n },\r\n\r\n // Animatable center y-axis\r\n cy: function (y) {\r\n return this._queueNumber('cy', y)\r\n },\r\n\r\n // Add animatable move\r\n move: function (x, y) {\r\n return this.x(x).y(y)\r\n },\r\n\r\n // Add animatable center\r\n center: function (x, y) {\r\n return this.cx(x).cy(y)\r\n },\r\n\r\n // Add animatable size\r\n size: function (width, height) {\r\n // animate bbox based size for all other elements\r\n var box\r\n\r\n if (!width || !height) {\r\n box = this._element.bbox()\r\n }\r\n\r\n if (!width) {\r\n width = box.width / box.height * height\r\n }\r\n\r\n if (!height) {\r\n height = box.height / box.width * width\r\n }\r\n\r\n return this\r\n .width(width)\r\n .height(height)\r\n },\r\n\r\n // Add animatable width\r\n width: function (width) {\r\n return this._queueNumber('width', width)\r\n },\r\n\r\n // Add animatable height\r\n height: function (height) {\r\n return this._queueNumber('height', height)\r\n },\r\n\r\n // Add animatable plot\r\n plot: function (a, b, c, d) {\r\n // Lines can be plotted with 4 arguments\r\n if (arguments.length === 4) {\r\n return this.plot([a, b, c, d])\r\n }\r\n\r\n // FIXME: this needs to be rewritten such that the element is only accesed\r\n // in the init function\r\n return this._queueObject('plot', new this._element.MorphArray(a))\r\n\r\n /*\r\n var morpher = this._element.morphArray().to(a)\r\n\r\n this.queue(function () {\r\n morpher.from(this._element.array())\r\n }, function (pos) {\r\n this._element.plot(morpher.at(pos))\r\n })\r\n\r\n return this\r\n */\r\n },\r\n\r\n // Add leading method\r\n leading: function (value) {\r\n return this._queueNumber('leading', value)\r\n },\r\n\r\n // Add animatable viewbox\r\n viewbox: function (x, y, width, height) {\r\n return this._queueObject('viewbox', new SVG.Box(x, y, width, height))\r\n },\r\n\r\n update: function (o) {\r\n if (typeof o !== 'object') {\r\n return this.update({\r\n offset: arguments[0],\r\n color: arguments[1],\r\n opacity: arguments[2]\r\n })\r\n }\r\n\r\n if (o.opacity != null) this.attr('stop-opacity', o.opacity)\r\n if (o.color != null) this.attr('stop-color', o.color)\r\n if (o.offset != null) this.attr('offset', o.offset)\r\n\r\n return this\r\n }\r\n})\r\n","\r\n// Must Change ....\r\nSVG.easing = {\r\n '-': function (pos) { return pos },\r\n '<>': function (pos) { return -Math.cos(pos * Math.PI) / 2 + 0.5 },\r\n '>': function (pos) { return Math.sin(pos * Math.PI / 2) },\r\n '<': function (pos) { return -Math.cos(pos * Math.PI / 2) + 1 }\r\n}\r\n\r\nvar time = window.performance || Date\r\n\r\nvar makeSchedule = function (runnerInfo) {\r\n var start = runnerInfo.start\r\n var duration = runnerInfo.runner.duration()\r\n var end = start + duration\r\n return {start: start, duration: duration, end: end, runner: runnerInfo.runner}\r\n}\r\n\r\nSVG.Timeline = SVG.invent({\r\n inherit: SVG.EventTarget,\r\n\r\n // Construct a new timeline on the given element\r\n create: function () {\r\n this._timeSource = function () {\r\n return time.now()\r\n }\r\n\r\n this._dispatcher = document.createElement('div')\r\n\r\n // Store the timing variables\r\n this._startTime = 0\r\n this._speed = 1.0\r\n\r\n // Play control variables control how the animation proceeds\r\n this._reverse = false\r\n this._persist = 0\r\n\r\n // Keep track of the running animations and their starting parameters\r\n this._nextFrame = null\r\n this._paused = false\r\n this._runners = []\r\n this._order = []\r\n this._time = 0\r\n this._lastSourceTime = 0\r\n this._lastStepTime = 0\r\n },\r\n\r\n extend: {\r\n\r\n getEventTarget () {\r\n return this._dispatcher\r\n },\r\n\r\n /**\r\n *\r\n */\r\n\r\n // schedules a runner on the timeline\r\n schedule (runner, delay, when) {\r\n if (runner == null) {\r\n return this._runners.map(makeSchedule).sort(function (a, b) {\r\n return (a.start - b.start) || (a.duration - b.duration)\r\n })\r\n }\r\n\r\n if (!this.active()) {\r\n this._step()\r\n if (when == null) {\r\n when = 'now'\r\n }\r\n }\r\n\r\n // The start time for the next animation can either be given explicitly,\r\n // derived from the current timeline time or it can be relative to the\r\n // last start time to chain animations direclty\r\n var absoluteStartTime = 0\r\n delay = delay || 0\r\n\r\n // Work out when to start the animation\r\n if (when == null || when === 'last' || when === 'after') {\r\n // Take the last time and increment\r\n absoluteStartTime = this._startTime\r\n } else if (when === 'absolute' || when === 'start') {\r\n absoluteStartTime = delay\r\n delay = 0\r\n } else if (when === 'now') {\r\n absoluteStartTime = this._time\r\n } else if (when === 'relative') {\r\n let runnerInfo = this._runners[runner.id]\r\n if (runnerInfo) {\r\n absoluteStartTime = runnerInfo.start + delay\r\n delay = 0\r\n }\r\n } else {\r\n throw new Error('Invalid value for the \"when\" parameter')\r\n }\r\n\r\n // Manage runner\r\n runner.unschedule()\r\n runner.timeline(this)\r\n runner.time(-delay)\r\n\r\n // Save startTime for next runner\r\n this._startTime = absoluteStartTime + runner.duration() + delay\r\n\r\n // Save runnerInfo\r\n this._runners[runner.id] = {\r\n persist: this.persist(),\r\n runner: runner,\r\n start: absoluteStartTime\r\n }\r\n\r\n // Save order and continue\r\n this._order.push(runner.id)\r\n this._continue()\r\n return this\r\n },\r\n\r\n // Remove the runner from this timeline\r\n unschedule (runner) {\r\n var index = this._order.indexOf(runner.id)\r\n if (index < 0) return this\r\n\r\n delete this._runners[runner.id]\r\n this._order.splice(index, 1)\r\n runner.timeline(null)\r\n return this\r\n },\r\n\r\n play () {\r\n // Now make sure we are not paused and continue the animation\r\n this._paused = false\r\n return this._continue()\r\n },\r\n\r\n pause () {\r\n // Cancel the next animation frame and pause\r\n this._nextFrame = null\r\n this._paused = true\r\n return this\r\n },\r\n\r\n stop () {\r\n // Cancel the next animation frame and go to start\r\n this.seek(-this._time)\r\n return this.pause()\r\n },\r\n\r\n finish () {\r\n this.seek(Infinity)\r\n return this.pause()\r\n },\r\n\r\n speed (speed) {\r\n if (speed == null) return this._speed\r\n this._speed = speed\r\n return this\r\n },\r\n\r\n reverse (yes) {\r\n var currentSpeed = this.speed()\r\n if (yes == null) return this.speed(-currentSpeed)\r\n\r\n var positive = Math.abs(currentSpeed)\r\n return this.speed(yes ? positive : -positive)\r\n },\r\n\r\n seek (dt) {\r\n this._time += dt\r\n return this._continue()\r\n },\r\n\r\n time (time) {\r\n if (time == null) return this._time\r\n this._time = time\r\n return this\r\n },\r\n\r\n persist (dtOrForever) {\r\n if (dtOrForever == null) return this._persist\r\n this._persist = dtOrForever\r\n return this\r\n },\r\n\r\n source (fn) {\r\n if (fn == null) return this._timeSource\r\n this._timeSource = fn\r\n return this\r\n },\r\n\r\n _step () {\r\n // If the timeline is paused, just do nothing\r\n if (this._paused) return\r\n\r\n // Get the time delta from the last time and update the time\r\n // TODO: Deal with window.blur window.focus to pause animations\r\n var time = this._timeSource()\r\n var dtSource = time - this._lastSourceTime\r\n var dtTime = this._speed * dtSource + (this._time - this._lastStepTime)\r\n this._lastSourceTime = time\r\n\r\n // Update the time\r\n this._time += dtTime\r\n this._lastStepTime = this._time\r\n // this.fire('time', this._time)\r\n\r\n // Run all of the runners directly\r\n var runnersLeft = false\r\n for (var i = 0, len = this._order.length; i < len; i++) {\r\n // Get and run the current runner and ignore it if its inactive\r\n var runnerInfo = this._runners[this._order[i]]\r\n var runner = runnerInfo.runner\r\n let dt = dtTime\r\n\r\n // Make sure that we give the actual difference\r\n // between runner start time and now\r\n let dtToStart = this._time - runnerInfo.start\r\n\r\n // Dont run runner if not started yet\r\n if (dtToStart < 0) {\r\n runnersLeft = true\r\n continue\r\n } else if (dtToStart < dt) {\r\n // Adjust dt to make sure that animation is on point\r\n dt = dtToStart\r\n }\r\n\r\n if (!runner.active()) continue\r\n\r\n // If this runner is still going, signal that we need another animation\r\n // frame, otherwise, remove the completed runner\r\n var finished = runner.step(dt).done\r\n if (!finished) {\r\n runnersLeft = true\r\n // continue\r\n } else if (runnerInfo.persist !== true) {\r\n // runner is finished. And runner might get removed\r\n\r\n // TODO: Figure out end time of runner\r\n var endTime = runner.duration() - runner.time() + this._time\r\n\r\n if (endTime + this._persist < this._time) {\r\n // Delete runner and correct index\r\n delete this._runners[this._order[i]]\r\n this._order.splice(i--, 1) && --len\r\n runner.timeline(null)\r\n }\r\n }\r\n }\r\n\r\n // Get the next animation frame to keep the simulation going\r\n if (runnersLeft) {\r\n this._nextFrame = SVG.Animator.frame(this._step.bind(this))\r\n } else {\r\n this._nextFrame = null\r\n }\r\n return this\r\n },\r\n\r\n // Checks if we are running and continues the animation\r\n _continue () {\r\n if (this._paused) return this\r\n if (!this._nextFrame) {\r\n this._nextFrame = SVG.Animator.frame(this._step.bind(this))\r\n }\r\n return this\r\n },\r\n\r\n active () {\r\n return !!this._nextFrame\r\n }\r\n },\r\n\r\n // These methods will be added to all SVG.Element objects\r\n parent: SVG.Element,\r\n construct: {\r\n timeline: function () {\r\n this._timeline = (this._timeline || new SVG.Timeline())\r\n return this._timeline\r\n }\r\n }\r\n})\r\n","\r\n// c = {\r\n// finished: Whether or not we are finished\r\n// }\r\n\r\n/***\r\nBase Class\r\n==========\r\nThe base stepper class that will be\r\n***/\r\n\r\nfunction makeSetterGetter (k, f) {\r\n return function (v) {\r\n if (v == null) return this[v]\r\n this[k] = v\r\n if (f) f.call(this)\r\n return this\r\n }\r\n}\r\n\r\nSVG.Stepper = SVG.invent({\r\n create: function () {}\r\n})\r\n\r\n/***\r\nEasing Functions\r\n================\r\n***/\r\n\r\nSVG.Ease = SVG.invent({\r\n inherit: SVG.Stepper,\r\n\r\n create: function (fn) {\r\n SVG.Stepper.call(this, fn)\r\n\r\n this.ease = SVG.easing[fn || SVG.defaults.timeline.ease] || fn\r\n },\r\n\r\n extend: {\r\n\r\n step: function (from, to, pos) {\r\n if (typeof from !== 'number') {\r\n return pos < 1 ? from : to\r\n }\r\n return from + (to - from) * this.ease(pos)\r\n },\r\n\r\n done: function (dt, c) {\r\n return false\r\n }\r\n }\r\n})\r\n\r\nSVG.easing = {\r\n '-': function (pos) { return pos },\r\n '<>': function (pos) { return -Math.cos(pos * Math.PI) / 2 + 0.5 },\r\n '>': function (pos) { return Math.sin(pos * Math.PI / 2) },\r\n '<': function (pos) { return -Math.cos(pos * Math.PI / 2) + 1 },\r\n bezier: function (t0, x0, t1, x1) {\r\n return function (t) {\r\n // TODO: FINISH\r\n }\r\n }\r\n}\r\n\r\n/***\r\nController Types\r\n================\r\n***/\r\n\r\nSVG.Controller = SVG.invent({\r\n inherit: SVG.Stepper,\r\n\r\n create: function (fn) {\r\n SVG.Stepper.call(this, fn)\r\n this.stepper = fn\r\n },\r\n\r\n extend: {\r\n\r\n step: function (current, target, dt, c) {\r\n return this.stepper(current, target, dt, c)\r\n },\r\n\r\n done: function (c) {\r\n return c.done\r\n }\r\n }\r\n})\r\n\r\nfunction recalculate () {\r\n // Apply the default parameters\r\n var duration = (this._duration || 500) / 1000\r\n var overshoot = this._overshoot || 0\r\n\r\n // Calculate the PID natural response\r\n var eps = 1e-10\r\n var pi = Math.PI\r\n var os = Math.log(overshoot / 100 + eps)\r\n var zeta = -os / Math.sqrt(pi * pi + os * os)\r\n var wn = 3.9 / (zeta * duration)\r\n\r\n // Calculate the Spring values\r\n this.d = 2 * zeta * wn\r\n this.k = wn * wn\r\n}\r\n\r\nSVG.Spring = SVG.invent({\r\n inherit: SVG.Controller,\r\n\r\n create: function (duration, overshoot) {\r\n this.duration(duration || 500)\r\n .overshoot(overshoot || 0)\r\n },\r\n\r\n extend: {\r\n step: function (current, target, dt, c) {\r\n if (typeof current === 'string') return current\r\n c.done = dt === Infinity\r\n if (dt === Infinity) return target\r\n if (dt === 0) return current\r\n\r\n if (dt > 100) dt = 16\r\n\r\n dt /= 1000\r\n\r\n // Get the previous velocity\r\n var velocity = c.velocity || 0\r\n\r\n // Apply the control to get the new position and store it\r\n var acceleration = -this.d * velocity - this.k * (current - target)\r\n var newPosition = current +\r\n velocity * dt +\r\n acceleration * dt * dt / 2\r\n\r\n // Store the velocity\r\n c.velocity = velocity + acceleration * dt\r\n\r\n // Figure out if we have converged, and if so, pass the value\r\n c.done = Math.abs(target - newPosition) + Math.abs(velocity) < 0.002\r\n return c.done ? target : newPosition\r\n },\r\n\r\n duration: makeSetterGetter('_duration', recalculate),\r\n overshoot: makeSetterGetter('_overshoot', recalculate)\r\n }\r\n})\r\n\r\nSVG.PID = SVG.invent({\r\n inherit: SVG.Controller,\r\n\r\n create: function (p, i, d, windup) {\r\n SVG.Controller.call(this)\r\n\r\n p = p == null ? 0.1 : p\r\n i = i == null ? 0.01 : i\r\n d = d == null ? 0 : d\r\n windup = windup == null ? 1000 : windup\r\n this.p(p).i(i).d(d).windup(windup)\r\n },\r\n\r\n extend: {\r\n step: function (current, target, dt, c) {\r\n if (typeof current === 'string') return current\r\n c.done = dt === Infinity\r\n\r\n if (dt === Infinity) return target\r\n if (dt === 0) return current\r\n\r\n var p = target - current\r\n var i = (c.integral || 0) + p * dt\r\n var d = (p - (c.error || 0)) / dt\r\n var windup = this.windup\r\n\r\n // antiwindup\r\n if (windup !== false) {\r\n i = Math.max(-windup, Math.min(i, windup))\r\n }\r\n\r\n c.error = p\r\n c.integral = i\r\n\r\n c.done = Math.abs(p) < 0.001\r\n\r\n return c.done ? target : current + (this.P * p + this.I * i + this.D * d)\r\n },\r\n\r\n windup: makeSetterGetter('windup'),\r\n p: makeSetterGetter('P'),\r\n i: makeSetterGetter('I'),\r\n d: makeSetterGetter('D')\r\n }\r\n})\r\n"]}
\ No newline at end of file
-var SVG=function(){"use strict";function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function a(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function _(r){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},e=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=s[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n(t,e)}function u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function n(t,e){return(n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function h(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?s(t):e}function c(t,e,n){return(c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var i=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=u(t)););return t}(t,e);if(i){var r=Object.getOwnPropertyDescriptor(i,e);return r.get?r.get.call(n):r.value}})(t,e,n||t)}function f(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],i=!0,r=!1,s=void 0;try{for(var u,o=t[Symbol.iterator]();!(i=(u=o.next()).done)&&(n.push(u.value),!e||n.length!==e);i=!0);}catch(t){r=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(r)throw s}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function O(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var d=function(){function e(t){o(this,e)}return a(e,[{key:"is",value:function(t){return this.tags.includes(t)}}]),e}(),v=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,y=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,p=/rgb\((\d+),(\d+),(\d+)\)/,m=/(#[a-z0-9\-_]+)/i,t=/\)\s*,?\s*/,g=/\s/g,w=/^#[a-f0-9]{3,6}$/i,k=/^rgb\(/,b=/^(\s+)?$/,x=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,A=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,C=/[\s,]+/,j=/([^e])-/gi,M=/[MLHVCSQTAZ]/gi,S=/[MLHVCSQTAZ]/i,T=/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,E=/\./g,e=Object.freeze({numberAndUnit:v,hex:y,rgb:p,reference:m,transforms:t,whitespace:g,isHex:w,isRgb:k,isCss:/[^:]+:[^;]+;?/,isBlank:b,isNumber:x,isPercent:/^-?[\d.]+%$/,isImage:A,delimiter:C,hyphen:j,pathLetters:M,isPathLetter:S,numbersWithDots:T,dots:E});function N(t,e,n,i){return n+i.replace(E," .")}function D(t){return t.toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()})}function P(t){return t.charAt(0).toUpperCase()+t.slice(1)}function z(t){var e=t.toString(16);return 1===e.length?"0"+e:e}function R(t,e,n){if(null==e||null==n){var i=t.bbox();null==e?e=i.width/i.height*n:null==n&&(n=i.height/i.width*e)}return{width:e,height:n}}function q(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}var L="abcdef".split("");function F(t,e,n){return Math.abs(e-t)<(n||1e-6)}function I(t){return null!=t.a||null!=t.b||null!=t.c||null!=t.d||null!=t.e||null!=t.f}function X(t,e){var n,i,r=t.origin;if("string"==typeof r||null==r){var s=(r||"center").toLowerCase().trim(),u=e.bbox(),o=u.height,a=u.width,h=u.x,l=u.y,c=s.includes("left")?h:s.includes("right")?h+a:h+a/2,f=s.includes("top")?l:s.includes("bottom")?l+o:l+o/2;n=null!=t.ox?t.ox:c,i=null!=t.oy?t.oy:f}else n=r[0],i=r[1];return[n,i]}var Y="http://www.w3.org/2000/svg",H="http://www.w3.org/2000/xmlns/",G="http://www.w3.org/1999/xlink",V="http://svgjs.com/svgjs",B=Object.freeze({ns:Y,xmlns:H,xlink:G,svgjs:V});function Q(t,e){return e||U(t)}function U(t){return document.createElementNS(Y,t)}function $(t,e){var n,i;for(i=(t=Array.isArray(t)?t:[t]).length-1;0<=i;i--)for(n in e)t[i].prototype[n]=e[n]}var W=Object.freeze({nodeOrNew:Q,makeNode:U,extend:$,addFactory:function(t,e){$(t,e)},invent:function(e){var t="function"==typeof e.create?e.create:function(t){e.inherit.call(this,t||U(e.create))};return e.inherit&&(t.prototype=new e.inherit,t.prototype.constructor=t),e.extend&&$(t,e.extend),e.construct&&$(e.parent||Container,e.construct),t}}),J={},Z=Symbol("root");function K(t){if(t instanceof d)return t;if("object"===l(t))return tt(t);if(null==t)return new J[Z];if("string"==typeof t&&"<"!==t.charAt(0))return tt(document.querySelector(t));var e=U("svg");return e.innerHTML=t,t=tt(e.firstChild)}function tt(t){return t?t.instance instanceof d?t.instance:t instanceof window.SVGElement?"svg"===t.nodeName?new J[Z](t):"linearGradient"===t.nodeName||"radialGradient"===t.nodeName?new J.Gradient(t):J[P(t.nodeName)]?new(J[P(t.nodeName)])(t):new J.Bare(t):new J.HtmlNode(t):null}function et(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t.name,n=2<arguments.length&&void 0!==arguments[2]&&arguments[2];return J[e]=t,n&&(J[Z]=t),t}function nt(t){return J[t]}var it=1e3;function rt(t){return"Svgjs"+P(t)+it++}function st(t){for(var e=t.children.length-1;0<=e;e--)st(t.children[e]);return t.id?tt(t).id(rt(t.nodeName)):tt(t)}var ut=Object.freeze({root:Z,makeInstance:K,adopt:tt,register:et,getClass:nt,eid:rt,assignNewId:st}),ot={};function at(t,e){if(Array.isArray(t)){var n=!0,i=!1,r=void 0;try{for(var s,u=t[Symbol.iterator]();!(n=(s=u.next()).done);n=!0){at(s.value,e)}}catch(t){i=!0,r=t}finally{try{n||null==u.return||u.return()}finally{if(i)throw r}}}else if("object"!=l(t))ot[t]=Object.assign(ot[t]||{},e);else for(var o=Object.entries(t),a=0;a<o.length;a++){var h=f(o[a],2);at(h[0],h[1])}}function ht(t){return ot[t]||{}}var lt=0;function ct(t){var e=K(t).getEventHolder();return e.events||(e.events={}),e.events}function ft(t){return K(t).getEventTarget()}function dt(t,e,i,n,r){var s=i.bind(n||t),u=ct(t),o=ft(t);e=Array.isArray(e)?e:e.split(C),i._svgjsListenerId||(i._svgjsListenerId=++lt),e.forEach(function(t){var e=t.split(".")[0],n=t.split(".")[1]||"*";u[e]=u[e]||{},u[e][n]=u[e][n]||{},u[e][n][i._svgjsListenerId]=s,o.addEventListener(e,s,r||!1)})}function vt(u,t,o,a){var h=ct(u),l=ft(u);("function"!=typeof o||(o=o._svgjsListenerId))&&(t=Array.isArray(t)?t:(t||"").split(C)).forEach(function(t){var e,n,i,r=t&&t.split(".")[0],s=t&&t.split(".")[1];if(o)h[r]&&h[r][s||"*"]&&(l.removeEventListener(r,h[r][s||"*"][o],a||!1),delete h[r][s||"*"][o]);else if(r&&s){if(h[r]&&h[r][s]){for(n in h[r][s])vt(l,[r,s].join("."),n);delete h[r][s]}}else if(s)for(t in h)for(e in h[t])s===e&&vt(l,[t,s].join("."));else if(r){if(h[r]){for(e in h[r])vt(l,[r,e].join("."));delete h[r]}}else{for(t in h)vt(l,t);(i=K(u).getEventHolder()).events&&(i.events={})}})}function yt(t,e,n){var i=ft(t);return e instanceof window.Event||(e=new window.CustomEvent(e,{detail:n,cancelable:!0})),i.dispatchEvent(e),e}var pt=Object.freeze({on:dt,off:vt,dispatch:yt}),mt=function(t){function i(){var t,e=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).events,n=void 0===e?{}:e;return o(this,i),(t=h(this,u(i).call(this))).events=n,t}return r(i,d),a(i,[{key:"addEventListener",value:function(){}},{key:"on",value:function(t,e,n,i){return dt(this,t,e,n,i),this}},{key:"off",value:function(t,e){return vt(this,t,e),this}},{key:"dispatch",value:function(t,e){return yt(this,t,e)}},{key:"dispatchEvent",value:function(t){var e=this.getEventHolder().events;if(!e)return!0;var n=e[t.type];for(var i in n)for(var r in n[i])n[i][r](t);return!t.defaultPrevented}},{key:"fire",value:function(t,e){return this.dispatch(t,e),this}},{key:"getEventHolder",value:function(){return this}},{key:"getEventTarget",value:function(){return this}},{key:"removeEventListener",value:function(){}}]),i}();function gt(t,e){var n,i=t.length,r=[];for(n=0;n<i;n++)r.push(e(t[n]));return r}function wt(t){return t%360*Math.PI/180}$(mt,["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","touchstart","touchmove","touchleave","touchend","touchcancel"].reduce(function(t,e){return t[e]=function(t){return null===t?vt(this,e):dt(this,e,t),this},t},{}));var kt=Object.freeze({map:gt,filter:function(t,e){var n,i=t.length,r=[];for(n=0;n<i;n++)e(t[n])&&r.push(t[n]);return r},radians:wt,degrees:function(t){return 180*t/Math.PI%360},filterSVGElements:function(t){return this.filter(t,function(t){return t instanceof window.SVGElement})}});function bt(){}var xt={duration:400,ease:">",delay:0},_t={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","font-size":16,"font-family":"Helvetica, Arial, sans-serif","text-anchor":"start"},Ot=Object.freeze({noop:bt,timeline:xt,attrs:_t}),At=function(){function t(){o(this,t),this.init.apply(this,arguments)}return a(t,[{key:"init",value:function(t,e,n){var i,r;(this.r=0,this.g=0,this.b=0,t)&&("string"==typeof t?k.test(t)?(i=p.exec(t.replace(g,"")),this.r=parseInt(i[1]),this.g=parseInt(i[2]),this.b=parseInt(i[3])):w.test(t)&&(i=y.exec(4===(r=t).length?["#",r.substring(1,2),r.substring(1,2),r.substring(2,3),r.substring(2,3),r.substring(3,4),r.substring(3,4)].join(""):r),this.r=parseInt(i[1],16),this.g=parseInt(i[2],16),this.b=parseInt(i[3],16)):Array.isArray(t)?(this.r=t[0],this.g=t[1],this.b=t[2]):"object"===l(t)?(this.r=t.r,this.g=t.g,this.b=t.b):3===arguments.length&&(this.r=t,this.g=e,this.b=n))}},{key:"toString",value:function(){return this.toHex()}},{key:"toArray",value:function(){return[this.r,this.g,this.b]}},{key:"toHex",value:function(){return"#"+z(Math.round(this.r))+z(Math.round(this.g))+z(Math.round(this.b))}},{key:"toRgb",value:function(){return"rgb("+[this.r,this.g,this.b].join()+")"}},{key:"brightness",value:function(){return this.r/255*.3+this.g/255*.59+this.b/255*.11}}],[{key:"test",value:function(t){return t+="",w.test(t)||k.test(t)}},{key:"isRgb",value:function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b}},{key:"isColor",value:function(t){return this.isRgb(t)||this.test(t)}}]),t}(),Ct=function(){try{return Function("name","baseClass","_constructor",["baseClass = baseClass || Array","return {","[name]: class extends baseClass {","constructor (...args) {","super(...args)","_constructor && _constructor.apply(this, args)","}","}","}[name]"].join("\n"))}catch(t){return function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:Array,n=2<arguments.length?arguments[2]:void 0,i=function(){e.apply(this,arguments),n&&n.apply(this,arguments)};return(i.prototype=Object.create(e.prototype)).constructor=i}}}(),jt=Ct("SVGArray",Array,function(){this.init.apply(this,arguments)});$(jt,{init:function(){this.length=0,this.push.apply(this,O(this.parse.apply(this,arguments)))},toArray:function(){return Array.prototype.concat.apply([],this)},toString:function(){return this.join(" ")},valueOf:function(){var t=[];return t.push.apply(t,O(this)),t},parse:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];return t instanceof Array?t:t.trim().split(C).map(parseFloat)},clone:function(){return new this.constructor(this)},toSet:function(){return new Set(this)}});var Mt=function(){function n(){o(this,n),this.init.apply(this,arguments)}return a(n,[{key:"init",value:function(t,e){e=Array.isArray(t)?t[1]:e,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(v))&&(this.value=parseFloat(e[1]),"%"===e[5]?this.value/=100:"s"===e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof n&&(this.value=t.valueOf(),this.unit=t.unit)}},{key:"toString",value:function(){return("%"===this.unit?~~(1e8*this.value)/1e6:"s"===this.unit?this.value/1e3:this.value)+this.unit}},{key:"toJSON",value:function(){return this.toString()}},{key:"toArray",value:function(){return[this.value,this.unit]}},{key:"valueOf",value:function(){return this.value}},{key:"plus",value:function(t){return new n(this+(t=new n(t)),this.unit||t.unit)}},{key:"minus",value:function(t){return new n(this-(t=new n(t)),this.unit||t.unit)}},{key:"times",value:function(t){return new n(this*(t=new n(t)),this.unit||t.unit)}},{key:"divide",value:function(t){return new n(this/(t=new n(t)),this.unit||t.unit)}}]),n}();var St=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,t))).node=t,e.type=t.nodeName,e}return r(n,mt),a(n,[{key:"add",value:function(t,e){return t=K(t),null==e?this.node.appendChild(t.node):t.node!==this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this}},{key:"addTo",value:function(t){return K(t).put(this)}},{key:"children",value:function(){return gt(this.node.children,function(t){return tt(t)})}},{key:"clear",value:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,this}},{key:"clone",value:function(t){this.writeDataToDom();var e=st(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e}},{key:"each",value:function(t,e){var n,i,r=this.children();for(n=0,i=r.length;n<i;n++)t.apply(r[n],[n,r]),e&&r[n].each(t,e);return this}},{key:"first",value:function(){return tt(this.node.firstChild)}},{key:"get",value:function(t){return tt(this.node.childNodes[t])}},{key:"getEventHolder",value:function(){return this.node}},{key:"getEventTarget",value:function(){return this.node}},{key:"has",value:function(t){return 0<=this.index(t)}},{key:"id",value:function(t){return void 0!==t||this.node.id||(this.node.id=rt(this.type)),this.attr("id",t)}},{key:"index",value:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)}},{key:"last",value:function(){return tt(this.node.lastChild)}},{key:"matches",value:function(t){return e=this.node,n=t,(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,n);var e,n}},{key:"native",value:function(){return this.node}},{key:"parent",value:function(t){var e=this;if(!e.node.parentNode)return null;if(e=tt(e.node.parentNode),!t)return e;for(;e&&e.node instanceof window.SVGElement;){if("string"==typeof t?e.matches(t):e instanceof t)return e;e=tt(e.node.parentNode)}}},{key:"put",value:function(t,e){return this.add(t,e),t}},{key:"putIn",value:function(t){return K(t).add(this)}},{key:"remove",value:function(){return this.parent()&&this.parent().removeElement(this),this}},{key:"removeElement",value:function(t){return this.node.removeChild(t.node),this}},{key:"replace",value:function(t){return this.after(t).remove(),t}},{key:"toString",value:function(){return this.id()}},{key:"svg",value:function(t){var e,n;if(!t)return this.writeDataToDom(),this.node.outerHTML;for((e=document.createElementNS(Y,"svg")).innerHTML=t,n=e.children.length;n--;)this.node.appendChild(e.firstElementChild);return this}},{key:"writeDataToDom",value:function(){return this.each(function(){this.writeDataToDom()}),this}}]),n}();$(St,{attr:function(t,e,n){if(null==t){t={},e=this.node.attributes;var i=!0,r=!1,s=void 0;try{for(var u,o=e[Symbol.iterator]();!(i=(u=o.next()).done);i=!0){var a=u.value;t[a.nodeName]=x.test(a.nodeValue)?parseFloat(a.nodeValue):a.nodeValue}}catch(t){r=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(r)throw s}}return t}if(Array.isArray(t));else if("object"===l(t))for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?_t[t]:x.test(e)?parseFloat(e):e;for("fill"!==t&&"stroke"!==t||A.test(e)&&(e=this.doc().defs().image(e));"function"==typeof e.attrHook;)e=e.attrHook(this,t);"number"==typeof e?e=new Mt(e):At.isColor(e)?e=new At(e):e.constructor===Array&&(e=new jt(e)),"leading"===t?this.leading&&this.leading(e):"string"==typeof n?this.node.setAttributeNS(n,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!==t&&"x"!==t||this.rebuild()}return this}});var Tt=nt(Z),Et=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,t))).dom={},e.node.instance=s(s(e)),t.hasAttribute("svgjs:data")&&e.setData(JSON.parse(t.getAttribute("svgjs:data"))||{}),e}return r(n,St),a(n,[{key:"center",value:function(t,e){return this.cx(t).cy(e)}},{key:"cx",value:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)}},{key:"cy",value:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)}},{key:"defs",value:function(){return this.doc().defs()}},{key:"doc",value:function(){var t=this.parent(Tt);return t&&t.doc()}},{key:"getEventHolder",value:function(){return this}},{key:"height",value:function(t){return this.attr("height",t)}},{key:"inside",value:function(t,e){var n=this.bbox();return t>n.x&&e>n.y&&t<n.x+n.width&&e<n.y+n.height}},{key:"move",value:function(t,e){return this.x(t).y(e)}},{key:"parents",value:function(t){var e=[],n=this;do{if(!(n=n.parent(t))||n instanceof nt("HtmlNode"))break;e.push(n)}while(n.parent);return e}},{key:"reference",value:function(t){var e=function(t){var e=(t||"").toString().match(m);if(e)return e[1]}(this.attr(t));return e?K(e):null}},{key:"setData",value:function(t){return this.dom=t,this}},{key:"size",value:function(t,e){var n=R(this,t,e);return this.width(new Mt(n.width)).height(new Mt(n.height))}},{key:"width",value:function(t){return this.attr("width",t)}},{key:"writeDataToDom",value:function(){return this.node.removeAttribute("svgjs:data"),Object.keys(this.dom).length&&this.node.setAttribute("svgjs:data",JSON.stringify(this.dom)),c(u(n.prototype),"writeDataToDom",this).call(this)}},{key:"x",value:function(t){return this.attr("x",t)}},{key:"y",value:function(t){return this.attr("y",t)}}]),n}(),Nt=function(t){function e(){return o(this,e),h(this,u(e).apply(this,arguments))}return r(e,Et),e}(),Dt=function(t){function e(){return o(this,e),h(this,u(e).apply(this,arguments))}return r(e,Et),a(e,[{key:"flatten",value:function(t){return this.each(function(){return this instanceof e?this.flatten(t).ungroup(t):this.toParent(t)}),this.node.firstElementChild||this.remove(),this}},{key:"ungroup",value:function(t){return t=t||this.parent(),this.each(function(){return this.toParent(t)}),this.remove(),this}}]),e}(),Pt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,t,e))}return r(e,St),e}();et(Pt);var zt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("defs",t),e))}return r(e,Dt),a(e,[{key:"flatten",value:function(){return this}},{key:"ungroup",value:function(){return this}}]),e}();et(zt);var Rt=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,Q("svg",t),n))).namespace(),e}return r(n,Dt),a(n,[{key:"isRoot",value:function(){return!(this.node.parentNode&&this.node.parentNode instanceof window.SVGElement&&"#document"!==this.node.parentNode.nodeName)}},{key:"doc",value:function(){return this.isRoot()?this:c(u(n.prototype),"doc",this).call(this)}},{key:"namespace",value:function(){return this.isRoot()?this.attr({xmlns:Y,version:"1.1"}).attr("xmlns:xlink",G,H).attr("xmlns:svgjs",V,H):this.doc().namespace()}},{key:"defs",value:function(){return this.isRoot()?tt(this.node.getElementsByTagName("defs")[0])||this.put(new zt):this.doc().defs()}},{key:"parent",value:function(t){return this.isRoot()?"#document"===this.node.parentNode.nodeName?null:tt(this.node.parentNode):c(u(n.prototype),"parent",this).call(this,t)}},{key:"clear",value:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}}]),n}();at({Container:{nested:function(){return this.put(new Rt)}}}),et(Rt,"Doc",!0);var qt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("g",t),e))}return r(e,Dt),e}();at({Element:{group:function(){return this.put(new qt)}}}),et(qt);var Lt=function(){function t(){o(this,t),this._first=null,this._last=null}return a(t,[{key:"push",value:function(t){var e=t.next?t:{value:t,next:null,prev:null};return this._last?(e.prev=this._last,this._last.next=e,this._last=e):(this._last=e,this._first=e),e}},{key:"shift",value:function(){var t=this._first;return t?(this._first=t.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,t.value):null}},{key:"first",value:function(){return this._first&&this._first.value}},{key:"last",value:function(){return this._last&&this._last.value}},{key:"remove",value:function(t){t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t===this._last&&(this._last=t.prev),t===this._first&&(this._first=t.next),t.prev=null,t.next=null}}]),t}(),Ft={nextDraw:null,frames:new Lt,timeouts:new Lt,timer:window.performance||window.Date,transforms:[],frame:function(t){var e=Ft.frames.push({run:t});return null===Ft.nextDraw&&(Ft.nextDraw=window.requestAnimationFrame(Ft._draw)),e},transform_frame:function(t,e){Ft.transforms[e]=t},timeout:function(t,e){e=e||0;var n=Ft.timer.now()+e,i=Ft.timeouts.push({run:t,time:n});return null===Ft.nextDraw&&(Ft.nextDraw=window.requestAnimationFrame(Ft._draw)),i},cancelFrame:function(t){Ft.frames.remove(t)},clearTimeout:function(t){Ft.timeouts.remove(t)},_draw:function(t){for(var e=null,n=Ft.timeouts.last();(e=Ft.timeouts.shift())&&(t>=e.time?e.run():Ft.timeouts.push(e),e!==n););for(var i=null,r=Ft.frames.last();i!==r&&(i=Ft.frames.shift());)i.run();Ft.transforms.forEach(function(t){t()}),Ft.nextDraw=Ft.timeouts.first()||Ft.frames.first()?window.requestAnimationFrame(Ft._draw):null}},It=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q(t,"string"==typeof t?null:t),e))}return r(e,Dt),a(e,[{key:"words",value:function(t){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this.node.appendChild(document.createTextNode(t)),this}}]),e}();function Xt(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())}function Yt(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())}function Ht(t){return null==t?this.attr("cx"):this.attr("cx",t)}function Gt(t){return null==t?this.attr("cy"):this.attr("cy",t)}function Vt(t){return null==t?2*this.rx():this.rx(new Mt(t).divide(2))}function Bt(t){return null==t?2*this.ry():this.ry(new Mt(t).divide(2))}function Qt(t,e){var n=R(this,t,e);return this.rx(new Mt(n.width).divide(2)).ry(new Mt(n.height).divide(2))}et(It),at("Container",{element:function(t,e){return this.put(new It(t,e))}});var Ut=Object.freeze({rx:function(t){return this.attr("rx",t)},ry:function(t){return this.attr("ry",t)},x:Xt,y:Yt,cx:Ht,cy:Gt,width:Vt,height:Bt,size:Qt}),$t=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("circle",t),e))}return r(e,Nt),a(e,[{key:"radius",value:function(t){return this.attr("r",t)}},{key:"rx",value:function(t){return this.attr("r",t)}},{key:"ry",value:function(t){return this.rx(t)}}]),e}();function Wt(t,e){return gt((e||document).querySelectorAll(t),function(t){return tt(t)})}$($t,{x:Xt,y:Yt,cx:Ht,cy:Gt,width:Vt,height:Bt,size:Qt}),at({Element:{circle:function(t){return this.put(new $t).radius(new Mt(t).divide(2)).move(0,0)}}}),et($t),at("Dom",{find:function(t){return Wt(t,this.node)}});var Jt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("clipPath",t),e))}return r(e,Dt),a(e,[{key:"remove",value:function(){return this.targets().forEach(function(t){t.unclip()}),c(u(e.prototype),"remove",this).call(this)}},{key:"targets",value:function(){return Wt('svg [clip-path*="'+this.id()+'"]')}}]),e}();at({Container:{clip:function(){return this.defs().put(new Jt)}},Element:{clipWith:function(t){var e=t instanceof Jt?t:this.parent().clip().add(t);return this.attr("clip-path",'url("#'+e.id()+'")')},unclip:function(){return this.attr("clip-path",null)},clipper:function(){return this.reference("clip-path")}}}),et(Jt);var Zt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("a",t),e))}return r(e,Dt),a(e,[{key:"to",value:function(t){return this.attr("href",t,G)}},{key:"target",value:function(t){return this.attr("target",t)}}]),e}();at({Container:{link:function(t){return this.put(new Zt).to(t)}},Element:{linkTo:function(t){var e=new Zt;return"function"==typeof t?t.call(e,e):e.to(t),this.parent().put(e).put(this)}}}),et(Zt);var Kt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("ellipse",t),e))}return r(e,Nt),e}();$(Kt,Ut),at("Container",{ellipse:function(t,e){return this.put(new Kt).size(t,e).move(0,0)}}),et(Kt);var te=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("stop",t),e))}return r(e,Et),a(e,[{key:"update",value:function(t){return("number"==typeof t||t instanceof Mt)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new Mt(t.offset)),this}}]),e}();et(te);var ee=Object.freeze({from:function(t,e){return"radialGradient"===(this._element||this).type?this.attr({fx:new Mt(t),fy:new Mt(e)}):this.attr({x1:new Mt(t),y1:new Mt(e)})},to:function(t,e){return"radialGradient"===(this._element||this).type?this.attr({cx:new Mt(t),cy:new Mt(e)}):this.attr({x2:new Mt(t),y2:new Mt(e)})}});function ne(){if(!ne.nodes){var t=(new Rt).size(2,0).css({opacity:0,position:"absolute",left:"-100%",top:"-100%",overflow:"hidden"}),e=t.path().node;ne.nodes={svg:t,path:e}}if(!ne.nodes.svg.node.parentNode){var n=document.body||document.documentElement;ne.nodes.svg.addTo(n)}return ne.nodes}var ie=function(){function r(t,e,n){var i;o(this,r),n=n||{x:0,y:0},i=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===l(t)?{x:t.x,y:t.y}:{x:t,y:e},this.x=null==i.x?n.x:i.x,this.y=null==i.y?n.y:i.y}return a(r,[{key:"clone",value:function(){return new r(this)}},{key:"native",value:function(){var t=ne().svg.node.createSVGPoint();return t.x=this.x,t.y=this.y,t}},{key:"transform",value:function(t){return new r(t.a*this.x+t.c*this.y+t.e,t.b*this.x+t.d*this.y+t.f)}}]),r}();at({Element:{point:function(t,e){return new ie(t,e).transform(this.screenCTM().inverse())}}});var re=function(){function u(){o(this,u),this.init.apply(this,arguments)}return a(u,[{key:"init",value:function(t){var e;t="string"==typeof t?t.split(C).map(parseFloat):Array.isArray(t)?t:"object"===l(t)?[null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height]:4===arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0],this.y=t[1],this.width=t[2],this.height=t[3],null==(e=this).x&&(e.x=0,e.y=0,e.width=0,e.height=0),e.w=e.width,e.h=e.height,e.x2=e.x+e.width,e.y2=e.y+e.height,e.cx=e.x+e.width/2,e.cy=e.y+e.height/2}},{key:"merge",value:function(t){var e=Math.min(this.x,t.x),n=Math.min(this.y,t.y);return new u(e,n,Math.max(this.x+this.width,t.x+t.width)-e,Math.max(this.y+this.height,t.y+t.height)-n)}},{key:"transform",value:function(e){var n=1/0,i=-1/0,r=1/0,s=-1/0;return[new ie(this.x,this.y),new ie(this.x2,this.y),new ie(this.x,this.y2),new ie(this.x2,this.y2)].forEach(function(t){t=t.transform(e),n=Math.min(n,t.x),i=Math.max(i,t.x),r=Math.min(r,t.y),s=Math.max(s,t.y)}),new u(n,r,i-n,s-r)}},{key:"addOffset",value:function(){return this.x+=window.pageXOffset,this.y+=window.pageYOffset,this}},{key:"toString",value:function(){return this.x+" "+this.y+" "+this.width+" "+this.height}},{key:"toArray",value:function(){return[this.x,this.y,this.width,this.height]}}]),u}();function se(e){var n,t,i;try{if(n=e(this.node),!((i=n).w||i.h||i.x||i.y||(t=this.node,(document.documentElement.contains||function(t){for(;t.parentNode;)t=t.parentNode;return t===document}).call(document.documentElement,t))))throw new Error("Element not in the dom")}catch(t){try{var r=this.clone(ne().svg).show();n=e(r.node),r.remove()}catch(t){console.warn("Getting a bounding box of this element is not possible")}}return n}at({Element:{bbox:function(){return new re(se.call(this,function(t){return t.getBBox()}))},rbox:function(t){var e=new re(se.call(this,function(t){return t.getBoundingClientRect()}));return t?e.transform(t.screenCTM().inverse()):e.addOffset()}},viewbox:{viewbox:function(t,e,n,i){return null==t?new re(this.attr("viewBox")):this.attr("viewBox",new re(t,e,n,i))}}});var ue=function(t){function i(t){return o(this,i),h(this,u(i).call(this,Q(t+"Gradient","string"==typeof t?null:t),i))}return r(i,Dt),a(i,[{key:"stop",value:function(t,e,n){return this.put(new te).update(t,e,n)}},{key:"update",value:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}},{key:"url",value:function(){return"url(#"+this.id()+")"}},{key:"toString",value:function(){return this.url()}},{key:"attr",value:function(t,e,n){return"transform"===t&&(t="gradientTransform"),c(u(i.prototype),"attr",this).call(this,t,e,n)}},{key:"targets",value:function(){return find('svg [fill*="'+this.id()+'"]')}},{key:"bbox",value:function(){return new re}}]),i}();$(ue,ee),at({Container:{gradient:function(t,e){return this.defs().gradient(t,e)}},Defs:{gradient:function(t,e){return this.put(new ue(t)).update(e)}}}),et(ue);var oe=function(t){function i(t){return o(this,i),h(this,u(i).call(this,Q("pattern",t),i))}return r(i,Dt),a(i,[{key:"url",value:function(){return"url(#"+this.id()+")"}},{key:"update",value:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}},{key:"toString",value:function(){return this.url()}},{key:"attr",value:function(t,e,n){return"transform"===t&&(t="patternTransform"),c(u(i.prototype),"attr",this).call(this,t,e,n)}},{key:"targets",value:function(){return find('svg [fill*="'+this.id()+'"]')}},{key:"bbox",value:function(){return new re}}]),i}();at({Container:{pattern:function(t,e,n){return this.defs().pattern(t,e,n)}},Defs:{pattern:function(t,e,n){return this.put(new oe).update(n).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}}}),et(oe);var ae=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("image",t),e))}return r(e,Nt),a(e,[{key:"load",value:function(n,i){if(!n)return this;var r=new window.Image;return dt(r,"load",function(t){var e=this.parent(oe);0===this.width()&&0===this.height()&&this.size(r.width,r.height),e instanceof oe&&0===e.width()&&0===e.height()&&e.size(this.width(),this.height()),"function"==typeof i&&i.call(this,{width:r.width,height:r.height,ratio:r.width/r.height,url:n})},this),dt(r,"load error",function(){vt(r)}),this.attr("href",r.src=n,G)}},{key:"attrHook",value:function(t){var e=this;return t.doc().defs().pattern(0,0,function(t){t.add(e)})}}]),e}();at({Container:{image:function(t,e){return this.put(new ae).size(0,0).load(t,e)}}}),et(ae);var he=Ct("PointArray",jt);$(he,{toString:function(){for(var t=0,e=this.length,n=[];t<e;t++)n.push(this[t].join(","));return n.join(" ")},toLine:function(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}},at:function(t){if(!this.destination)return this;for(var e=0,n=this.length,i=[];e<n;e++)i.push([this[e][0]+(this.destination[e][0]-this[e][0])*t,this[e][1]+(this.destination[e][1]-this[e][1])*t]);return new he(i)},parse:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[[0,0]],e=[];if(t instanceof Array){if(t[0]instanceof Array)return t}else t=t.trim().split(C).map(parseFloat);t.length%2!=0&&t.pop();for(var n=0,i=t.length;n<i;n+=2)e.push([t[n],t[n+1]]);return e},move:function(t,e){var n=this.bbox();if(t-=n.x,e-=n.y,!isNaN(t)&&!isNaN(e))for(var i=this.length-1;0<=i;i--)this[i]=[this[i][0]+t,this[i][1]+e];return this},size:function(t,e){var n,i=this.bbox();for(n=this.length-1;0<=n;n--)i.width&&(this[n][0]=(this[n][0]-i.x)*t/i.width+i.x),i.height&&(this[n][1]=(this[n][1]-i.y)*e/i.height+i.y);return this},bbox:function(){var e=-1/0,n=-1/0,i=1/0,r=1/0;return this.forEach(function(t){e=Math.max(t[0],e),n=Math.max(t[1],n),i=Math.min(t[0],i),r=Math.min(t[1],r)}),{x:i,y:r,width:e-i,height:n-r}}});var le=he;var ce=Object.freeze({MorphArray:le,x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},width:function(t){var e=this.bbox();return null==t?e.width:this.size(t,e.height)},height:function(t){var e=this.bbox();return null==t?e.height:this.size(e.width,t)}}),fe=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("line",t),e))}return r(e,Nt),a(e,[{key:"array",value:function(){return new he([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])}},{key:"plot",value:function(t,e,n,i){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:n,y2:i}:new he(t).toLine(),this.attr(t))}},{key:"move",value:function(t,e){return this.attr(this.array().move(t,e).toLine())}},{key:"size",value:function(t,e){var n=R(this,t,e);return this.attr(this.array().size(n.width,n.height).toLine())}}]),e}();$(fe,ce),at({Container:{line:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return fe.prototype.plot.apply(this.put(new fe),null!=e[0]?e:[0,0,0,0])}}}),et(fe);var de=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("marker",t),e))}return r(e,Dt),a(e,[{key:"width",value:function(t){return this.attr("markerWidth",t)}},{key:"height",value:function(t){return this.attr("markerHeight",t)}},{key:"ref",value:function(t,e){return this.attr("refX",t).attr("refY",e)}},{key:"update",value:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}},{key:"toString",value:function(){return"url(#"+this.id()+")"}}]),e}();at({Container:{marker:function(t,e,n){return this.defs().marker(t,e,n)}},Defs:{marker:function(t,e,n){return this.put(new de).size(t,e).ref(t/2,e/2).viewbox(0,0,t,e).attr("orient","auto").update(n)}},marker:{marker:function(t,e,n,i){var r=["marker"];return"all"!==t&&r.push(t),r=r.join("-"),t=e instanceof de?e:this.defs().marker(e,n,i),this.attr(r,t)}}}),et(de);var ve=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("mask",t),e))}return r(e,Dt),a(e,[{key:"remove",value:function(){return this.targets().forEach(function(t){t.unmask()}),c(u(e.prototype),"remove",this).call(this)}},{key:"targets",value:function(){return Wt('svg [mask*="'+this.id()+'"]')}}]),e}();at({Container:{mask:function(){return this.defs().put(new ve)}},Element:{maskWith:function(t){var e=t instanceof ve?t:this.parent().mask().add(t);return this.attr("mask",'url("#'+e.id()+'")')},unmask:function(){return this.attr("mask",null)},masker:function(){return this.reference("mask")}}}),et(ve);for(var ye=Ct("PathArray",jt),pe={M:function(t,e,n){return e.x=n.x=t[0],e.y=n.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],["T",t[0],t[1]]},Z:function(t,e,n){return e.x=n.x,e.y=n.y,["Z"]},A:function(t,e){return e.x=t[5],e.y=t[6],["A",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},me="mlhvqtcsaz".split(""),ge=0,we=me.length;ge<we;++ge)pe[me[ge]]=function(s){return function(t,e,n){if("H"===s)t[0]=t[0]+e.x;else if("V"===s)t[0]=t[0]+e.y;else if("A"===s)t[5]=t[5]+e.x,t[6]=t[6]+e.y;else for(var i=0,r=t.length;i<r;++i)t[i]=t[i]+(i%2?e.y:e.x);return pe[s](t,e,n)}}(me[ge].toUpperCase());$(ye,{toString:function(){return function(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e][0],null!=t[e][1]&&(i+=t[e][1],null!=t[e][2]&&(i+=" ",i+=t[e][2],null!=t[e][3]&&(i+=" ",i+=t[e][3],i+=" ",i+=t[e][4],null!=t[e][5]&&(i+=" ",i+=t[e][5],i+=" ",i+=t[e][6],null!=t[e][7]&&(i+=" ",i+=t[e][7])))));return i+" "}(this)},move:function(t,e){var n=this.bbox();if(t-=n.x,e-=n.y,!isNaN(t)&&!isNaN(e))for(var i,r=this.length-1;0<=r;r--)"M"===(i=this[r][0])||"L"===i||"T"===i?(this[r][1]+=t,this[r][2]+=e):"H"===i?this[r][1]+=t:"V"===i?this[r][1]+=e:"C"===i||"S"===i||"Q"===i?(this[r][1]+=t,this[r][2]+=e,this[r][3]+=t,this[r][4]+=e,"C"===i&&(this[r][5]+=t,this[r][6]+=e)):"A"===i&&(this[r][6]+=t,this[r][7]+=e);return this},size:function(t,e){var n,i,r=this.bbox();for(n=this.length-1;0<=n;n--)"M"===(i=this[n][0])||"L"===i||"T"===i?(this[n][1]=(this[n][1]-r.x)*t/r.width+r.x,this[n][2]=(this[n][2]-r.y)*e/r.height+r.y):"H"===i?this[n][1]=(this[n][1]-r.x)*t/r.width+r.x:"V"===i?this[n][1]=(this[n][1]-r.y)*e/r.height+r.y:"C"===i||"S"===i||"Q"===i?(this[n][1]=(this[n][1]-r.x)*t/r.width+r.x,this[n][2]=(this[n][2]-r.y)*e/r.height+r.y,this[n][3]=(this[n][3]-r.x)*t/r.width+r.x,this[n][4]=(this[n][4]-r.y)*e/r.height+r.y,"C"===i&&(this[n][5]=(this[n][5]-r.x)*t/r.width+r.x,this[n][6]=(this[n][6]-r.y)*e/r.height+r.y)):"A"===i&&(this[n][1]=this[n][1]*t/r.width,this[n][2]=this[n][2]*e/r.height,this[n][6]=(this[n][6]-r.x)*t/r.width+r.x,this[n][7]=(this[n][7]-r.y)*e/r.height+r.y);return this},equalCommands:function(t){var e,n,i;for(t=new ye(t),i=this.length===t.length,e=0,n=this.length;i&&e<n;e++)i=this[e][0]===t[e][0];return i},morph:function(t){return t=new ye(t),this.equalCommands(t)?this.destination=t:this.destination=null,this},at:function(t){if(!this.destination)return this;var e,n,i,r,s=this,u=this.destination.value,o=[],a=new ye;for(e=0,n=s.length;e<n;e++){for(o[e]=[s[e][0]],i=1,r=s[e].length;i<r;i++)o[e][i]=s[e][i]+(u[e][i]-s[e][i])*t;"A"===o[e][0]&&(o[e][4]=+(0!==o[e][4]),o[e][5]=+(0!==o[e][5]))}return a.value=o,a},parse:function(){var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[["M",0,0]];if(e instanceof ye)return e;var n={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0};e="string"==typeof e?e.replace(T,N).replace(M," $& ").replace(j,"$1 -").trim().split(C):e.reduce(function(t,e){return[].concat.call(t,e)},[]);for(var i=[],r=new ie,s=new ie,u=0,o=e.length;S.test(e[u])?(t=e[u],++u):"M"===t?t="L":"m"===t&&(t="l"),i.push(pe[t].call(null,e.slice(u,u+=n[t.toUpperCase()]).map(parseFloat),r,s)),u<o;);return i},bbox:function(){return ne().path.setAttribute("d",this.toString()),ne.nodes.path.getBBox()}});var ke=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("path",t),e))}return r(e,Nt),a(e,[{key:"array",value:function(){return this._array||(this._array=new ye(this.attr("d")))}},{key:"plot",value:function(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new ye(t))}},{key:"clear",value:function(){return delete this._array,this}},{key:"move",value:function(t,e){return this.attr("d",this.array().move(t,e))}},{key:"x",value:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)}},{key:"y",value:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}},{key:"size",value:function(t,e){var n=R(this,t,e);return this.attr("d",this.array().size(n.width,n.height))}},{key:"width",value:function(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)}},{key:"height",value:function(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}},{key:"targets",value:function(){return Wt('svg textpath [href*="'+this.id()+'"]')}}]),e}();ke.prototype.MorphArray=ye,at({Container:{path:function(t){return this.put(new ke).plot(t||new ye)}}}),et(ke);var be=Object.freeze({array:function(){return this._array||(this._array=new he(this.attr("points")))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new he(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},size:function(t,e){var n=R(this,t,e);return this.attr("points",this.array().size(n.width,n.height))}}),xe=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("polygon",t),e))}return r(e,Nt),e}();at({Container:{polygon:function(t){return this.put(new xe).plot(t||new he)}}}),$(xe,ce),$(xe,be),et(xe);var _e=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("polyline",t),e))}return r(e,Nt),e}();at({Container:{polyline:function(t){return this.put(new _e).plot(t||new he)}}}),$(_e,ce),$(_e,be),et(_e);var Oe=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("rect",t),e))}return r(e,Nt),a(e,[{key:"rx",value:function(t){return this.attr("rx",t)}},{key:"ry",value:function(t){return this.attr("ry",t)}}]),e}();at({Container:{rect:function(t,e){return this.put(new Oe).size(t,e)}}}),et(Oe);var Ae=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("symbol",t),e))}return r(e,Dt),e}();at({Container:{symbol:function(){return this.put(new Ae)}}}),et(Ae);var Ce=Object.freeze({plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(document.createTextNode(t)),this},length:function(){return this.node.getComputedTextLength()}}),je=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,Q("text",t),n))).dom.leading=new Mt(1.3),e._rebuild=!0,e._build=!1,e.attr("font-family",_t["font-family"]),e}return r(n,Nt),a(n,[{key:"x",value:function(t){return null==t?this.attr("x"):this.attr("x",t)}},{key:"y",value:function(t){var e=this.attr("y"),n="number"==typeof e?e-this.bbox().y:0;return null==t?"number"==typeof e?e-n:e:this.attr("y","number"==typeof t?t+n:t)}},{key:"cx",value:function(t){return null==t?this.bbox().cx:this.x(t-this.bbox().width/2)}},{key:"cy",value:function(t){return null==t?this.bbox().cy:this.y(t-this.bbox().height/2)}},{key:"text",value:function(t){if(void 0===t){var e=this.node.childNodes,n=0;t="";for(var i=0,r=e.length;i<r;++i)"textPath"!==e[i].nodeName?(i!==n&&3!==e[i].nodeType&&!0===tt(e[i]).dom.newLined&&(t+="\n"),t+=e[i].textContent):0===i&&(n=1);return t}if(this.clear().build(!0),"function"==typeof t)t.call(this,this);else for(var s=0,u=(t=t.split("\n")).length;s<u;s++)this.tspan(t[s]).newLine();return this.build(!1).rebuild()}},{key:"leading",value:function(t){return null==t?this.dom.leading:(this.dom.leading=new Mt(t),this.rebuild())}},{key:"rebuild",value:function(t){if("boolean"==typeof t&&(this._rebuild=t),this._rebuild){var e=this,n=0,i=this.dom.leading*new Mt(this.attr("font-size"));this.each(function(){this.dom.newLined&&(this.attr("x",e.attr("x")),"\n"===this.text()?n+=i:(this.attr("dy",i+n),n=0))}),this.fire("rebuild")}return this}},{key:"build",value:function(t){return this._build=!!t,this}},{key:"setData",value:function(t){return this.dom=t,this.dom.leading=new Mt(t.leading||1.3),this}}]),n}();$(je,Ce),at({Container:{text:function(t){return this.put(new je).text(t)},plain:function(t){return this.put(new je).plain(t)}}}),et(je);var Me=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("textPath",t),e))}return r(e,je),a(e,[{key:"array",value:function(){var t=this.track();return t?t.array():null}},{key:"plot",value:function(t){var e=this.track(),n=null;return e&&(n=e.plot(t)),null==t?n:this}},{key:"track",value:function(){return this.reference("href")}}]),e}();at({Container:{textPath:function(t,e){return this.defs().path(e).text(t).addTo(this)}},Text:{path:function(t){var e=new Me;return t instanceof ke||(t=this.doc().defs().path(t)),e.attr("href","#"+t,G),this.put(e)},textPath:function(){return this.find("textPath")}},Path:{text:function(t){if(t instanceof je){var e=t.text();return t.clear().path(this).text(e)}return this.parent().put(new je).path(this).text(t)}}}),Me.prototype.MorphArray=ye,et(Me);var Se=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("tspan",t),e))}return r(e,je),a(e,[{key:"text",value:function(t){return null==t?this.node.textContent+(this.dom.newLined?"\n":""):("function"==typeof t?t.call(this,this):this.plain(t),this)}},{key:"dx",value:function(t){return this.attr("dx",t)}},{key:"dy",value:function(t){return this.attr("dy",t)}},{key:"newLine",value:function(){var t=this.parent(je);return this.dom.newLined=!0,this.dy(t.dom.leading*t.attr("font-size")).attr("x",t.x())}}]),e}();$(Se,Ce),at({Tspan:{tspan:function(t){var e=new Se;return this._build||this.clear(),this.node.appendChild(e.node),e.text(t)}}}),et(Se);var Te=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("use",t),e))}return r(e,Nt),a(e,[{key:"element",value:function(t,e){return this.attr("href",(e||"")+"#"+t,G)}}]),e}();at({Container:{use:function(t,e){return this.put(new Te).element(t,e)}}}),et(Te);var Ee=function(){function h(){o(this,h),this.init.apply(this,arguments)}return a(h,[{key:"init",value:function(t){var e=q([1,0,0,1,0,0]);t=t instanceof Et?t.matrixify():"string"==typeof t?q(t.split(C).map(parseFloat)):Array.isArray(t)?q(t):"object"===l(t)&&I(t)?t:"object"===l(t)?(new h).transform(t):6===arguments.length?q([].slice.call(arguments)):e,this.a=null!=t.a?t.a:e.a,this.b=null!=t.b?t.b:e.b,this.c=null!=t.c?t.c:e.c,this.d=null!=t.d?t.d:e.d,this.e=null!=t.e?t.e:e.e,this.f=null!=t.f?t.f:e.f}},{key:"clone",value:function(){return new h(this)}},{key:"transform",value:function(t){if(I(t))return new h(t).multiplyO(this);var e=h.formatTransforms(t),n=new ie(e.ox,e.oy).transform(this),i=n.x,r=n.y,s=(new h).translateO(e.rx,e.ry).lmultiplyO(this).translateO(-i,-r).scaleO(e.scaleX,e.scaleY).skewO(e.skewX,e.skewY).shearO(e.shear).rotateO(e.theta).translateO(i,r);if(isFinite(e.px)||isFinite(e.py)){var u=new ie(i,r).transform(s),o=e.px?e.px-u.x:0,a=e.py?e.py-u.y:0;s.translateO(o,a)}return s.translateO(e.tx,e.ty),s}},{key:"compose",value:function(t){t.origin&&(t.originX=t.origin[0],t.originY=t.origin[1]);var e=t.originX||0,n=t.originY||0,i=t.scaleX||1,r=t.scaleY||1,s=t.shear||0,u=t.rotate||0,o=t.translateX||0,a=t.translateY||0;return(new h).translateO(-e,-n).scaleO(i,r).shearO(s).rotateO(u).translateO(o,a).lmultiplyO(this).translateO(e,n)}},{key:"decompose",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=this.a,i=this.b,r=this.c,s=this.d,u=this.e,o=this.f,a=n*s-i*r,h=0<a?1:-1,l=h*Math.sqrt(n*n+i*i),c=Math.atan2(h*i,h*n),f=180/Math.PI*c,d=Math.cos(c),v=Math.sin(c),y=(n*r+i*s)/a,p=r*l/(y*n-i)||s*l/(y*i+n);return{scaleX:l,scaleY:p,shear:y,rotate:f,translateX:u-t+t*d*l+e*(y*d*l-v*p),translateY:o-e+t*v*l+e*(y*v*l+d*p),originX:t,originY:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}},{key:"multiply",value:function(t){return this.clone().multiplyO(t)}},{key:"multiplyO",value:function(t){var e=t instanceof h?t:new h(t);return h.matrixMultiply(this,e,this)}},{key:"lmultiply",value:function(t){return this.clone().lmultiplyO(t)}},{key:"lmultiplyO",value:function(t){var e=t instanceof h?t:new h(t);return h.matrixMultiply(e,this,this)}},{key:"inverseO",value:function(){var t=this.a,e=this.b,n=this.c,i=this.d,r=this.e,s=this.f,u=t*i-e*n;if(!u)throw new Error("Cannot invert "+this);var o=i/u,a=-e/u,h=-n/u,l=t/u,c=-(o*r+h*s),f=-(a*r+l*s);return this.a=o,this.b=a,this.c=h,this.d=l,this.e=c,this.f=f,this}},{key:"inverse",value:function(){return this.clone().inverseO()}},{key:"translate",value:function(t,e){return this.clone().translateO(t,e)}},{key:"translateO",value:function(t,e){return this.e+=t||0,this.f+=e||0,this}},{key:"scale",value:function(t,e,n,i){var r;return(r=this.clone()).scaleO.apply(r,arguments)}},{key:"scaleO",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0;3===arguments.length&&(i=n,n=e,e=t);var r=this.a,s=this.b,u=this.c,o=this.d,a=this.e,h=this.f;return this.a=r*t,this.b=s*e,this.c=u*t,this.d=o*e,this.e=a*t-n*t+n,this.f=h*e-i*e+i,this}},{key:"rotate",value:function(t,e,n){return this.clone().rotateO(t,e,n)}},{key:"rotateO",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0;t=wt(t);var i=Math.cos(t),r=Math.sin(t),s=this.a,u=this.b,o=this.c,a=this.d,h=this.e,l=this.f;return this.a=s*i-u*r,this.b=u*i+s*r,this.c=o*i-a*r,this.d=a*i+o*r,this.e=h*i-l*r+n*r-e*i+e,this.f=l*i+h*r-e*r-n*i+n,this}},{key:"flip",value:function(t,e){return this.clone().flipO(t,e)}},{key:"flipO",value:function(t,e){return"x"===t?this.scaleO(-1,1,e,0):"y"===t?this.scaleO(1,-1,0,e):this.scaleO(-1,-1,t,e||t)}},{key:"shear",value:function(t,e,n){return this.clone().shearO(t,e,n)}},{key:"shearO",value:function(t){var e=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,n=this.a,i=this.b,r=this.c,s=this.d,u=this.e,o=this.f;return this.a=n+i*t,this.c=r+s*t,this.e=u+o*t-e*t,this}},{key:"skew",value:function(t,e,n,i){var r;return(r=this.clone()).skewO.apply(r,arguments)}},{key:"skewO",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0;3===arguments.length&&(i=n,n=e,e=t),t=wt(t),e=wt(e);var r=Math.tan(t),s=Math.tan(e),u=this.a,o=this.b,a=this.c,h=this.d,l=this.e,c=this.f;return this.a=u+o*r,this.b=o+u*s,this.c=a+h*r,this.d=h+a*s,this.e=l+c*r-i*r,this.f=c+l*s-n*s,this}},{key:"skewX",value:function(t,e,n){return this.skew(t,0,e,n)}},{key:"skewXO",value:function(t,e,n){return this.skewO(t,0,e,n)}},{key:"skewY",value:function(t,e,n){return this.skew(0,t,e,n)}},{key:"skewYO",value:function(t,e,n){return this.skewO(0,t,e,n)}},{key:"aroundO",value:function(t,e,n){var i=t||0,r=e||0;return this.translateO(-i,-r).lmultiplyO(n).translateO(i,r)}},{key:"around",value:function(t,e,n){return this.clone().aroundO(t,e,n)}},{key:"native",value:function(){for(var t=ne().svg.node.createSVGMatrix(),e=L.length-1;0<=e;e--)t[L[e]]=this[L[e]];return t}},{key:"equals",value:function(t){var e=new h(t);return F(this.a,e.a)&&F(this.b,e.b)&&F(this.c,e.c)&&F(this.d,e.d)&&F(this.e,e.e)&&F(this.f,e.f)}},{key:"toString",value:function(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}},{key:"toArray",value:function(){return[this.a,this.b,this.c,this.d,this.e,this.f]}},{key:"valueOf",value:function(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}],[{key:"formatTransforms",value:function(t){var e="both"===t.flip||!0===t.flip,n=t.flip&&(e||"x"===t.flip)?-1:1,i=t.flip&&(e||"y"===t.flip)?-1:1,r=t.skew&&t.skew.length?t.skew[0]:isFinite(t.skew)?t.skew:isFinite(t.skewX)?t.skewX:0,s=t.skew&&t.skew.length?t.skew[1]:isFinite(t.skew)?t.skew:isFinite(t.skewY)?t.skewY:0,u=t.scale&&t.scale.length?t.scale[0]*n:isFinite(t.scale)?t.scale*n:isFinite(t.scaleX)?t.scaleX*n:n,o=t.scale&&t.scale.length?t.scale[1]*i:isFinite(t.scale)?t.scale*i:isFinite(t.scaleY)?t.scaleY*i:i,a=t.shear||0,h=t.rotate||t.theta||0,l=new ie(t.origin||t.around||t.ox||t.originX,t.oy||t.originY),c=l.x,f=l.y,d=new ie(t.position||t.px||t.positionX,t.py||t.positionY),v=d.x,y=d.y,p=new ie(t.translate||t.tx||t.translateX,t.ty||t.translateY),m=p.x,g=p.y,w=new ie(t.relative||t.rx||t.relativeX,t.ry||t.relativeY);return{scaleX:u,scaleY:o,skewX:r,skewY:s,shear:a,theta:h,rx:w.x,ry:w.y,tx:m,ty:g,ox:c,oy:f,px:v,py:y}}},{key:"matrixMultiply",value:function(t,e,n){var i=t.a*e.a+t.c*e.b,r=t.b*e.a+t.d*e.b,s=t.a*e.c+t.c*e.d,u=t.b*e.c+t.d*e.d,o=t.e+t.a*e.e+t.c*e.f,a=t.f+t.b*e.e+t.d*e.f;return n.a=i,n.b=r,n.c=s,n.d=u,n.e=o,n.f=a,n}}]),h}();function Ne(e,n){return function(t){return null==t?this[t]:(this[e]=t,n&&n.call(this),this)}}at({Element:{ctm:function(){return new Ee(this.node.getCTM())},screenCTM:function(){if("function"!=typeof this.isRoot||this.isRoot())return new Ee(this.node.getScreenCTM());var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new Ee(e)}}});var De={"-":function(t){return t},"<>":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)},bezier:function(t,e,n,i){return function(t){}}},Pe=function(){function t(){o(this,t)}return a(t,[{key:"done",value:function(){return!1}}]),t}(),ze=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this))).ease=De[t||xt.ease]||t,e}return r(n,Pe),a(n,[{key:"step",value:function(t,e,n){return"number"!=typeof t?n<1?t:e:t+(e-t)*this.ease(n)}}]),n}(),Re=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this))).stepper=t,e}return r(n,Pe),a(n,[{key:"step",value:function(t,e,n,i){return this.stepper(t,e,n,i)}},{key:"done",value:function(t){return t.done}}]),n}();function qe(){var t=(this._duration||500)/1e3,e=this._overshoot||0,n=Math.PI,i=Math.log(e/100+1e-10),r=-i/Math.sqrt(n*n+i*i),s=3.9/(r*t);this.d=2*r*s,this.k=s*s}var Le=function(t){function i(t,e){var n;return o(this,i),(n=h(this,u(i).call(this))).duration(t||500).overshoot(e||0),n}return r(i,Re),a(i,[{key:"step",value:function(t,e,n,i){if("string"==typeof t)return t;if(i.done=n===1/0,n===1/0)return e;if(0===n)return t;100<n&&(n=16),n/=1e3;var r=i.velocity||0,s=-this.d*r-this.k*(t-e),u=t+r*n+s*n*n/2;return i.velocity=r+s*n,i.done=Math.abs(e-u)+Math.abs(r)<.002,i.done?e:u}}]),i}();$(Le,{duration:Ne("_duration",qe),overshoot:Ne("_overshoot",qe)});var Fe=function(t){function s(t,e,n,i){var r;return o(this,s),t=null==t?.1:t,e=null==e?.01:e,n=null==n?0:n,i=null==i?1e3:i,(r=h(this,u(s).call(this))).p(t).i(e).d(n).windup(i),r}return r(s,Re),a(s,[{key:"step",value:function(t,e,n,i){if("string"==typeof t)return t;if(i.done=n===1/0,n===1/0)return e;if(0===n)return t;var r=e-t,s=(i.integral||0)+r*n,u=(r-(i.error||0))/n,o=this.windup;return!1!==o&&(s=Math.max(-o,Math.min(s,o))),i.error=r,i.integral=s,i.done=Math.abs(r)<.001,i.done?e:t+(this.P*r+this.I*s+this.D*u)}}]),s}();$(Fe,{windup:Ne("windup"),p:Ne("P"),i:Ne("I"),d:Ne("D")});var Ie=function(){function e(t){o(this,e),this._stepper=t||new ze("-"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}return a(e,[{key:"from",value:function(t){return null==t?this._from:(this._from=this._set(t),this)}},{key:"to",value:function(t){return null==t?this._to:(this._to=this._set(t),this)}},{key:"type",value:function(t){return null==t?this._type:(this._type=t,this)}},{key:"_set",value:function(t){if(!this._type){var e=l(t);"number"===e?this.type(Mt):"string"===e?At.isColor(t)?this.type(At):C.test(t)?this.type(M.test(t)?ye:jt):v.test(t)?this.type(Mt):this.type(Xe):-1<Ge.indexOf(t.constructor)?this.type(t.constructor):Array.isArray(t)?this.type(jt):"object"===e?this.type(He):this.type(Xe)}var n=new this._type(t).toArray();return this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(n.length)).map(Object),n}},{key:"stepper",value:function(t){return null==t?this._stepper:(this._stepper=t,this)}},{key:"done",value:function(){return this._context.map(this._stepper.done).reduce(function(t,e){return t&&e},!0)}},{key:"at",value:function(n){var i=this;return this._morphObj.fromArray(this._from.map(function(t,e){return i._stepper.step(t,i._to[e],n,i._context[e],i._context)}))}}]),e}(),Xe=function(){function t(){o(this,t),this.init.apply(this,arguments)}return a(t,[{key:"init",value:function(t){t=Array.isArray(t)?t[0]:t,this.value=t}},{key:"valueOf",value:function(){return this.value}},{key:"toArray",value:function(){return[this.value]}}]),t}(),Ye=function(){function e(){o(this,e),this.init.apply(this,arguments)}return a(e,[{key:"init",value:function(t){Array.isArray(t)&&(t={scaleX:t[0],scaleY:t[1],shear:t[2],rotate:t[3],translateX:t[4],translateY:t[5],originX:t[6],originY:t[7]}),Object.assign(this,e.defaults,t)}},{key:"toArray",value:function(){var t=this;return[t.scaleX,t.scaleY,t.shear,t.rotate,t.translateX,t.translateY,t.originX,t.originY]}}]),e}();Ye.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};var He=function(){function t(){o(this,t),this.init.apply(this,arguments)}return a(t,[{key:"init",value:function(t){if(this.values=[],Array.isArray(t))this.values=t;else{var e=Object.entries(t||{}).sort(function(t,e){return t[0]-e[0]});this.values=e.reduce(function(t,e){return t.concat(e)},[])}}},{key:"valueOf",value:function(){for(var t={},e=this.values,n=0,i=e.length;n<i;n+=2)t[e[n]]=e[n+1];return t}},{key:"toArray",value:function(){return this.values}}]),t}(),Ge=[Xe,Ye,He];var Ve=window.performance||Date,Be=function(t){var e=t.start,n=t.runner.duration();return{start:e,duration:n,end:e+n,runner:t.runner}},Qe=function(){function t(){o(this,t),this._timeSource=function(){return Ve.now()},this._dispatcher=document.createElement("div"),this._startTime=0,this._speed=1,this._reverse=!1,this._persist=0,this._nextFrame=null,this._paused=!1,this._runners=[],this._order=[],this._time=0,this._lastSourceTime=0,this._lastStepTime=0}return a(t,[{key:"getEventTarget",value:function(){return this._dispatcher}},{key:"schedule",value:function(t,e,n){if(null==t)return this._runners.map(Be).sort(function(t,e){return t.start-e.start||t.duration-e.duration});this.active()||(this._step(),null==n&&(n="now"));var i=0;if(e=e||0,null==n||"last"===n||"after"===n)i=this._startTime;else if("absolute"===n||"start"===n)i=e,e=0;else if("now"===n)i=this._time;else{if("relative"!==n)throw new Error('Invalid value for the "when" parameter');var r=this._runners[t.id];r&&(i=r.start+e,e=0)}return t.unschedule(),t.timeline(this),t.time(-e),this._startTime=i+t.duration()+e,this._runners[t.id]={persist:this.persist(),runner:t,start:i},this._order.push(t.id),this._continue(),this}},{key:"unschedule",value:function(t){var e=this._order.indexOf(t.id);return e<0||(delete this._runners[t.id],this._order.splice(e,1),t.timeline(null)),this}},{key:"play",value:function(){return this._paused=!1,this._continue()}},{key:"pause",value:function(){return this._nextFrame=null,this._paused=!0,this}},{key:"stop",value:function(){return this.seek(-this._time),this.pause()}},{key:"finish",value:function(){return this.seek(1/0),this.pause()}},{key:"speed",value:function(t){return null==t?this._speed:(this._speed=t,this)}},{key:"reverse",value:function(t){var e=this.speed();if(null==t)return this.speed(-e);var n=Math.abs(e);return this.speed(t?n:-n)}},{key:"seek",value:function(t){return this._time+=t,this._continue()}},{key:"time",value:function(t){return null==t?this._time:(this._time=t,this)}},{key:"persist",value:function(t){return null==t?this._persist:(this._persist=t,this)}},{key:"source",value:function(t){return null==t?this._timeSource:(this._timeSource=t,this)}},{key:"_step",value:function(){if(!this._paused){var t=this._timeSource(),e=t-this._lastSourceTime,n=this._speed*e+(this._time-this._lastStepTime);this._lastSourceTime=t,this._time+=n,this._lastStepTime=this._time;for(var i=!1,r=0,s=this._order.length;r<s;r++){var u=this._runners[this._order[r]],o=u.runner,a=n,h=this._time-u.start;if(h<0)i=!0;else if(h<a&&(a=h),o.active())if(o.step(a).done){if(!0!==u.persist){o.duration()-o.time()+this._time+this._persist<this._time&&(delete this._runners[this._order[r]],this._order.splice(r--,1)&&--s,o.timeline(null))}}else i=!0}return this._nextFrame=i?Ft.frame(this._step.bind(this)):null,this}}},{key:"_continue",value:function(){return this._paused||this._nextFrame||(this._nextFrame=Ft.frame(this._step.bind(this))),this}},{key:"active",value:function(){return!!this._nextFrame}}]),t}();at({Element:{timeline:function(){return this._timeline=this._timeline||new Qe,this._timeline}}});var Ue=function(t){function s(t){var e;return o(this,s),(e=h(this,u(s).call(this))).id=s.id++,t="function"==typeof(t=null==t?xt.duration:t)?new Re(t):t,e._element=null,e._timeline=null,e.done=!1,e._queue=[],e._duration="number"==typeof t&&t,e._isDeclarative=t instanceof Re,e._stepper=e._isDeclarative?t:new ze,e._history={},e.enabled=!0,e._time=0,e._last=0,e.transforms=new Ee,e.transformId=1,e._haveReversed=!1,e._reverse=!1,e._loopsDone=0,e._swing=!1,e._wait=0,e._times=1,e}return r(s,mt),a(s,[{key:"element",value:function(t){return null==t?this._element:((this._element=t)._prepareRunner(),this)}},{key:"timeline",value:function(t){return void 0===t?this._timeline:(this._timeline=t,this)}},{key:"animate",value:function(t,e,n){var i=s.sanitise(t,e,n),r=new s(i.duration);return this._timeline&&r.timeline(this._timeline),this._element&&r.element(this._element),r.loop(i).schedule(e,n)}},{key:"schedule",value:function(t,e,n){if(t instanceof Qe||(n=e,e=t,t=this.timeline()),!t)throw Error("Runner cannot be scheduled without timeline");return t.schedule(this,e,n),this}},{key:"unschedule",value:function(){var t=this.timeline();return t&&t.unschedule(this),this}},{key:"loop",value:function(t,e,n){return"object"===l(t)&&(e=t.swing,n=t.wait,t=t.times),this._times=t||1/0,this._swing=e||!1,this._wait=n||0,this}},{key:"delay",value:function(t){return this.animate(0,t)}},{key:"queue",value:function(t,e,n){return this._queue.push({initialiser:t||bt,runner:e||bt,isTransform:n,initialised:!1,finished:!1}),this.timeline()&&this.timeline()._continue(),this}},{key:"during",value:function(t){return this.queue(null,t)}},{key:"after",value:function(t){return this.on("finish",t)}},{key:"time",value:function(t){if(null==t)return this._time;var e=t-this._time;return this.step(e),this}},{key:"duration",value:function(){return this._times*(this._wait+this._duration)-this._wait}},{key:"loops",value:function(t){var e=this._duration+this._wait;if(null==t){var n=Math.floor(this._time/e),i=(this._time-n*e)/this._duration;return Math.min(n+i,this._times)}var r=t%1,s=e*Math.floor(t)+this._duration*r;return this.time(s)}},{key:"position",value:function(t){var e,n=this._time,r=this._duration,s=this._wait,i=this._times,u=this._swing,o=this._reverse;if(null==t){var a=function(t){var e=u*Math.floor(t%(2*(s+r))/(s+r)),n=e&&!o||!e&&o,i=Math.pow(-1,n)*(t%(s+r))/r+n;return Math.max(Math.min(i,1),0)},h=i*(s+r)-s;return e=n<=0?Math.round(a(1e-5)):n<h?a(n):Math.round(a(h-1e-5)),e}var l=Math.floor(this.loops()),c=u&&l%2==0;return e=l+(c&&!o||o&&c?t:1-t),this.loops(e)}},{key:"progress",value:function(t){return null==t?Math.min(1,this._time/this.duration()):this.time(t*this.duration())}},{key:"step",value:function(t){if(!this.enabled)return this;t=null==t?16:t,this._time+=t;var e=this.position(),n=this._lastPosition!==e&&0<=this._time;this._lastPosition=e;var i=this.duration(),r=this._lastTime<0&&0<this._time,s=this._lastTime<this._time&&this.time>i;this._lastTime=this._time,r&&this.fire("start",this);var u=this._isDeclarative;if(this.done=!u&&!s&&this._time>=i,n||u){this._initialise(n),this.transforms=new Ee;var o=this._run(u?t:e);this.fire("step",this)}return this.done=this.done||o&&u,this.done&&this.fire("finish",this),this}},{key:"finish",value:function(){return this.step(1/0)}},{key:"reverse",value:function(t){return this._reverse=null==t?!this._reverse:t,this}},{key:"ease",value:function(t){return this._stepper=new ze(t),this}},{key:"active",value:function(t){return null==t?this.enabled:(this.enabled=t,this)}},{key:"_rememberMorpher",value:function(t,e){this._history[t]={morpher:e,caller:this._queue[this._queue.length-1]}}},{key:"_tryRetarget",value:function(t,e){if(this._history[t]){if(!this._history[t].caller.initialised){var n=this._queue.indexOf(this._history[t].caller);return this._queue.splice(n,1),!1}this._history[t].caller.isTransform?this._history[t].caller.isTransform(e):this._history[t].morpher.to(e),this._history[t].caller.finished=!1;var i=this.timeline();return i&&i._continue(),!0}return!1}},{key:"_initialise",value:function(t){if(t||this._isDeclarative)for(var e=0,n=this._queue.length;e<n;++e){var i=this._queue[e],r=this._isDeclarative||!i.initialised&&t;t=!i.finished,r&&t&&(i.initialiser.call(this),i.initialised=!0)}}},{key:"_run",value:function(t){for(var e=!0,n=0,i=this._queue.length;n<i;++n){var r=this._queue[n],s=r.runner.call(this,t);r.finished=r.finished||!0===s,e=e&&r.finished}return e}},{key:"addTransform",value:function(t,e){return this.transforms.lmultiplyO(t),this}},{key:"clearTransform",value:function(){return this.transforms=new Ee,this}}],[{key:"sanitise",value:function(t,e,n){var i=1,r=!1,s=0;return e=e||xt.delay,n=n||"last","object"!==l(t=t||xt.duration)||t instanceof Pe||(e=t.delay||e,n=t.when||n,r=t.swing||r,i=t.times||i,s=t.wait||s,t=t.duration||xt.duration),{duration:t,delay:e,swing:r,times:i,wait:s,when:n}}}]),s}();Ue.id=0;var $e=function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:new Ee,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:-1,i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];o(this,t),this.transforms=e,this.id=n,this.done=i};$([Ue,$e],{mergeWith:function(t){return new $e(t.transforms.lmultiply(this.transforms),t.id)}});var We=function(t,e){return t.lmultiplyO(e)},Je=function(t){return t.transforms};var Ze=function(){function t(){o(this,t),this.runners=[],this.ids=[]}return a(t,[{key:"add",value:function(t){if(!this.runners.includes(t)){var n=t.id+1,e=this.ids.reduce(function(t,e){return t<e&&e<n?e:t},0),i=this.ids.indexOf(e)+1;return this.ids.splice(i,0,n),this.runners.splice(i,0,t),this}}},{key:"getByID",value:function(t){return this.runners[this.ids.indexOf(t+1)]}},{key:"remove",value:function(t){var e=this.ids.indexOf(t+1);return this.ids.splice(e,1),this.runners.splice(e,1),this}},{key:"merge",value:function(){var n=this,i=null;return this.runners.forEach(function(t,e){i&&t.done&&i.done&&(n.remove(t.id),n.edit(i.id,t.mergeWith(i))),i=t}),this}},{key:"edit",value:function(t,e){var n=this.ids.indexOf(t+1);return this.ids.splice(n,1,t),this.runners.splice(n,1,e),this}},{key:"length",value:function(){return this.ids.length}},{key:"clearBefore",value:function(t){var e=this.ids.indexOf(t+1)||1;return this.ids.splice(0,e,0),this.runners.splice(0,e,new $e),this}}]),t}(),Ke=0;at({Element:{animate:function(t,e,n){var i=Ue.sanitise(t,e,n),r=this.timeline();return new Ue(i.duration).loop(i).element(this).timeline(r).schedule(e,n)},delay:function(t,e){return this.animate(0,t,e)},_clearTransformRunnersBefore:function(t){this._transformationRunners.clearBefore(t.id)},_currentTransform:function(e){return this._transformationRunners.runners.filter(function(t){return t.id<=e.id}).map(Je).reduce(We,new Ee)},addRunner:function(t){this._transformationRunners.add(t),Ft.transform_frame(function(){var t=this._transformationRunners.runners.map(Je).reduce(We,new Ee);this.transform(t),this._transformationRunners.merge(),1===this._transformationRunners.length()&&(this._frameId=null)}.bind(this),this._frameId)},_prepareRunner:function(){null==this._frameId&&(this._transformationRunners=(new Ze).add(new $e(new Ee(this))),this._frameId=Ke++)}}}),$(Ue,{attr:function(t,e){return this.styleAttr("attr",t,e)},css:function(t,e){return this.styleAttr("css",t,e)},styleAttr:function(e,n,t){if("object"===l(n))for(var i in t)this.styleAttr(e,i,t[i]);var r=new Ie(this._stepper).to(t);return this.queue(function(){r=r.from(this.element()[e](n))},function(t){return this.element()[e](n,r.at(t)),r.done()}),this},zoom:function(t,e){var n=new Ie(this._stepper).to(new Mt(t));return this.queue(function(){n=n.from(this.zoom())},function(t){return this.element().zoom(n.at(t),e),n.done()}),this},transform:function(d,v,y){if(v=d.relative||v,this._isDeclarative&&!v&&this._tryRetarget("transform",d))return this;var p=I(d);y=null!=d.affine?d.affine:null!=y?y:!p;var m,g,w,k,b,x=(new Ie).type(y?Ye:Ee).stepper(this._stepper);return this.queue(function(){g=g||this.element(),m=m||X(d,g),b=new Ee(v?void 0:g),g.addRunner(this),v||g._clearTransformRunnersBefore(this)},function(t){v||this.clearTransform();var e=new ie(m).transform(g._currentTransform(this)),n=e.x,i=e.y,r=new Ee(_({},d,{origin:[n,i]})),s=this._isDeclarative&&w?w:b;if(y){r=r.decompose(n,i),s=s.decompose(n,i);var u=r.rotate,o=s.rotate,a=[u-360,u,u+360],h=a.map(function(t){return Math.abs(t-o)}),l=Math.min.apply(Math,O(h)),c=h.indexOf(l);r.rotate=a[c]}v&&(p||(r.rotate=d.rotate||0),this._isDeclarative&&k&&(s.rotate=k)),x.from(s),x.to(r);var f=x.at(t);return k=f.rotate,w=new Ee(f),this.addTransform(w),x.done()},function(t){(t.origin||"center").toString()!==(d.origin||"center").toString()&&(m=X(d,g)),d=_({},t,{origin:m})}),this._isDeclarative&&this._rememberMorpher("transform",x),this},x:function(t,e){return this._queueNumber("x",t)},y:function(t){return this._queueNumber("y",t)},dx:function(t){return this._queueNumberDelta("dx",t)},dy:function(t){return this._queueNumberDelta("dy",t)},_queueNumberDelta:function(e,n){if(n=new Mt(n),this._tryRetargetDelta(e,n))return this;var i=new Ie(this._stepper).to(n);return this.queue(function(){var t=this.element()[e]();i.from(t),i.to(t+n)},function(t){return this.element()[e](i.at(t)),i.done()}),this._rememberMorpher(e,i),this},_queueObject:function(e,t){if(this._tryRetarget(e,t))return this;var n=new Ie(this._stepper).to(t);return this.queue(function(){n.from(this.element()[e]())},function(t){return this.element()[e](n.at(t)),n.done()}),this._rememberMorpher(e,n),this},_queueNumber:function(t,e){return this._queueObject(t,new Mt(e))},cx:function(t){return this._queueNumber("cx",t)},cy:function(t){return this._queueNumber("cy",t)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},size:function(t,e){var n;return t&&e||(n=this._element.bbox()),t||(t=n.width/n.height*e),e||(e=n.height/n.width*t),this.width(t).height(e)},width:function(t){return this._queueNumber("width",t)},height:function(t){return this._queueNumber("height",t)},plot:function(t,e,n,i){return 4===arguments.length?this.plot([t,e,n,i]):this._queueObject("plot",new this._element.MorphArray(t))},leading:function(t){return this._queueNumber("leading",t)},viewbox:function(t,e,n,i){return this._queueObject("viewbox",new Box(t,e,n,i))},update:function(t){return"object"!==l(t)?this.update({offset:t,color:arguments[1],opacity:arguments[2]}):(null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",t.offset),this)}});var tn=Object.freeze({EventTarget:mt,Dom:St,Element:Et,Shape:Nt,Container:Dt,HtmlNode:Pt,Doc:Rt,Defs:zt,G:qt,Animator:Ft,Bare:It,Circle:$t,ClipPath:Jt,A:Zt,Ellipse:Kt,Stop:te,Gradient:ue,Image:ae,Line:fe,Marker:de,Mask:ve,Path:ke,Pattern:oe,Polygon:xe,Polyline:_e,Rect:Oe,Symbol:Ae,Text:je,TextPath:Me,Tspan:Se,Use:Te,SVGNumber:Mt,SVGArray:jt,PathArray:ye,PointArray:he,Matrix:Ee,Point:ie,Box:re,Color:At,Morphable:Ie,Queue:Lt,Runner:Ue,Timeline:Qe,Controller:Re,Ease:ze,PID:Fe,Spring:Le});at("Dom",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){var t=this.position()+1,e=this.parent();return e.removeElement(this).add(this,t),"function"==typeof e.isRoot&&e.isRoot()&&e.node.appendChild(e.defs().node),this},backward:function(){var t=this.position();return 0<t&&this.parent().removeElement(this).add(this,t-1),this},front:function(){var t=this.parent();return t.node.appendChild(this.node),"function"==typeof t.isRoot&&t.isRoot()&&t.node.appendChild(t.defs().node),this},back:function(){return 0<this.position()&&this.parent().removeElement(this).add(this,0),this},before:function(t){t.remove();var e=this.position();return this.parent().add(t,e),this},after:function(t){t.remove();var e=this.position();return this.parent().add(t,e+1),this}}),at("Dom",{data:function(e,t,n){if("object"===l(e))for(t in e)this.data(t,e[t]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+e))}catch(t){return this.attr("data-"+e)}else this.attr("data-"+e,null===t?null:!0===n||"string"==typeof t||"number"==typeof t?t:JSON.stringify(t));return this}}),at("Dom",{classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(C)},hasClass:function(t){return-1!==this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(e){return this.hasClass(e)&&this.attr("class",this.classes().filter(function(t){return t!==e}).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)}}),at("Dom",{css:function(t,e){var n={};if(0===arguments.length)return this.node.style.cssText.split(/\s*;\s*/).filter(function(t){return!!t.length}).forEach(function(t){var e=t.split(/\s*:\s*/);n[e[0]]=e[1]}),n;if(arguments.length<2){if(Array.isArray(t)){var i=!0,r=!1,s=void 0;try{for(var u,o=t[Symbol.iterator]();!(i=(u=o.next()).done);i=!0){var a=D(u.value);n[a]=this.node.style[a]}}catch(t){r=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(r)throw s}}return n}if("string"==typeof t)return this.node.style[D(t)];if("object"===l(t))for(name in t)this.node.style[D(name)]=null==t[name]||b.test(t[name])?"":t[name]}return 2===arguments.length&&(this.node.style[D(t)]=null==e||b.test(e)?"":e),this},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},visible:function(){return"none"!==this.css("display")}}),at("Element",{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(t).slice(0,-1).map(function(t){var e=t.trim().split("(");return[e[0],e[1].split(C).map(function(t){return parseFloat(t)})]}).reverse().reduce(function(t,e){return"matrix"===e[0]?t.lmultiply(q(e[1])):t[e[0]].apply(t,e[1])},new Ee)},toParent:function(t){if(this===t)return this;var e=this.screenCTM(),n=t.screenCTM().inverse();return this.addTo(t).untransform().transform(n.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())},transform:function(t,e){if(null==t||"string"==typeof t){var n=new Ee(this).decompose();return n[t]||n}I(t)||(t=_({},t,{origin:X(t,this)}));var i=new Ee(!0===e?this:e||!1).transform(t);return this.attr("transform",i)}}),at("Dom",{remember:function(t,e){if("object"===l(t))for(var n in t)this.remember(n,t[n]);else{if(1===arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0===arguments.length)this._memory={};else for(var t=arguments.length-1;0<=t;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory=this._memory||{}}});var en={stroke:["color","width","opacity","linecap","linejoin","miterlimit","dasharray","dashoffset"],fill:["color","opacity","rule"],prefix:function(t,e){return"color"===e?t:t+"-"+e}};["fill","stroke"].forEach(function(e){var n,t={};t[e]=function(t){if(void 0===t)return this;if("string"==typeof t||At.isRgb(t)||t instanceof Et)this.attr(e,t);else for(n=en[e].length-1;0<=n;n--)null!=t[en[e][n]]&&this.attr(en.prefix(e,en[e][n]),t[en[e][n]]);return this},at(["Shape","Runner"],t)}),at(["Element","Runner"],{matrix:function(t,e,n,i,r,s){return null==t?new Ee(this):this.attr("transform",new Ee(t,e,n,i,r,s))},rotate:function(t,e,n){return this.transform({rotate:t,ox:e,oy:n},!0)},skew:function(t,e,n,i){return 1===arguments.length||3===arguments.length?this.transform({skew:t,ox:e,oy:n},!0):this.transform({skew:[t,e],ox:n,oy:i},!0)},shear:function(t,e,n){return this.transform({shear:t,ox:e,oy:n},!0)},scale:function(t,e,n,i){return 1===arguments.length||3===arguments.length?this.transform({scale:t,ox:e,oy:n},!0):this.transform({scale:[t,e],ox:n,oy:i},!0)},translate:function(t,e){return this.transform({translate:[t,e]},!0)},relative:function(t,e){return this.transform({relative:[t,e]},!0)},flip:function(t,e){var n="string"==typeof t?t:(isFinite(t),"both"),i="both"===t&&isFinite(e)?[e,e]:"x"===t?[e,0]:"y"===t?[0,e]:isFinite(t)?[t,t]:[0,0];this.transform({flip:n,origin:i},!0)},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new Mt(t).plus(this instanceof Ue?0:this.x()),!0)},dy:function(t){return this.y(new Mt(t).plus(this instanceof Ue?0:this.y()),!0)},dmove:function(t,e){return this.dx(t).dy(e)}}),at("radius",{radius:function(t,e){var n=(this._element||this).type;return"radialGradient"===n||"radialGradient"===n?this.attr("r",new Mt(t)):this.rx(t).ry(null==e?t:e)}}),at("Path",{length:function(){return this.node.getTotalLength()},pointAt:function(t){return new ie(this.node.getPointAtLength(t))}}),at(["Element","Runner"],{font:function(t,e){if("object"===l(t))for(e in t)this.font(e,t[e]);return"leading"===t?this.leading(e):"anchor"===t?this.attr("text-anchor",e):"size"===t||"family"===t||"weight"===t||"stretch"===t||"variant"===t||"style"===t?this.attr("font-"+t,e):this.attr(t,e)}});var nn=$;function rn(t){return K(t)}return nn([Rt,Ae,ae,oe,de],ht("viewbox")),nn([fe,_e,xe,ke],ht("marker")),nn(je,ht("Text")),nn(ke,ht("Path")),nn(zt,ht("Defs")),nn([je,Se],ht("Tspan")),nn([Oe,Kt,$t,ue],ht("radius")),nn(mt,ht("EventTarget")),nn(St,ht("Dom")),nn(Et,ht("Element")),nn(Nt,ht("Shape")),nn(Dt,ht("Container")),function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];Ge.push.apply(Ge,O([].concat(t)))}([Mt,At,re,Ee,jt,he,ye]),$(Ge,{to:function(t,e){return(new Ie).type(this.constructor).from(this.valueOf()).to(t,e)},fromArray:function(t){return this.init(t),this}}),Object.assign(rn,tn),Object.assign(rn,W),Object.assign(rn,ut),rn.utils=kt,rn.regex=e,(rn.get=rn).find=Wt,Object.assign(rn,B),rn.easing=De,Object.assign(rn,pt),rn.TransformBag=Ye,rn.ObjectBag=He,rn.NonMorphable=Xe,rn.parser=ne,rn.defaults=Ot,rn}();
+var SVG=function(){"use strict";function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function a(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function _(r){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},e=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=s[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n(t,e)}function u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function n(t,e){return(n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function h(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?s(t):e}function c(t,e,n){return(c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var i=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=u(t)););return t}(t,e);if(i){var r=Object.getOwnPropertyDescriptor(i,e);return r.get?r.get.call(n):r.value}})(t,e,n||t)}function f(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],i=!0,r=!1,s=void 0;try{for(var u,o=t[Symbol.iterator]();!(i=(u=o.next()).done)&&(n.push(u.value),!e||n.length!==e);i=!0);}catch(t){r=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(r)throw s}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function O(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var d=function t(){o(this,t)},v=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,y=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,p=/rgb\((\d+),(\d+),(\d+)\)/,m=/(#[a-z0-9\-_]+)/i,t=/\)\s*,?\s*/,g=/\s/g,w=/^#[a-f0-9]{3,6}$/i,k=/^rgb\(/,b=/^(\s+)?$/,x=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,A=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,C=/[\s,]+/,j=/([^e])-/gi,M=/[MLHVCSQTAZ]/gi,S=/[MLHVCSQTAZ]/i,T=/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,E=/\./g,e=Object.freeze({numberAndUnit:v,hex:y,rgb:p,reference:m,transforms:t,whitespace:g,isHex:w,isRgb:k,isCss:/[^:]+:[^;]+;?/,isBlank:b,isNumber:x,isPercent:/^-?[\d.]+%$/,isImage:A,delimiter:C,hyphen:j,pathLetters:M,isPathLetter:S,numbersWithDots:T,dots:E});function N(t,e,n,i){return n+i.replace(E," .")}function D(t){return t.toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()})}function P(t){return t.charAt(0).toUpperCase()+t.slice(1)}function z(t){var e=t.toString(16);return 1===e.length?"0"+e:e}function R(t,e,n){if(null==e||null==n){var i=t.bbox();null==e?e=i.width/i.height*n:null==n&&(n=i.height/i.width*e)}return{width:e,height:n}}function q(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}var L="abcdef".split("");function F(t,e,n){return Math.abs(e-t)<(n||1e-6)}function I(t){return null!=t.a||null!=t.b||null!=t.c||null!=t.d||null!=t.e||null!=t.f}function X(t,e){var n,i,r=t.origin;if("string"==typeof r||null==r){var s=(r||"center").toLowerCase().trim(),u=e.bbox(),o=u.height,a=u.width,h=u.x,l=u.y,c=s.includes("left")?h:s.includes("right")?h+a:h+a/2,f=s.includes("top")?l:s.includes("bottom")?l+o:l+o/2;n=null!=t.ox?t.ox:c,i=null!=t.oy?t.oy:f}else n=r[0],i=r[1];return[n,i]}var Y="http://www.w3.org/2000/svg",H="http://www.w3.org/2000/xmlns/",G="http://www.w3.org/1999/xlink",V="http://svgjs.com/svgjs",B=Object.freeze({ns:Y,xmlns:H,xlink:G,svgjs:V});function Q(t,e){return e||U(t)}function U(t){return document.createElementNS(Y,t)}function $(t,e){var n,i;for(i=(t=Array.isArray(t)?t:[t]).length-1;0<=i;i--)for(n in e)t[i].prototype[n]=e[n]}var W=Object.freeze({nodeOrNew:Q,makeNode:U,extend:$,addFactory:function(t,e){$(t,e)},invent:function(e){var t="function"==typeof e.create?e.create:function(t){e.inherit.call(this,t||U(e.create))};return e.inherit&&(t.prototype=new e.inherit,t.prototype.constructor=t),e.extend&&$(t,e.extend),e.construct&&$(e.parent||nt("Container"),e.construct),t}}),J={},Z=Symbol("root");function K(t){if(t instanceof d)return t;if("object"===l(t))return tt(t);if(null==t)return new J[Z];if("string"==typeof t&&"<"!==t.charAt(0))return tt(document.querySelector(t));var e=U("svg");return e.innerHTML=t,t=tt(e.firstChild)}function tt(t){return t?t.instance instanceof d?t.instance:t instanceof window.SVGElement?"svg"===t.nodeName?new J[Z](t):"linearGradient"===t.nodeName||"radialGradient"===t.nodeName?new J.Gradient(t):J[P(t.nodeName)]?new(J[P(t.nodeName)])(t):new J.Bare(t):new J.HtmlNode(t):null}function et(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t.name,n=2<arguments.length&&void 0!==arguments[2]&&arguments[2];return J[e]=t,n&&(J[Z]=t),t}function nt(t){return J[t]}var it=1e3;function rt(t){return"Svgjs"+P(t)+it++}function st(t){for(var e=t.children.length-1;0<=e;e--)st(t.children[e]);return t.id?tt(t).id(rt(t.nodeName)):tt(t)}var ut=Object.freeze({root:Z,makeInstance:K,adopt:tt,register:et,getClass:nt,eid:rt,assignNewId:st}),ot=0;function at(t){var e=K(t).getEventHolder();return e.events||(e.events={}),e.events}function ht(t){return K(t).getEventTarget()}function lt(t,e,i,n,r){var s=i.bind(n||t),u=at(t),o=ht(t);e=Array.isArray(e)?e:e.split(C),i._svgjsListenerId||(i._svgjsListenerId=++ot),e.forEach(function(t){var e=t.split(".")[0],n=t.split(".")[1]||"*";u[e]=u[e]||{},u[e][n]=u[e][n]||{},u[e][n][i._svgjsListenerId]=s,o.addEventListener(e,s,r||!1)})}function ct(u,t,o,a){var h=at(u),l=ht(u);("function"!=typeof o||(o=o._svgjsListenerId))&&(t=Array.isArray(t)?t:(t||"").split(C)).forEach(function(t){var e,n,i,r=t&&t.split(".")[0],s=t&&t.split(".")[1];if(o)h[r]&&h[r][s||"*"]&&(l.removeEventListener(r,h[r][s||"*"][o],a||!1),delete h[r][s||"*"][o]);else if(r&&s){if(h[r]&&h[r][s]){for(n in h[r][s])ct(l,[r,s].join("."),n);delete h[r][s]}}else if(s)for(t in h)for(e in h[t])s===e&&ct(l,[t,s].join("."));else if(r){if(h[r]){for(e in h[r])ct(l,[r,e].join("."));delete h[r]}}else{for(t in h)ct(l,t);(i=K(u).getEventHolder()).events&&(i.events={})}})}function ft(t,e,n){var i=ht(t);return e instanceof window.Event||(e=new window.CustomEvent(e,{detail:n,cancelable:!0})),i.dispatchEvent(e),e}var dt=Object.freeze({on:lt,off:ct,dispatch:ft}),vt=function(t){function i(){var t,e=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).events,n=void 0===e?{}:e;return o(this,i),(t=h(this,u(i).call(this))).events=n,t}return r(i,d),a(i,[{key:"addEventListener",value:function(){}},{key:"on",value:function(t,e,n,i){return lt(this,t,e,n,i),this}},{key:"off",value:function(t,e){return ct(this,t,e),this}},{key:"dispatch",value:function(t,e){return ft(this,t,e)}},{key:"dispatchEvent",value:function(t){var e=this.getEventHolder().events;if(!e)return!0;var n=e[t.type];for(var i in n)for(var r in n[i])n[i][r](t);return!t.defaultPrevented}},{key:"fire",value:function(t,e){return this.dispatch(t,e),this}},{key:"getEventHolder",value:function(){return this}},{key:"getEventTarget",value:function(){return this}},{key:"removeEventListener",value:function(){}}]),i}();function yt(t,e){var n,i=t.length,r=[];for(n=0;n<i;n++)r.push(e(t[n]));return r}function pt(t){return t%360*Math.PI/180}$(vt,["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","touchstart","touchmove","touchleave","touchend","touchcancel"].reduce(function(t,e){return t[e]=function(t){return null===t?ct(this,e):lt(this,e,t),this},t},{}));var mt=Object.freeze({map:yt,filter:function(t,e){var n,i=t.length,r=[];for(n=0;n<i;n++)e(t[n])&&r.push(t[n]);return r},radians:pt,degrees:function(t){return 180*t/Math.PI%360},filterSVGElements:function(t){return this.filter(t,function(t){return t instanceof window.SVGElement})}});function gt(){}var wt={duration:400,ease:">",delay:0},kt={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","font-size":16,"font-family":"Helvetica, Arial, sans-serif","text-anchor":"start"},bt=Object.freeze({noop:gt,timeline:wt,attrs:kt}),xt=function(){function t(){o(this,t),this.init.apply(this,arguments)}return a(t,[{key:"init",value:function(t,e,n){var i,r;(this.r=0,this.g=0,this.b=0,t)&&("string"==typeof t?k.test(t)?(i=p.exec(t.replace(g,"")),this.r=parseInt(i[1]),this.g=parseInt(i[2]),this.b=parseInt(i[3])):w.test(t)&&(i=y.exec(4===(r=t).length?["#",r.substring(1,2),r.substring(1,2),r.substring(2,3),r.substring(2,3),r.substring(3,4),r.substring(3,4)].join(""):r),this.r=parseInt(i[1],16),this.g=parseInt(i[2],16),this.b=parseInt(i[3],16)):Array.isArray(t)?(this.r=t[0],this.g=t[1],this.b=t[2]):"object"===l(t)?(this.r=t.r,this.g=t.g,this.b=t.b):3===arguments.length&&(this.r=t,this.g=e,this.b=n))}},{key:"toString",value:function(){return this.toHex()}},{key:"toArray",value:function(){return[this.r,this.g,this.b]}},{key:"toHex",value:function(){return"#"+z(Math.round(this.r))+z(Math.round(this.g))+z(Math.round(this.b))}},{key:"toRgb",value:function(){return"rgb("+[this.r,this.g,this.b].join()+")"}},{key:"brightness",value:function(){return this.r/255*.3+this.g/255*.59+this.b/255*.11}}],[{key:"test",value:function(t){return t+="",w.test(t)||k.test(t)}},{key:"isRgb",value:function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b}},{key:"isColor",value:function(t){return this.isRgb(t)||this.test(t)}}]),t}(),_t=function(){try{return Function("name","baseClass","_constructor",["baseClass = baseClass || Array","return {","[name]: class extends baseClass {","constructor (...args) {","super(...args)","_constructor && _constructor.apply(this, args)","}","}","}[name]"].join("\n"))}catch(t){return function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:Array,n=2<arguments.length?arguments[2]:void 0,i=function(){e.apply(this,arguments),n&&n.apply(this,arguments)};return(i.prototype=Object.create(e.prototype)).constructor=i}}}(),Ot=_t("SVGArray",Array,function(){this.init.apply(this,arguments)});$(Ot,{init:function(){this.length=0,this.push.apply(this,O(this.parse.apply(this,arguments)))},toArray:function(){return Array.prototype.concat.apply([],this)},toString:function(){return this.join(" ")},valueOf:function(){var t=[];return t.push.apply(t,O(this)),t},parse:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];return t instanceof Array?t:t.trim().split(C).map(parseFloat)},clone:function(){return new this.constructor(this)},toSet:function(){return new Set(this)}});var At=function(){function n(){o(this,n),this.init.apply(this,arguments)}return a(n,[{key:"init",value:function(t,e){e=Array.isArray(t)?t[1]:e,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(v))&&(this.value=parseFloat(e[1]),"%"===e[5]?this.value/=100:"s"===e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof n&&(this.value=t.valueOf(),this.unit=t.unit)}},{key:"toString",value:function(){return("%"===this.unit?~~(1e8*this.value)/1e6:"s"===this.unit?this.value/1e3:this.value)+this.unit}},{key:"toJSON",value:function(){return this.toString()}},{key:"toArray",value:function(){return[this.value,this.unit]}},{key:"valueOf",value:function(){return this.value}},{key:"plus",value:function(t){return new n(this+(t=new n(t)),this.unit||t.unit)}},{key:"minus",value:function(t){return new n(this-(t=new n(t)),this.unit||t.unit)}},{key:"times",value:function(t){return new n(this*(t=new n(t)),this.unit||t.unit)}},{key:"divide",value:function(t){return new n(this/(t=new n(t)),this.unit||t.unit)}}]),n}();var Ct=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,t))).node=t,e.type=t.nodeName,e}return r(n,vt),a(n,[{key:"add",value:function(t,e){return t=K(t),null==e?this.node.appendChild(t.node):t.node!==this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this}},{key:"addTo",value:function(t){return K(t).put(this)}},{key:"children",value:function(){return yt(this.node.children,function(t){return tt(t)})}},{key:"clear",value:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,this}},{key:"clone",value:function(t){this.writeDataToDom();var e=st(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e}},{key:"each",value:function(t,e){var n,i,r=this.children();for(n=0,i=r.length;n<i;n++)t.apply(r[n],[n,r]),e&&r[n].each(t,e);return this}},{key:"first",value:function(){return tt(this.node.firstChild)}},{key:"get",value:function(t){return tt(this.node.childNodes[t])}},{key:"getEventHolder",value:function(){return this.node}},{key:"getEventTarget",value:function(){return this.node}},{key:"has",value:function(t){return 0<=this.index(t)}},{key:"id",value:function(t){return void 0!==t||this.node.id||(this.node.id=rt(this.type)),this.attr("id",t)}},{key:"index",value:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)}},{key:"last",value:function(){return tt(this.node.lastChild)}},{key:"matches",value:function(t){return e=this.node,n=t,(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,n);var e,n}},{key:"native",value:function(){return this.node}},{key:"parent",value:function(t){var e=this;if(!e.node.parentNode)return null;if(e=tt(e.node.parentNode),!t)return e;for(;e&&e.node instanceof window.SVGElement;){if("string"==typeof t?e.matches(t):e instanceof t)return e;e=tt(e.node.parentNode)}}},{key:"put",value:function(t,e){return this.add(t,e),t}},{key:"putIn",value:function(t){return K(t).add(this)}},{key:"remove",value:function(){return this.parent()&&this.parent().removeElement(this),this}},{key:"removeElement",value:function(t){return this.node.removeChild(t.node),this}},{key:"replace",value:function(t){return this.after(t).remove(),t}},{key:"toString",value:function(){return this.id()}},{key:"svg",value:function(t){var e,n;if(!t)return this.writeDataToDom(),this.node.outerHTML;for((e=document.createElementNS(Y,"svg")).innerHTML=t,n=e.children.length;n--;)this.node.appendChild(e.firstElementChild);return this}},{key:"writeDataToDom",value:function(){return this.each(function(){this.writeDataToDom()}),this}}]),n}();$(Ct,{attr:function(t,e,n){if(null==t){t={},e=this.node.attributes;var i=!0,r=!1,s=void 0;try{for(var u,o=e[Symbol.iterator]();!(i=(u=o.next()).done);i=!0){var a=u.value;t[a.nodeName]=x.test(a.nodeValue)?parseFloat(a.nodeValue):a.nodeValue}}catch(t){r=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(r)throw s}}return t}if(Array.isArray(t));else if("object"===l(t))for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?kt[t]:x.test(e)?parseFloat(e):e;for("fill"!==t&&"stroke"!==t||A.test(e)&&(e=this.doc().defs().image(e));"function"==typeof e.attrHook;)e=e.attrHook(this,t);"number"==typeof e?e=new At(e):xt.isColor(e)?e=new xt(e):e.constructor===Array&&(e=new Ot(e)),"leading"===t?this.leading&&this.leading(e):"string"==typeof n?this.node.setAttributeNS(n,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!==t&&"x"!==t||this.rebuild()}return this}});var jt=nt(Z),Mt=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,t))).dom={},e.node.instance=s(s(e)),t.hasAttribute("svgjs:data")&&e.setData(JSON.parse(t.getAttribute("svgjs:data"))||{}),e}return r(n,Ct),a(n,[{key:"center",value:function(t,e){return this.cx(t).cy(e)}},{key:"cx",value:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)}},{key:"cy",value:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)}},{key:"defs",value:function(){return this.doc().defs()}},{key:"doc",value:function(){var t=this.parent(jt);return t&&t.doc()}},{key:"getEventHolder",value:function(){return this}},{key:"height",value:function(t){return this.attr("height",t)}},{key:"inside",value:function(t,e){var n=this.bbox();return t>n.x&&e>n.y&&t<n.x+n.width&&e<n.y+n.height}},{key:"move",value:function(t,e){return this.x(t).y(e)}},{key:"parents",value:function(t){var e=[],n=this;do{if(!(n=n.parent(t))||n instanceof nt("HtmlNode"))break;e.push(n)}while(n.parent);return e}},{key:"reference",value:function(t){var e=function(t){var e=(t||"").toString().match(m);if(e)return e[1]}(this.attr(t));return e?K(e):null}},{key:"setData",value:function(t){return this.dom=t,this}},{key:"size",value:function(t,e){var n=R(this,t,e);return this.width(new At(n.width)).height(new At(n.height))}},{key:"width",value:function(t){return this.attr("width",t)}},{key:"writeDataToDom",value:function(){return this.node.removeAttribute("svgjs:data"),Object.keys(this.dom).length&&this.node.setAttribute("svgjs:data",JSON.stringify(this.dom)),c(u(n.prototype),"writeDataToDom",this).call(this)}},{key:"x",value:function(t){return this.attr("x",t)}},{key:"y",value:function(t){return this.attr("y",t)}}]),n}(),St=function(t){function e(){return o(this,e),h(this,u(e).apply(this,arguments))}return r(e,Mt),e}(),Tt=function(t){function e(){return o(this,e),h(this,u(e).apply(this,arguments))}return r(e,Mt),a(e,[{key:"flatten",value:function(t){return this.each(function(){return this instanceof e?this.flatten(t).ungroup(t):this.toParent(t)}),this.node.firstElementChild||this.remove(),this}},{key:"ungroup",value:function(t){return t=t||this.parent(),this.each(function(){return this.toParent(t)}),this.remove(),this}}]),e}(),Et=function(t){function e(t){return o(this,e),h(this,u(e).call(this,t,e))}return r(e,Ct),e}();et(Et);var Nt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("defs",t),e))}return r(e,Tt),a(e,[{key:"flatten",value:function(){return this}},{key:"ungroup",value:function(){return this}}]),e}();et(Nt);var Dt={};function Pt(t,e){if(Array.isArray(t)){var n=!0,i=!1,r=void 0;try{for(var s,u=t[Symbol.iterator]();!(n=(s=u.next()).done);n=!0){Pt(s.value,e)}}catch(t){i=!0,r=t}finally{try{n||null==u.return||u.return()}finally{if(i)throw r}}}else if("object"!==l(t))Dt[t]=Object.assign(Dt[t]||{},e);else for(var o=Object.entries(t),a=0;a<o.length;a++){var h=f(o[a],2);Pt(h[0],h[1])}}function zt(t){return Dt[t]||{}}var Rt=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,Q("svg",t),n))).namespace(),e}return r(n,Tt),a(n,[{key:"isRoot",value:function(){return!(this.node.parentNode&&this.node.parentNode instanceof window.SVGElement&&"#document"!==this.node.parentNode.nodeName)}},{key:"doc",value:function(){return this.isRoot()?this:c(u(n.prototype),"doc",this).call(this)}},{key:"namespace",value:function(){return this.isRoot()?this.attr({xmlns:Y,version:"1.1"}).attr("xmlns:xlink",G,H).attr("xmlns:svgjs",V,H):this.doc().namespace()}},{key:"defs",value:function(){return this.isRoot()?tt(this.node.getElementsByTagName("defs")[0])||this.put(new Nt):this.doc().defs()}},{key:"parent",value:function(t){return this.isRoot()?"#document"===this.node.parentNode.nodeName?null:tt(this.node.parentNode):c(u(n.prototype),"parent",this).call(this,t)}},{key:"clear",value:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}}]),n}();Pt({Container:{nested:function(){return this.put(new Rt)}}}),et(Rt,"Doc",!0);var qt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("g",t),e))}return r(e,Tt),e}();Pt({Element:{group:function(){return this.put(new qt)}}}),et(qt);var Lt=function(){function t(){o(this,t),this._first=null,this._last=null}return a(t,[{key:"push",value:function(t){var e=t.next?t:{value:t,next:null,prev:null};return this._last?(e.prev=this._last,this._last.next=e,this._last=e):(this._last=e,this._first=e),e}},{key:"shift",value:function(){var t=this._first;return t?(this._first=t.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,t.value):null}},{key:"first",value:function(){return this._first&&this._first.value}},{key:"last",value:function(){return this._last&&this._last.value}},{key:"remove",value:function(t){t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t===this._last&&(this._last=t.prev),t===this._first&&(this._first=t.next),t.prev=null,t.next=null}}]),t}(),Ft={nextDraw:null,frames:new Lt,timeouts:new Lt,timer:window.performance||window.Date,transforms:[],frame:function(t){var e=Ft.frames.push({run:t});return null===Ft.nextDraw&&(Ft.nextDraw=window.requestAnimationFrame(Ft._draw)),e},transform_frame:function(t,e){Ft.transforms[e]=t},timeout:function(t,e){e=e||0;var n=Ft.timer.now()+e,i=Ft.timeouts.push({run:t,time:n});return null===Ft.nextDraw&&(Ft.nextDraw=window.requestAnimationFrame(Ft._draw)),i},cancelFrame:function(t){Ft.frames.remove(t)},clearTimeout:function(t){Ft.timeouts.remove(t)},_draw:function(t){for(var e=null,n=Ft.timeouts.last();(e=Ft.timeouts.shift())&&(t>=e.time?e.run():Ft.timeouts.push(e),e!==n););for(var i=null,r=Ft.frames.last();i!==r&&(i=Ft.frames.shift());)i.run();Ft.transforms.forEach(function(t){t()}),Ft.nextDraw=Ft.timeouts.first()||Ft.frames.first()?window.requestAnimationFrame(Ft._draw):null}},It=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q(t,"string"==typeof t?null:t),e))}return r(e,Tt),a(e,[{key:"words",value:function(t){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this.node.appendChild(document.createTextNode(t)),this}}]),e}();function Xt(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())}function Yt(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())}function Ht(t){return null==t?this.attr("cx"):this.attr("cx",t)}function Gt(t){return null==t?this.attr("cy"):this.attr("cy",t)}function Vt(t){return null==t?2*this.rx():this.rx(new At(t).divide(2))}function Bt(t){return null==t?2*this.ry():this.ry(new At(t).divide(2))}function Qt(t,e){var n=R(this,t,e);return this.rx(new At(n.width).divide(2)).ry(new At(n.height).divide(2))}et(It),Pt("Container",{element:function(t,e){return this.put(new It(t,e))}});var Ut=Object.freeze({rx:function(t){return this.attr("rx",t)},ry:function(t){return this.attr("ry",t)},x:Xt,y:Yt,cx:Ht,cy:Gt,width:Vt,height:Bt,size:Qt}),$t=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("circle",t),e))}return r(e,St),a(e,[{key:"radius",value:function(t){return this.attr("r",t)}},{key:"rx",value:function(t){return this.attr("r",t)}},{key:"ry",value:function(t){return this.rx(t)}}]),e}();function Wt(t,e){return yt((e||document).querySelectorAll(t),function(t){return tt(t)})}function Jt(t){return Wt(t,this.node)}$($t,{x:Xt,y:Yt,cx:Ht,cy:Gt,width:Vt,height:Bt,size:Qt}),Pt({Element:{circle:function(t){return this.put(new $t).radius(new At(t).divide(2)).move(0,0)}}}),et($t),Pt("Dom",{find:Jt});var Zt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("clipPath",t),e))}return r(e,Tt),a(e,[{key:"remove",value:function(){return this.targets().forEach(function(t){t.unclip()}),c(u(e.prototype),"remove",this).call(this)}},{key:"targets",value:function(){return Wt('svg [clip-path*="'+this.id()+'"]')}}]),e}();Pt({Container:{clip:function(){return this.defs().put(new Zt)}},Element:{clipWith:function(t){var e=t instanceof Zt?t:this.parent().clip().add(t);return this.attr("clip-path",'url("#'+e.id()+'")')},unclip:function(){return this.attr("clip-path",null)},clipper:function(){return this.reference("clip-path")}}}),et(Zt);var Kt=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("a",t),e))}return r(e,Tt),a(e,[{key:"to",value:function(t){return this.attr("href",t,G)}},{key:"target",value:function(t){return this.attr("target",t)}}]),e}();Pt({Container:{link:function(t){return this.put(new Kt).to(t)}},Element:{linkTo:function(t){var e=new Kt;return"function"==typeof t?t.call(e,e):e.to(t),this.parent().put(e).put(this)}}}),et(Kt);var te=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("ellipse",t),e))}return r(e,St),e}();$(te,Ut),Pt("Container",{ellipse:function(t,e){return this.put(new te).size(t,e).move(0,0)}}),et(te);var ee=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("stop",t),e))}return r(e,Mt),a(e,[{key:"update",value:function(t){return("number"==typeof t||t instanceof At)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new At(t.offset)),this}}]),e}();et(ee);var ne=Object.freeze({from:function(t,e){return"radialGradient"===(this._element||this).type?this.attr({fx:new At(t),fy:new At(e)}):this.attr({x1:new At(t),y1:new At(e)})},to:function(t,e){return"radialGradient"===(this._element||this).type?this.attr({cx:new At(t),cy:new At(e)}):this.attr({x2:new At(t),y2:new At(e)})}});function ie(){if(!ie.nodes){var t=(new Rt).size(2,0).css({opacity:0,position:"absolute",left:"-100%",top:"-100%",overflow:"hidden"}),e=t.path().node;ie.nodes={svg:t,path:e}}if(!ie.nodes.svg.node.parentNode){var n=document.body||document.documentElement;ie.nodes.svg.addTo(n)}return ie.nodes}var re=function(){function r(t,e,n){var i;o(this,r),n=n||{x:0,y:0},i=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===l(t)?{x:t.x,y:t.y}:{x:t,y:e},this.x=null==i.x?n.x:i.x,this.y=null==i.y?n.y:i.y}return a(r,[{key:"clone",value:function(){return new r(this)}},{key:"native",value:function(){var t=ie().svg.node.createSVGPoint();return t.x=this.x,t.y=this.y,t}},{key:"transform",value:function(t){return new r(t.a*this.x+t.c*this.y+t.e,t.b*this.x+t.d*this.y+t.f)}}]),r}();Pt({Element:{point:function(t,e){return new re(t,e).transform(this.screenCTM().inverse())}}});var se=function(){function u(){o(this,u),this.init.apply(this,arguments)}return a(u,[{key:"init",value:function(t){var e;t="string"==typeof t?t.split(C).map(parseFloat):Array.isArray(t)?t:"object"===l(t)?[null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height]:4===arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0],this.y=t[1],this.width=t[2],this.height=t[3],null==(e=this).x&&(e.x=0,e.y=0,e.width=0,e.height=0),e.w=e.width,e.h=e.height,e.x2=e.x+e.width,e.y2=e.y+e.height,e.cx=e.x+e.width/2,e.cy=e.y+e.height/2}},{key:"merge",value:function(t){var e=Math.min(this.x,t.x),n=Math.min(this.y,t.y);return new u(e,n,Math.max(this.x+this.width,t.x+t.width)-e,Math.max(this.y+this.height,t.y+t.height)-n)}},{key:"transform",value:function(e){var n=1/0,i=-1/0,r=1/0,s=-1/0;return[new re(this.x,this.y),new re(this.x2,this.y),new re(this.x,this.y2),new re(this.x2,this.y2)].forEach(function(t){t=t.transform(e),n=Math.min(n,t.x),i=Math.max(i,t.x),r=Math.min(r,t.y),s=Math.max(s,t.y)}),new u(n,r,i-n,s-r)}},{key:"addOffset",value:function(){return this.x+=window.pageXOffset,this.y+=window.pageYOffset,this}},{key:"toString",value:function(){return this.x+" "+this.y+" "+this.width+" "+this.height}},{key:"toArray",value:function(){return[this.x,this.y,this.width,this.height]}}]),u}();function ue(e){var n,t,i;try{if(n=e(this.node),!((i=n).w||i.h||i.x||i.y||(t=this.node,(document.documentElement.contains||function(t){for(;t.parentNode;)t=t.parentNode;return t===document}).call(document.documentElement,t))))throw new Error("Element not in the dom")}catch(t){try{var r=this.clone(ie().svg).show();n=e(r.node),r.remove()}catch(t){console.warn("Getting a bounding box of this element is not possible")}}return n}Pt({Element:{bbox:function(){return new se(ue.call(this,function(t){return t.getBBox()}))},rbox:function(t){var e=new se(ue.call(this,function(t){return t.getBoundingClientRect()}));return t?e.transform(t.screenCTM().inverse()):e.addOffset()}},viewbox:{viewbox:function(t,e,n,i){return null==t?new se(this.attr("viewBox")):this.attr("viewBox",new se(t,e,n,i))}}});var oe=function(t){function i(t){return o(this,i),h(this,u(i).call(this,Q(t+"Gradient","string"==typeof t?null:t),i))}return r(i,Tt),a(i,[{key:"stop",value:function(t,e,n){return this.put(new ee).update(t,e,n)}},{key:"update",value:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}},{key:"url",value:function(){return"url(#"+this.id()+")"}},{key:"toString",value:function(){return this.url()}},{key:"attr",value:function(t,e,n){return"transform"===t&&(t="gradientTransform"),c(u(i.prototype),"attr",this).call(this,t,e,n)}},{key:"targets",value:function(){return Jt('svg [fill*="'+this.id()+'"]')}},{key:"bbox",value:function(){return new se}}]),i}();$(oe,ne),Pt({Container:{gradient:function(t,e){return this.defs().gradient(t,e)}},Defs:{gradient:function(t,e){return this.put(new oe(t)).update(e)}}}),et(oe);var ae=function(t){function i(t){return o(this,i),h(this,u(i).call(this,Q("pattern",t),i))}return r(i,Tt),a(i,[{key:"url",value:function(){return"url(#"+this.id()+")"}},{key:"update",value:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}},{key:"toString",value:function(){return this.url()}},{key:"attr",value:function(t,e,n){return"transform"===t&&(t="patternTransform"),c(u(i.prototype),"attr",this).call(this,t,e,n)}},{key:"targets",value:function(){return Jt('svg [fill*="'+this.id()+'"]')}},{key:"bbox",value:function(){return new se}}]),i}();Pt({Container:{pattern:function(t,e,n){return this.defs().pattern(t,e,n)}},Defs:{pattern:function(t,e,n){return this.put(new ae).update(n).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}}}),et(ae);var he=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("image",t),e))}return r(e,St),a(e,[{key:"load",value:function(n,i){if(!n)return this;var r=new window.Image;return lt(r,"load",function(t){var e=this.parent(ae);0===this.width()&&0===this.height()&&this.size(r.width,r.height),e instanceof ae&&0===e.width()&&0===e.height()&&e.size(this.width(),this.height()),"function"==typeof i&&i.call(this,{width:r.width,height:r.height,ratio:r.width/r.height,url:n})},this),lt(r,"load error",function(){ct(r)}),this.attr("href",r.src=n,G)}},{key:"attrHook",value:function(t){var e=this;return t.doc().defs().pattern(0,0,function(t){t.add(e)})}}]),e}();Pt({Container:{image:function(t,e){return this.put(new he).size(0,0).load(t,e)}}}),et(he);var le=_t("PointArray",Ot);$(le,{toString:function(){for(var t=0,e=this.length,n=[];t<e;t++)n.push(this[t].join(","));return n.join(" ")},toLine:function(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}},at:function(t){if(!this.destination)return this;for(var e=0,n=this.length,i=[];e<n;e++)i.push([this[e][0]+(this.destination[e][0]-this[e][0])*t,this[e][1]+(this.destination[e][1]-this[e][1])*t]);return new le(i)},parse:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[[0,0]],e=[];if(t instanceof Array){if(t[0]instanceof Array)return t}else t=t.trim().split(C).map(parseFloat);t.length%2!=0&&t.pop();for(var n=0,i=t.length;n<i;n+=2)e.push([t[n],t[n+1]]);return e},move:function(t,e){var n=this.bbox();if(t-=n.x,e-=n.y,!isNaN(t)&&!isNaN(e))for(var i=this.length-1;0<=i;i--)this[i]=[this[i][0]+t,this[i][1]+e];return this},size:function(t,e){var n,i=this.bbox();for(n=this.length-1;0<=n;n--)i.width&&(this[n][0]=(this[n][0]-i.x)*t/i.width+i.x),i.height&&(this[n][1]=(this[n][1]-i.y)*e/i.height+i.y);return this},bbox:function(){var e=-1/0,n=-1/0,i=1/0,r=1/0;return this.forEach(function(t){e=Math.max(t[0],e),n=Math.max(t[1],n),i=Math.min(t[0],i),r=Math.min(t[1],r)}),{x:i,y:r,width:e-i,height:n-r}}});var ce=le;var fe=Object.freeze({MorphArray:ce,x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},width:function(t){var e=this.bbox();return null==t?e.width:this.size(t,e.height)},height:function(t){var e=this.bbox();return null==t?e.height:this.size(e.width,t)}}),de=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("line",t),e))}return r(e,St),a(e,[{key:"array",value:function(){return new le([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])}},{key:"plot",value:function(t,e,n,i){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:n,y2:i}:new le(t).toLine(),this.attr(t))}},{key:"move",value:function(t,e){return this.attr(this.array().move(t,e).toLine())}},{key:"size",value:function(t,e){var n=R(this,t,e);return this.attr(this.array().size(n.width,n.height).toLine())}}]),e}();$(de,fe),Pt({Container:{line:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return de.prototype.plot.apply(this.put(new de),null!=e[0]?e:[0,0,0,0])}}}),et(de);var ve=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("marker",t),e))}return r(e,Tt),a(e,[{key:"width",value:function(t){return this.attr("markerWidth",t)}},{key:"height",value:function(t){return this.attr("markerHeight",t)}},{key:"ref",value:function(t,e){return this.attr("refX",t).attr("refY",e)}},{key:"update",value:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}},{key:"toString",value:function(){return"url(#"+this.id()+")"}}]),e}();Pt({Container:{marker:function(t,e,n){return this.defs().marker(t,e,n)}},Defs:{marker:function(t,e,n){return this.put(new ve).size(t,e).ref(t/2,e/2).viewbox(0,0,t,e).attr("orient","auto").update(n)}},marker:{marker:function(t,e,n,i){var r=["marker"];return"all"!==t&&r.push(t),r=r.join("-"),t=e instanceof ve?e:this.defs().marker(e,n,i),this.attr(r,t)}}}),et(ve);var ye=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("mask",t),e))}return r(e,Tt),a(e,[{key:"remove",value:function(){return this.targets().forEach(function(t){t.unmask()}),c(u(e.prototype),"remove",this).call(this)}},{key:"targets",value:function(){return Wt('svg [mask*="'+this.id()+'"]')}}]),e}();Pt({Container:{mask:function(){return this.defs().put(new ye)}},Element:{maskWith:function(t){var e=t instanceof ye?t:this.parent().mask().add(t);return this.attr("mask",'url("#'+e.id()+'")')},unmask:function(){return this.attr("mask",null)},masker:function(){return this.reference("mask")}}}),et(ye);for(var pe=_t("PathArray",Ot),me={M:function(t,e,n){return e.x=n.x=t[0],e.y=n.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],["T",t[0],t[1]]},Z:function(t,e,n){return e.x=n.x,e.y=n.y,["Z"]},A:function(t,e){return e.x=t[5],e.y=t[6],["A",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},ge="mlhvqtcsaz".split(""),we=0,ke=ge.length;we<ke;++we)me[ge[we]]=function(s){return function(t,e,n){if("H"===s)t[0]=t[0]+e.x;else if("V"===s)t[0]=t[0]+e.y;else if("A"===s)t[5]=t[5]+e.x,t[6]=t[6]+e.y;else for(var i=0,r=t.length;i<r;++i)t[i]=t[i]+(i%2?e.y:e.x);return me[s](t,e,n)}}(ge[we].toUpperCase());$(pe,{toString:function(){return function(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e][0],null!=t[e][1]&&(i+=t[e][1],null!=t[e][2]&&(i+=" ",i+=t[e][2],null!=t[e][3]&&(i+=" ",i+=t[e][3],i+=" ",i+=t[e][4],null!=t[e][5]&&(i+=" ",i+=t[e][5],i+=" ",i+=t[e][6],null!=t[e][7]&&(i+=" ",i+=t[e][7])))));return i+" "}(this)},move:function(t,e){var n=this.bbox();if(t-=n.x,e-=n.y,!isNaN(t)&&!isNaN(e))for(var i,r=this.length-1;0<=r;r--)"M"===(i=this[r][0])||"L"===i||"T"===i?(this[r][1]+=t,this[r][2]+=e):"H"===i?this[r][1]+=t:"V"===i?this[r][1]+=e:"C"===i||"S"===i||"Q"===i?(this[r][1]+=t,this[r][2]+=e,this[r][3]+=t,this[r][4]+=e,"C"===i&&(this[r][5]+=t,this[r][6]+=e)):"A"===i&&(this[r][6]+=t,this[r][7]+=e);return this},size:function(t,e){var n,i,r=this.bbox();for(n=this.length-1;0<=n;n--)"M"===(i=this[n][0])||"L"===i||"T"===i?(this[n][1]=(this[n][1]-r.x)*t/r.width+r.x,this[n][2]=(this[n][2]-r.y)*e/r.height+r.y):"H"===i?this[n][1]=(this[n][1]-r.x)*t/r.width+r.x:"V"===i?this[n][1]=(this[n][1]-r.y)*e/r.height+r.y:"C"===i||"S"===i||"Q"===i?(this[n][1]=(this[n][1]-r.x)*t/r.width+r.x,this[n][2]=(this[n][2]-r.y)*e/r.height+r.y,this[n][3]=(this[n][3]-r.x)*t/r.width+r.x,this[n][4]=(this[n][4]-r.y)*e/r.height+r.y,"C"===i&&(this[n][5]=(this[n][5]-r.x)*t/r.width+r.x,this[n][6]=(this[n][6]-r.y)*e/r.height+r.y)):"A"===i&&(this[n][1]=this[n][1]*t/r.width,this[n][2]=this[n][2]*e/r.height,this[n][6]=(this[n][6]-r.x)*t/r.width+r.x,this[n][7]=(this[n][7]-r.y)*e/r.height+r.y);return this},equalCommands:function(t){var e,n,i;for(t=new pe(t),i=this.length===t.length,e=0,n=this.length;i&&e<n;e++)i=this[e][0]===t[e][0];return i},morph:function(t){return t=new pe(t),this.equalCommands(t)?this.destination=t:this.destination=null,this},at:function(t){if(!this.destination)return this;var e,n,i,r,s=this,u=this.destination.value,o=[],a=new pe;for(e=0,n=s.length;e<n;e++){for(o[e]=[s[e][0]],i=1,r=s[e].length;i<r;i++)o[e][i]=s[e][i]+(u[e][i]-s[e][i])*t;"A"===o[e][0]&&(o[e][4]=+(0!==o[e][4]),o[e][5]=+(0!==o[e][5]))}return a.value=o,a},parse:function(){var t,e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[["M",0,0]];if(e instanceof pe)return e;var n={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0};e="string"==typeof e?e.replace(T,N).replace(M," $& ").replace(j,"$1 -").trim().split(C):e.reduce(function(t,e){return[].concat.call(t,e)},[]);for(var i=[],r=new re,s=new re,u=0,o=e.length;S.test(e[u])?(t=e[u],++u):"M"===t?t="L":"m"===t&&(t="l"),i.push(me[t].call(null,e.slice(u,u+=n[t.toUpperCase()]).map(parseFloat),r,s)),u<o;);return i},bbox:function(){return ie().path.setAttribute("d",this.toString()),ie.nodes.path.getBBox()}});var be=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("path",t),e))}return r(e,St),a(e,[{key:"array",value:function(){return this._array||(this._array=new pe(this.attr("d")))}},{key:"plot",value:function(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new pe(t))}},{key:"clear",value:function(){return delete this._array,this}},{key:"move",value:function(t,e){return this.attr("d",this.array().move(t,e))}},{key:"x",value:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)}},{key:"y",value:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}},{key:"size",value:function(t,e){var n=R(this,t,e);return this.attr("d",this.array().size(n.width,n.height))}},{key:"width",value:function(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)}},{key:"height",value:function(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}},{key:"targets",value:function(){return Wt('svg textpath [href*="'+this.id()+'"]')}}]),e}();be.prototype.MorphArray=pe,Pt({Container:{path:function(t){return this.put(new be).plot(t||new pe)}}}),et(be);var xe=Object.freeze({array:function(){return this._array||(this._array=new le(this.attr("points")))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new le(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},size:function(t,e){var n=R(this,t,e);return this.attr("points",this.array().size(n.width,n.height))}}),_e=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("polygon",t),e))}return r(e,St),e}();Pt({Container:{polygon:function(t){return this.put(new _e).plot(t||new le)}}}),$(_e,fe),$(_e,xe),et(_e);var Oe=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("polyline",t),e))}return r(e,St),e}();Pt({Container:{polyline:function(t){return this.put(new Oe).plot(t||new le)}}}),$(Oe,fe),$(Oe,xe),et(Oe);var Ae=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("rect",t),e))}return r(e,St),a(e,[{key:"rx",value:function(t){return this.attr("rx",t)}},{key:"ry",value:function(t){return this.attr("ry",t)}}]),e}();Pt({Container:{rect:function(t,e){return this.put(new Ae).size(t,e)}}}),et(Ae);var Ce=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("symbol",t),e))}return r(e,Tt),e}();Pt({Container:{symbol:function(){return this.put(new Ce)}}}),et(Ce);var je=Object.freeze({plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(document.createTextNode(t)),this},length:function(){return this.node.getComputedTextLength()}}),Me=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this,Q("text",t),n))).dom.leading=new At(1.3),e._rebuild=!0,e._build=!1,e.attr("font-family",kt["font-family"]),e}return r(n,St),a(n,[{key:"x",value:function(t){return null==t?this.attr("x"):this.attr("x",t)}},{key:"y",value:function(t){var e=this.attr("y"),n="number"==typeof e?e-this.bbox().y:0;return null==t?"number"==typeof e?e-n:e:this.attr("y","number"==typeof t?t+n:t)}},{key:"cx",value:function(t){return null==t?this.bbox().cx:this.x(t-this.bbox().width/2)}},{key:"cy",value:function(t){return null==t?this.bbox().cy:this.y(t-this.bbox().height/2)}},{key:"text",value:function(t){if(void 0===t){var e=this.node.childNodes,n=0;t="";for(var i=0,r=e.length;i<r;++i)"textPath"!==e[i].nodeName?(i!==n&&3!==e[i].nodeType&&!0===tt(e[i]).dom.newLined&&(t+="\n"),t+=e[i].textContent):0===i&&(n=1);return t}if(this.clear().build(!0),"function"==typeof t)t.call(this,this);else for(var s=0,u=(t=t.split("\n")).length;s<u;s++)this.tspan(t[s]).newLine();return this.build(!1).rebuild()}},{key:"leading",value:function(t){return null==t?this.dom.leading:(this.dom.leading=new At(t),this.rebuild())}},{key:"rebuild",value:function(t){if("boolean"==typeof t&&(this._rebuild=t),this._rebuild){var e=this,n=0,i=this.dom.leading*new At(this.attr("font-size"));this.each(function(){this.dom.newLined&&(this.attr("x",e.attr("x")),"\n"===this.text()?n+=i:(this.attr("dy",i+n),n=0))}),this.fire("rebuild")}return this}},{key:"build",value:function(t){return this._build=!!t,this}},{key:"setData",value:function(t){return this.dom=t,this.dom.leading=new At(t.leading||1.3),this}}]),n}();$(Me,je),Pt({Container:{text:function(t){return this.put(new Me).text(t)},plain:function(t){return this.put(new Me).plain(t)}}}),et(Me);var Se=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("textPath",t),e))}return r(e,Me),a(e,[{key:"array",value:function(){var t=this.track();return t?t.array():null}},{key:"plot",value:function(t){var e=this.track(),n=null;return e&&(n=e.plot(t)),null==t?n:this}},{key:"track",value:function(){return this.reference("href")}}]),e}();Pt({Container:{textPath:function(t,e){return this.defs().path(e).text(t).addTo(this)}},Text:{path:function(t){var e=new Se;return t instanceof be||(t=this.doc().defs().path(t)),e.attr("href","#"+t,G),this.put(e)},textPath:function(){return this.find("textPath")}},Path:{text:function(t){if(t instanceof Me){var e=t.text();return t.clear().path(this).text(e)}return this.parent().put(new Me).path(this).text(t)}}}),Se.prototype.MorphArray=pe,et(Se);var Te=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("tspan",t),e))}return r(e,Me),a(e,[{key:"text",value:function(t){return null==t?this.node.textContent+(this.dom.newLined?"\n":""):("function"==typeof t?t.call(this,this):this.plain(t),this)}},{key:"dx",value:function(t){return this.attr("dx",t)}},{key:"dy",value:function(t){return this.attr("dy",t)}},{key:"newLine",value:function(){var t=this.parent(Me);return this.dom.newLined=!0,this.dy(t.dom.leading*t.attr("font-size")).attr("x",t.x())}}]),e}();$(Te,je),Pt({Tspan:{tspan:function(t){var e=new Te;return this._build||this.clear(),this.node.appendChild(e.node),e.text(t)}}}),et(Te);var Ee=function(t){function e(t){return o(this,e),h(this,u(e).call(this,Q("use",t),e))}return r(e,St),a(e,[{key:"element",value:function(t,e){return this.attr("href",(e||"")+"#"+t,G)}}]),e}();Pt({Container:{use:function(t,e){return this.put(new Ee).element(t,e)}}}),et(Ee);var Ne=function(){function h(){o(this,h),this.init.apply(this,arguments)}return a(h,[{key:"init",value:function(t){var e=q([1,0,0,1,0,0]);t=t instanceof Mt?t.matrixify():"string"==typeof t?q(t.split(C).map(parseFloat)):Array.isArray(t)?q(t):"object"===l(t)&&I(t)?t:"object"===l(t)?(new h).transform(t):6===arguments.length?q([].slice.call(arguments)):e,this.a=null!=t.a?t.a:e.a,this.b=null!=t.b?t.b:e.b,this.c=null!=t.c?t.c:e.c,this.d=null!=t.d?t.d:e.d,this.e=null!=t.e?t.e:e.e,this.f=null!=t.f?t.f:e.f}},{key:"clone",value:function(){return new h(this)}},{key:"transform",value:function(t){if(I(t))return new h(t).multiplyO(this);var e=h.formatTransforms(t),n=new re(e.ox,e.oy).transform(this),i=n.x,r=n.y,s=(new h).translateO(e.rx,e.ry).lmultiplyO(this).translateO(-i,-r).scaleO(e.scaleX,e.scaleY).skewO(e.skewX,e.skewY).shearO(e.shear).rotateO(e.theta).translateO(i,r);if(isFinite(e.px)||isFinite(e.py)){var u=new re(i,r).transform(s),o=e.px?e.px-u.x:0,a=e.py?e.py-u.y:0;s.translateO(o,a)}return s.translateO(e.tx,e.ty),s}},{key:"compose",value:function(t){t.origin&&(t.originX=t.origin[0],t.originY=t.origin[1]);var e=t.originX||0,n=t.originY||0,i=t.scaleX||1,r=t.scaleY||1,s=t.shear||0,u=t.rotate||0,o=t.translateX||0,a=t.translateY||0;return(new h).translateO(-e,-n).scaleO(i,r).shearO(s).rotateO(u).translateO(o,a).lmultiplyO(this).translateO(e,n)}},{key:"decompose",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=this.a,i=this.b,r=this.c,s=this.d,u=this.e,o=this.f,a=n*s-i*r,h=0<a?1:-1,l=h*Math.sqrt(n*n+i*i),c=Math.atan2(h*i,h*n),f=180/Math.PI*c,d=Math.cos(c),v=Math.sin(c),y=(n*r+i*s)/a,p=r*l/(y*n-i)||s*l/(y*i+n);return{scaleX:l,scaleY:p,shear:y,rotate:f,translateX:u-t+t*d*l+e*(y*d*l-v*p),translateY:o-e+t*v*l+e*(y*v*l+d*p),originX:t,originY:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}},{key:"multiply",value:function(t){return this.clone().multiplyO(t)}},{key:"multiplyO",value:function(t){var e=t instanceof h?t:new h(t);return h.matrixMultiply(this,e,this)}},{key:"lmultiply",value:function(t){return this.clone().lmultiplyO(t)}},{key:"lmultiplyO",value:function(t){var e=t instanceof h?t:new h(t);return h.matrixMultiply(e,this,this)}},{key:"inverseO",value:function(){var t=this.a,e=this.b,n=this.c,i=this.d,r=this.e,s=this.f,u=t*i-e*n;if(!u)throw new Error("Cannot invert "+this);var o=i/u,a=-e/u,h=-n/u,l=t/u,c=-(o*r+h*s),f=-(a*r+l*s);return this.a=o,this.b=a,this.c=h,this.d=l,this.e=c,this.f=f,this}},{key:"inverse",value:function(){return this.clone().inverseO()}},{key:"translate",value:function(t,e){return this.clone().translateO(t,e)}},{key:"translateO",value:function(t,e){return this.e+=t||0,this.f+=e||0,this}},{key:"scale",value:function(t,e,n,i){var r;return(r=this.clone()).scaleO.apply(r,arguments)}},{key:"scaleO",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0;3===arguments.length&&(i=n,n=e,e=t);var r=this.a,s=this.b,u=this.c,o=this.d,a=this.e,h=this.f;return this.a=r*t,this.b=s*e,this.c=u*t,this.d=o*e,this.e=a*t-n*t+n,this.f=h*e-i*e+i,this}},{key:"rotate",value:function(t,e,n){return this.clone().rotateO(t,e,n)}},{key:"rotateO",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0;t=pt(t);var i=Math.cos(t),r=Math.sin(t),s=this.a,u=this.b,o=this.c,a=this.d,h=this.e,l=this.f;return this.a=s*i-u*r,this.b=u*i+s*r,this.c=o*i-a*r,this.d=a*i+o*r,this.e=h*i-l*r+n*r-e*i+e,this.f=l*i+h*r-e*r-n*i+n,this}},{key:"flip",value:function(t,e){return this.clone().flipO(t,e)}},{key:"flipO",value:function(t,e){return"x"===t?this.scaleO(-1,1,e,0):"y"===t?this.scaleO(1,-1,0,e):this.scaleO(-1,-1,t,e||t)}},{key:"shear",value:function(t,e,n){return this.clone().shearO(t,e,n)}},{key:"shearO",value:function(t){var e=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,n=this.a,i=this.b,r=this.c,s=this.d,u=this.e,o=this.f;return this.a=n+i*t,this.c=r+s*t,this.e=u+o*t-e*t,this}},{key:"skew",value:function(t,e,n,i){var r;return(r=this.clone()).skewO.apply(r,arguments)}},{key:"skewO",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0;3===arguments.length&&(i=n,n=e,e=t),t=pt(t),e=pt(e);var r=Math.tan(t),s=Math.tan(e),u=this.a,o=this.b,a=this.c,h=this.d,l=this.e,c=this.f;return this.a=u+o*r,this.b=o+u*s,this.c=a+h*r,this.d=h+a*s,this.e=l+c*r-i*r,this.f=c+l*s-n*s,this}},{key:"skewX",value:function(t,e,n){return this.skew(t,0,e,n)}},{key:"skewXO",value:function(t,e,n){return this.skewO(t,0,e,n)}},{key:"skewY",value:function(t,e,n){return this.skew(0,t,e,n)}},{key:"skewYO",value:function(t,e,n){return this.skewO(0,t,e,n)}},{key:"aroundO",value:function(t,e,n){var i=t||0,r=e||0;return this.translateO(-i,-r).lmultiplyO(n).translateO(i,r)}},{key:"around",value:function(t,e,n){return this.clone().aroundO(t,e,n)}},{key:"native",value:function(){for(var t=ie().svg.node.createSVGMatrix(),e=L.length-1;0<=e;e--)t[L[e]]=this[L[e]];return t}},{key:"equals",value:function(t){var e=new h(t);return F(this.a,e.a)&&F(this.b,e.b)&&F(this.c,e.c)&&F(this.d,e.d)&&F(this.e,e.e)&&F(this.f,e.f)}},{key:"toString",value:function(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}},{key:"toArray",value:function(){return[this.a,this.b,this.c,this.d,this.e,this.f]}},{key:"valueOf",value:function(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}],[{key:"formatTransforms",value:function(t){var e="both"===t.flip||!0===t.flip,n=t.flip&&(e||"x"===t.flip)?-1:1,i=t.flip&&(e||"y"===t.flip)?-1:1,r=t.skew&&t.skew.length?t.skew[0]:isFinite(t.skew)?t.skew:isFinite(t.skewX)?t.skewX:0,s=t.skew&&t.skew.length?t.skew[1]:isFinite(t.skew)?t.skew:isFinite(t.skewY)?t.skewY:0,u=t.scale&&t.scale.length?t.scale[0]*n:isFinite(t.scale)?t.scale*n:isFinite(t.scaleX)?t.scaleX*n:n,o=t.scale&&t.scale.length?t.scale[1]*i:isFinite(t.scale)?t.scale*i:isFinite(t.scaleY)?t.scaleY*i:i,a=t.shear||0,h=t.rotate||t.theta||0,l=new re(t.origin||t.around||t.ox||t.originX,t.oy||t.originY),c=l.x,f=l.y,d=new re(t.position||t.px||t.positionX,t.py||t.positionY),v=d.x,y=d.y,p=new re(t.translate||t.tx||t.translateX,t.ty||t.translateY),m=p.x,g=p.y,w=new re(t.relative||t.rx||t.relativeX,t.ry||t.relativeY);return{scaleX:u,scaleY:o,skewX:r,skewY:s,shear:a,theta:h,rx:w.x,ry:w.y,tx:m,ty:g,ox:c,oy:f,px:v,py:y}}},{key:"matrixMultiply",value:function(t,e,n){var i=t.a*e.a+t.c*e.b,r=t.b*e.a+t.d*e.b,s=t.a*e.c+t.c*e.d,u=t.b*e.c+t.d*e.d,o=t.e+t.a*e.e+t.c*e.f,a=t.f+t.b*e.e+t.d*e.f;return n.a=i,n.b=r,n.c=s,n.d=u,n.e=o,n.f=a,n}}]),h}();function De(e,n){return function(t){return null==t?this[t]:(this[e]=t,n&&n.call(this),this)}}Pt({Element:{ctm:function(){return new Ne(this.node.getCTM())},screenCTM:function(){if("function"!=typeof this.isRoot||this.isRoot())return new Ne(this.node.getScreenCTM());var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new Ne(e)}}});var Pe={"-":function(t){return t},"<>":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)},bezier:function(t,e,n,i){return function(t){}}},ze=function(){function t(){o(this,t)}return a(t,[{key:"done",value:function(){return!1}}]),t}(),Re=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this))).ease=Pe[t||wt.ease]||t,e}return r(n,ze),a(n,[{key:"step",value:function(t,e,n){return"number"!=typeof t?n<1?t:e:t+(e-t)*this.ease(n)}}]),n}(),qe=function(t){function n(t){var e;return o(this,n),(e=h(this,u(n).call(this))).stepper=t,e}return r(n,ze),a(n,[{key:"step",value:function(t,e,n,i){return this.stepper(t,e,n,i)}},{key:"done",value:function(t){return t.done}}]),n}();function Le(){var t=(this._duration||500)/1e3,e=this._overshoot||0,n=Math.PI,i=Math.log(e/100+1e-10),r=-i/Math.sqrt(n*n+i*i),s=3.9/(r*t);this.d=2*r*s,this.k=s*s}var Fe=function(t){function i(t,e){var n;return o(this,i),(n=h(this,u(i).call(this))).duration(t||500).overshoot(e||0),n}return r(i,qe),a(i,[{key:"step",value:function(t,e,n,i){if("string"==typeof t)return t;if(i.done=n===1/0,n===1/0)return e;if(0===n)return t;100<n&&(n=16),n/=1e3;var r=i.velocity||0,s=-this.d*r-this.k*(t-e),u=t+r*n+s*n*n/2;return i.velocity=r+s*n,i.done=Math.abs(e-u)+Math.abs(r)<.002,i.done?e:u}}]),i}();$(Fe,{duration:De("_duration",Le),overshoot:De("_overshoot",Le)});var Ie=function(t){function s(t,e,n,i){var r;return o(this,s),t=null==t?.1:t,e=null==e?.01:e,n=null==n?0:n,i=null==i?1e3:i,(r=h(this,u(s).call(this))).p(t).i(e).d(n).windup(i),r}return r(s,qe),a(s,[{key:"step",value:function(t,e,n,i){if("string"==typeof t)return t;if(i.done=n===1/0,n===1/0)return e;if(0===n)return t;var r=e-t,s=(i.integral||0)+r*n,u=(r-(i.error||0))/n,o=this.windup;return!1!==o&&(s=Math.max(-o,Math.min(s,o))),i.error=r,i.integral=s,i.done=Math.abs(r)<.001,i.done?e:t+(this.P*r+this.I*s+this.D*u)}}]),s}();$(Ie,{windup:De("windup"),p:De("P"),i:De("I"),d:De("D")});var Xe=function(){function e(t){o(this,e),this._stepper=t||new Re("-"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}return a(e,[{key:"from",value:function(t){return null==t?this._from:(this._from=this._set(t),this)}},{key:"to",value:function(t){return null==t?this._to:(this._to=this._set(t),this)}},{key:"type",value:function(t){return null==t?this._type:(this._type=t,this)}},{key:"_set",value:function(t){if(!this._type){var e=l(t);"number"===e?this.type(At):"string"===e?xt.isColor(t)?this.type(xt):C.test(t)?this.type(M.test(t)?pe:Ot):v.test(t)?this.type(At):this.type(Ye):-1<Ve.indexOf(t.constructor)?this.type(t.constructor):Array.isArray(t)?this.type(Ot):"object"===e?this.type(Ge):this.type(Ye)}var n=new this._type(t).toArray();return this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(n.length)).map(Object),n}},{key:"stepper",value:function(t){return null==t?this._stepper:(this._stepper=t,this)}},{key:"done",value:function(){return this._context.map(this._stepper.done).reduce(function(t,e){return t&&e},!0)}},{key:"at",value:function(n){var i=this;return this._morphObj.fromArray(this._from.map(function(t,e){return i._stepper.step(t,i._to[e],n,i._context[e],i._context)}))}}]),e}(),Ye=function(){function t(){o(this,t),this.init.apply(this,arguments)}return a(t,[{key:"init",value:function(t){t=Array.isArray(t)?t[0]:t,this.value=t}},{key:"valueOf",value:function(){return this.value}},{key:"toArray",value:function(){return[this.value]}}]),t}(),He=function(){function e(){o(this,e),this.init.apply(this,arguments)}return a(e,[{key:"init",value:function(t){Array.isArray(t)&&(t={scaleX:t[0],scaleY:t[1],shear:t[2],rotate:t[3],translateX:t[4],translateY:t[5],originX:t[6],originY:t[7]}),Object.assign(this,e.defaults,t)}},{key:"toArray",value:function(){var t=this;return[t.scaleX,t.scaleY,t.shear,t.rotate,t.translateX,t.translateY,t.originX,t.originY]}}]),e}();He.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};var Ge=function(){function t(){o(this,t),this.init.apply(this,arguments)}return a(t,[{key:"init",value:function(t){if(this.values=[],Array.isArray(t))this.values=t;else{var e=Object.entries(t||{}).sort(function(t,e){return t[0]-e[0]});this.values=e.reduce(function(t,e){return t.concat(e)},[])}}},{key:"valueOf",value:function(){for(var t={},e=this.values,n=0,i=e.length;n<i;n+=2)t[e[n]]=e[n+1];return t}},{key:"toArray",value:function(){return this.values}}]),t}(),Ve=[Ye,He,Ge];var Be=window.performance||Date,Qe=function(t){var e=t.start,n=t.runner.duration();return{start:e,duration:n,end:e+n,runner:t.runner}},Ue=function(){function t(){o(this,t),this._timeSource=function(){return Be.now()},this._dispatcher=document.createElement("div"),this._startTime=0,this._speed=1,this._reverse=!1,this._persist=0,this._nextFrame=null,this._paused=!1,this._runners=[],this._order=[],this._time=0,this._lastSourceTime=0,this._lastStepTime=0}return a(t,[{key:"getEventTarget",value:function(){return this._dispatcher}},{key:"schedule",value:function(t,e,n){if(null==t)return this._runners.map(Qe).sort(function(t,e){return t.start-e.start||t.duration-e.duration});this.active()||(this._step(),null==n&&(n="now"));var i=0;if(e=e||0,null==n||"last"===n||"after"===n)i=this._startTime;else if("absolute"===n||"start"===n)i=e,e=0;else if("now"===n)i=this._time;else{if("relative"!==n)throw new Error('Invalid value for the "when" parameter');var r=this._runners[t.id];r&&(i=r.start+e,e=0)}return t.unschedule(),t.timeline(this),t.time(-e),this._startTime=i+t.duration()+e,this._runners[t.id]={persist:this.persist(),runner:t,start:i},this._order.push(t.id),this._continue(),this}},{key:"unschedule",value:function(t){var e=this._order.indexOf(t.id);return e<0||(delete this._runners[t.id],this._order.splice(e,1),t.timeline(null)),this}},{key:"play",value:function(){return this._paused=!1,this._continue()}},{key:"pause",value:function(){return this._nextFrame=null,this._paused=!0,this}},{key:"stop",value:function(){return this.seek(-this._time),this.pause()}},{key:"finish",value:function(){return this.seek(1/0),this.pause()}},{key:"speed",value:function(t){return null==t?this._speed:(this._speed=t,this)}},{key:"reverse",value:function(t){var e=this.speed();if(null==t)return this.speed(-e);var n=Math.abs(e);return this.speed(t?n:-n)}},{key:"seek",value:function(t){return this._time+=t,this._continue()}},{key:"time",value:function(t){return null==t?this._time:(this._time=t,this)}},{key:"persist",value:function(t){return null==t?this._persist:(this._persist=t,this)}},{key:"source",value:function(t){return null==t?this._timeSource:(this._timeSource=t,this)}},{key:"_step",value:function(){if(!this._paused){var t=this._timeSource(),e=t-this._lastSourceTime,n=this._speed*e+(this._time-this._lastStepTime);this._lastSourceTime=t,this._time+=n,this._lastStepTime=this._time;for(var i=!1,r=0,s=this._order.length;r<s;r++){var u=this._runners[this._order[r]],o=u.runner,a=n,h=this._time-u.start;if(h<0)i=!0;else if(h<a&&(a=h),o.active())if(o.step(a).done){if(!0!==u.persist){o.duration()-o.time()+this._time+this._persist<this._time&&(delete this._runners[this._order[r]],this._order.splice(r--,1)&&--s,o.timeline(null))}}else i=!0}return this._nextFrame=i?Ft.frame(this._step.bind(this)):null,this}}},{key:"_continue",value:function(){return this._paused||this._nextFrame||(this._nextFrame=Ft.frame(this._step.bind(this))),this}},{key:"active",value:function(){return!!this._nextFrame}}]),t}();Pt({Element:{timeline:function(){return this._timeline=this._timeline||new Ue,this._timeline}}});var $e=function(t){function s(t){var e;return o(this,s),(e=h(this,u(s).call(this))).id=s.id++,t="function"==typeof(t=null==t?wt.duration:t)?new qe(t):t,e._element=null,e._timeline=null,e.done=!1,e._queue=[],e._duration="number"==typeof t&&t,e._isDeclarative=t instanceof qe,e._stepper=e._isDeclarative?t:new Re,e._history={},e.enabled=!0,e._time=0,e._last=0,e.transforms=new Ne,e.transformId=1,e._haveReversed=!1,e._reverse=!1,e._loopsDone=0,e._swing=!1,e._wait=0,e._times=1,e}return r(s,vt),a(s,[{key:"element",value:function(t){return null==t?this._element:((this._element=t)._prepareRunner(),this)}},{key:"timeline",value:function(t){return void 0===t?this._timeline:(this._timeline=t,this)}},{key:"animate",value:function(t,e,n){var i=s.sanitise(t,e,n),r=new s(i.duration);return this._timeline&&r.timeline(this._timeline),this._element&&r.element(this._element),r.loop(i).schedule(e,n)}},{key:"schedule",value:function(t,e,n){if(t instanceof Ue||(n=e,e=t,t=this.timeline()),!t)throw Error("Runner cannot be scheduled without timeline");return t.schedule(this,e,n),this}},{key:"unschedule",value:function(){var t=this.timeline();return t&&t.unschedule(this),this}},{key:"loop",value:function(t,e,n){return"object"===l(t)&&(e=t.swing,n=t.wait,t=t.times),this._times=t||1/0,this._swing=e||!1,this._wait=n||0,this}},{key:"delay",value:function(t){return this.animate(0,t)}},{key:"queue",value:function(t,e,n){return this._queue.push({initialiser:t||gt,runner:e||gt,isTransform:n,initialised:!1,finished:!1}),this.timeline()&&this.timeline()._continue(),this}},{key:"during",value:function(t){return this.queue(null,t)}},{key:"after",value:function(t){return this.on("finish",t)}},{key:"time",value:function(t){if(null==t)return this._time;var e=t-this._time;return this.step(e),this}},{key:"duration",value:function(){return this._times*(this._wait+this._duration)-this._wait}},{key:"loops",value:function(t){var e=this._duration+this._wait;if(null==t){var n=Math.floor(this._time/e),i=(this._time-n*e)/this._duration;return Math.min(n+i,this._times)}var r=t%1,s=e*Math.floor(t)+this._duration*r;return this.time(s)}},{key:"position",value:function(t){var e,n=this._time,r=this._duration,s=this._wait,i=this._times,u=this._swing,o=this._reverse;if(null==t){var a=function(t){var e=u*Math.floor(t%(2*(s+r))/(s+r)),n=e&&!o||!e&&o,i=Math.pow(-1,n)*(t%(s+r))/r+n;return Math.max(Math.min(i,1),0)},h=i*(s+r)-s;return e=n<=0?Math.round(a(1e-5)):n<h?a(n):Math.round(a(h-1e-5)),e}var l=Math.floor(this.loops()),c=u&&l%2==0;return e=l+(c&&!o||o&&c?t:1-t),this.loops(e)}},{key:"progress",value:function(t){return null==t?Math.min(1,this._time/this.duration()):this.time(t*this.duration())}},{key:"step",value:function(t){if(!this.enabled)return this;t=null==t?16:t,this._time+=t;var e=this.position(),n=this._lastPosition!==e&&0<=this._time;this._lastPosition=e;var i=this.duration(),r=this._lastTime<0&&0<this._time,s=this._lastTime<this._time&&this.time>i;this._lastTime=this._time,r&&this.fire("start",this);var u=this._isDeclarative;if(this.done=!u&&!s&&this._time>=i,n||u){this._initialise(n),this.transforms=new Ne;var o=this._run(u?t:e);this.fire("step",this)}return this.done=this.done||o&&u,this.done&&this.fire("finish",this),this}},{key:"finish",value:function(){return this.step(1/0)}},{key:"reverse",value:function(t){return this._reverse=null==t?!this._reverse:t,this}},{key:"ease",value:function(t){return this._stepper=new Re(t),this}},{key:"active",value:function(t){return null==t?this.enabled:(this.enabled=t,this)}},{key:"_rememberMorpher",value:function(t,e){this._history[t]={morpher:e,caller:this._queue[this._queue.length-1]}}},{key:"_tryRetarget",value:function(t,e){if(this._history[t]){if(!this._history[t].caller.initialised){var n=this._queue.indexOf(this._history[t].caller);return this._queue.splice(n,1),!1}this._history[t].caller.isTransform?this._history[t].caller.isTransform(e):this._history[t].morpher.to(e),this._history[t].caller.finished=!1;var i=this.timeline();return i&&i._continue(),!0}return!1}},{key:"_initialise",value:function(t){if(t||this._isDeclarative)for(var e=0,n=this._queue.length;e<n;++e){var i=this._queue[e],r=this._isDeclarative||!i.initialised&&t;t=!i.finished,r&&t&&(i.initialiser.call(this),i.initialised=!0)}}},{key:"_run",value:function(t){for(var e=!0,n=0,i=this._queue.length;n<i;++n){var r=this._queue[n],s=r.runner.call(this,t);r.finished=r.finished||!0===s,e=e&&r.finished}return e}},{key:"addTransform",value:function(t,e){return this.transforms.lmultiplyO(t),this}},{key:"clearTransform",value:function(){return this.transforms=new Ne,this}}],[{key:"sanitise",value:function(t,e,n){var i=1,r=!1,s=0;return e=e||wt.delay,n=n||"last","object"!==l(t=t||wt.duration)||t instanceof ze||(e=t.delay||e,n=t.when||n,r=t.swing||r,i=t.times||i,s=t.wait||s,t=t.duration||wt.duration),{duration:t,delay:e,swing:r,times:i,wait:s,when:n}}}]),s}();$e.id=0;var We=function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:new Ne,n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:-1,i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];o(this,t),this.transforms=e,this.id=n,this.done=i};$([$e,We],{mergeWith:function(t){return new We(t.transforms.lmultiply(this.transforms),t.id)}});var Je=function(t,e){return t.lmultiplyO(e)},Ze=function(t){return t.transforms};var Ke=function(){function t(){o(this,t),this.runners=[],this.ids=[]}return a(t,[{key:"add",value:function(t){if(!this.runners.includes(t)){var n=t.id+1,e=this.ids.reduce(function(t,e){return t<e&&e<n?e:t},0),i=this.ids.indexOf(e)+1;return this.ids.splice(i,0,n),this.runners.splice(i,0,t),this}}},{key:"getByID",value:function(t){return this.runners[this.ids.indexOf(t+1)]}},{key:"remove",value:function(t){var e=this.ids.indexOf(t+1);return this.ids.splice(e,1),this.runners.splice(e,1),this}},{key:"merge",value:function(){var n=this,i=null;return this.runners.forEach(function(t,e){i&&t.done&&i.done&&(n.remove(t.id),n.edit(i.id,t.mergeWith(i))),i=t}),this}},{key:"edit",value:function(t,e){var n=this.ids.indexOf(t+1);return this.ids.splice(n,1,t),this.runners.splice(n,1,e),this}},{key:"length",value:function(){return this.ids.length}},{key:"clearBefore",value:function(t){var e=this.ids.indexOf(t+1)||1;return this.ids.splice(0,e,0),this.runners.splice(0,e,new We),this}}]),t}(),tn=0;Pt({Element:{animate:function(t,e,n){var i=$e.sanitise(t,e,n),r=this.timeline();return new $e(i.duration).loop(i).element(this).timeline(r).schedule(e,n)},delay:function(t,e){return this.animate(0,t,e)},_clearTransformRunnersBefore:function(t){this._transformationRunners.clearBefore(t.id)},_currentTransform:function(e){return this._transformationRunners.runners.filter(function(t){return t.id<=e.id}).map(Ze).reduce(Je,new Ne)},addRunner:function(t){this._transformationRunners.add(t),Ft.transform_frame(function(){var t=this._transformationRunners.runners.map(Ze).reduce(Je,new Ne);this.transform(t),this._transformationRunners.merge(),1===this._transformationRunners.length()&&(this._frameId=null)}.bind(this),this._frameId)},_prepareRunner:function(){null==this._frameId&&(this._transformationRunners=(new Ke).add(new We(new Ne(this))),this._frameId=tn++)}}}),$($e,{attr:function(t,e){return this.styleAttr("attr",t,e)},css:function(t,e){return this.styleAttr("css",t,e)},styleAttr:function(e,n,t){if("object"===l(n))for(var i in t)this.styleAttr(e,i,t[i]);var r=new Xe(this._stepper).to(t);return this.queue(function(){r=r.from(this.element()[e](n))},function(t){return this.element()[e](n,r.at(t)),r.done()}),this},zoom:function(t,e){var n=new Xe(this._stepper).to(new At(t));return this.queue(function(){n=n.from(this.zoom())},function(t){return this.element().zoom(n.at(t),e),n.done()}),this},transform:function(d,v,y){if(v=d.relative||v,this._isDeclarative&&!v&&this._tryRetarget("transform",d))return this;var p=I(d);y=null!=d.affine?d.affine:null!=y?y:!p;var m,g,w,k,b,x=(new Xe).type(y?He:Ne).stepper(this._stepper);return this.queue(function(){g=g||this.element(),m=m||X(d,g),b=new Ne(v?void 0:g),g.addRunner(this),v||g._clearTransformRunnersBefore(this)},function(t){v||this.clearTransform();var e=new re(m).transform(g._currentTransform(this)),n=e.x,i=e.y,r=new Ne(_({},d,{origin:[n,i]})),s=this._isDeclarative&&w?w:b;if(y){r=r.decompose(n,i),s=s.decompose(n,i);var u=r.rotate,o=s.rotate,a=[u-360,u,u+360],h=a.map(function(t){return Math.abs(t-o)}),l=Math.min.apply(Math,O(h)),c=h.indexOf(l);r.rotate=a[c]}v&&(p||(r.rotate=d.rotate||0),this._isDeclarative&&k&&(s.rotate=k)),x.from(s),x.to(r);var f=x.at(t);return k=f.rotate,w=new Ne(f),this.addTransform(w),x.done()},function(t){(t.origin||"center").toString()!==(d.origin||"center").toString()&&(m=X(d,g)),d=_({},t,{origin:m})}),this._isDeclarative&&this._rememberMorpher("transform",x),this},x:function(t,e){return this._queueNumber("x",t)},y:function(t){return this._queueNumber("y",t)},dx:function(t){return this._queueNumberDelta("dx",t)},dy:function(t){return this._queueNumberDelta("dy",t)},_queueNumberDelta:function(e,n){if(n=new At(n),this._tryRetargetDelta(e,n))return this;var i=new Xe(this._stepper).to(n);return this.queue(function(){var t=this.element()[e]();i.from(t),i.to(t+n)},function(t){return this.element()[e](i.at(t)),i.done()}),this._rememberMorpher(e,i),this},_queueObject:function(e,t){if(this._tryRetarget(e,t))return this;var n=new Xe(this._stepper).to(t);return this.queue(function(){n.from(this.element()[e]())},function(t){return this.element()[e](n.at(t)),n.done()}),this._rememberMorpher(e,n),this},_queueNumber:function(t,e){return this._queueObject(t,new At(e))},cx:function(t){return this._queueNumber("cx",t)},cy:function(t){return this._queueNumber("cy",t)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},size:function(t,e){var n;return t&&e||(n=this._element.bbox()),t||(t=n.width/n.height*e),e||(e=n.height/n.width*t),this.width(t).height(e)},width:function(t){return this._queueNumber("width",t)},height:function(t){return this._queueNumber("height",t)},plot:function(t,e,n,i){return 4===arguments.length?this.plot([t,e,n,i]):this._queueObject("plot",new this._element.MorphArray(t))},leading:function(t){return this._queueNumber("leading",t)},viewbox:function(t,e,n,i){return this._queueObject("viewbox",new se(t,e,n,i))},update:function(t){return"object"!==l(t)?this.update({offset:t,color:arguments[1],opacity:arguments[2]}):(null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",t.offset),this)}});var en=Object.freeze({EventTarget:vt,Dom:Ct,Element:Mt,Shape:St,Container:Tt,HtmlNode:Et,Doc:Rt,Defs:Nt,G:qt,Animator:Ft,Bare:It,Circle:$t,ClipPath:Zt,A:Kt,Ellipse:te,Stop:ee,Gradient:oe,Image:he,Line:de,Marker:ve,Mask:ye,Path:be,Pattern:ae,Polygon:_e,Polyline:Oe,Rect:Ae,Symbol:Ce,Text:Me,TextPath:Se,Tspan:Te,Use:Ee,SVGNumber:At,SVGArray:Ot,PathArray:pe,PointArray:le,Matrix:Ne,Point:re,Box:se,Color:xt,Morphable:Xe,Queue:Lt,Runner:$e,Timeline:Ue,Controller:qe,Ease:Re,PID:Ie,Spring:Fe});Pt("Dom",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){var t=this.position()+1,e=this.parent();return e.removeElement(this).add(this,t),"function"==typeof e.isRoot&&e.isRoot()&&e.node.appendChild(e.defs().node),this},backward:function(){var t=this.position();return 0<t&&this.parent().removeElement(this).add(this,t-1),this},front:function(){var t=this.parent();return t.node.appendChild(this.node),"function"==typeof t.isRoot&&t.isRoot()&&t.node.appendChild(t.defs().node),this},back:function(){return 0<this.position()&&this.parent().removeElement(this).add(this,0),this},before:function(t){t.remove();var e=this.position();return this.parent().add(t,e),this},after:function(t){t.remove();var e=this.position();return this.parent().add(t,e+1),this}}),Pt("Dom",{data:function(e,t,n){if("object"===l(e))for(t in e)this.data(t,e[t]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+e))}catch(t){return this.attr("data-"+e)}else this.attr("data-"+e,null===t?null:!0===n||"string"==typeof t||"number"==typeof t?t:JSON.stringify(t));return this}}),Pt("Dom",{classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(C)},hasClass:function(t){return-1!==this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(e){return this.hasClass(e)&&this.attr("class",this.classes().filter(function(t){return t!==e}).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)}}),Pt("Dom",{css:function(t,e){var n={};if(0===arguments.length)return this.node.style.cssText.split(/\s*;\s*/).filter(function(t){return!!t.length}).forEach(function(t){var e=t.split(/\s*:\s*/);n[e[0]]=e[1]}),n;if(arguments.length<2){if(Array.isArray(t)){var i=!0,r=!1,s=void 0;try{for(var u,o=t[Symbol.iterator]();!(i=(u=o.next()).done);i=!0){var a=D(u.value);n[a]=this.node.style[a]}}catch(t){r=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(r)throw s}}return n}if("string"==typeof t)return this.node.style[D(t)];if("object"===l(t))for(var h in t)this.node.style[D(h)]=null==t[h]||b.test(t[h])?"":t[h]}return 2===arguments.length&&(this.node.style[D(t)]=null==e||b.test(e)?"":e),this},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},visible:function(){return"none"!==this.css("display")}}),Pt("Element",{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(t).slice(0,-1).map(function(t){var e=t.trim().split("(");return[e[0],e[1].split(C).map(function(t){return parseFloat(t)})]}).reverse().reduce(function(t,e){return"matrix"===e[0]?t.lmultiply(q(e[1])):t[e[0]].apply(t,e[1])},new Ne)},toParent:function(t){if(this===t)return this;var e=this.screenCTM(),n=t.screenCTM().inverse();return this.addTo(t).untransform().transform(n.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())},transform:function(t,e){if(null==t||"string"==typeof t){var n=new Ne(this).decompose();return n[t]||n}I(t)||(t=_({},t,{origin:X(t,this)}));var i=new Ne(!0===e?this:e||!1).transform(t);return this.attr("transform",i)}}),Pt("Dom",{remember:function(t,e){if("object"===l(t))for(var n in t)this.remember(n,t[n]);else{if(1===arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0===arguments.length)this._memory={};else for(var t=arguments.length-1;0<=t;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory=this._memory||{}}});var nn={stroke:["color","width","opacity","linecap","linejoin","miterlimit","dasharray","dashoffset"],fill:["color","opacity","rule"],prefix:function(t,e){return"color"===e?t:t+"-"+e}};["fill","stroke"].forEach(function(e){var n,t={};t[e]=function(t){if(void 0===t)return this;if("string"==typeof t||xt.isRgb(t)||t instanceof Mt)this.attr(e,t);else for(n=nn[e].length-1;0<=n;n--)null!=t[nn[e][n]]&&this.attr(nn.prefix(e,nn[e][n]),t[nn[e][n]]);return this},Pt(["Shape","Runner"],t)}),Pt(["Element","Runner"],{matrix:function(t,e,n,i,r,s){return null==t?new Ne(this):this.attr("transform",new Ne(t,e,n,i,r,s))},rotate:function(t,e,n){return this.transform({rotate:t,ox:e,oy:n},!0)},skew:function(t,e,n,i){return 1===arguments.length||3===arguments.length?this.transform({skew:t,ox:e,oy:n},!0):this.transform({skew:[t,e],ox:n,oy:i},!0)},shear:function(t,e,n){return this.transform({shear:t,ox:e,oy:n},!0)},scale:function(t,e,n,i){return 1===arguments.length||3===arguments.length?this.transform({scale:t,ox:e,oy:n},!0):this.transform({scale:[t,e],ox:n,oy:i},!0)},translate:function(t,e){return this.transform({translate:[t,e]},!0)},relative:function(t,e){return this.transform({relative:[t,e]},!0)},flip:function(t,e){var n="string"==typeof t?t:(isFinite(t),"both"),i="both"===t&&isFinite(e)?[e,e]:"x"===t?[e,0]:"y"===t?[0,e]:isFinite(t)?[t,t]:[0,0];this.transform({flip:n,origin:i},!0)},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new At(t).plus(this instanceof $e?0:this.x()),!0)},dy:function(t){return this.y(new At(t).plus(this instanceof $e?0:this.y()),!0)},dmove:function(t,e){return this.dx(t).dy(e)}}),Pt("radius",{radius:function(t,e){var n=(this._element||this).type;return"radialGradient"===n||"radialGradient"===n?this.attr("r",new At(t)):this.rx(t).ry(null==e?t:e)}}),Pt("Path",{length:function(){return this.node.getTotalLength()},pointAt:function(t){return new re(this.node.getPointAtLength(t))}}),Pt(["Element","Runner"],{font:function(t,e){if("object"===l(t))for(e in t)this.font(e,t[e]);return"leading"===t?this.leading(e):"anchor"===t?this.attr("text-anchor",e):"size"===t||"family"===t||"weight"===t||"stretch"===t||"variant"===t||"style"===t?this.attr("font-"+t,e):this.attr(t,e)}});var rn=$;function sn(t){return K(t)}return rn([Rt,Ce,he,ae,ve],zt("viewbox")),rn([de,Oe,_e,be],zt("marker")),rn(Me,zt("Text")),rn(be,zt("Path")),rn(Nt,zt("Defs")),rn([Me,Te],zt("Tspan")),rn([Ae,te,$t,oe],zt("radius")),rn(vt,zt("EventTarget")),rn(Ct,zt("Dom")),rn(Mt,zt("Element")),rn(St,zt("Shape")),rn(Tt,zt("Container")),function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];Ve.push.apply(Ve,O([].concat(t)))}([At,xt,se,Ne,Ot,le,pe]),$(Ve,{to:function(t,e){return(new Xe).type(this.constructor).from(this.valueOf()).to(t,e)},fromArray:function(t){return this.init(t),this}}),Object.assign(sn,en),Object.assign(sn,W),Object.assign(sn,ut),sn.utils=mt,sn.regex=e,(sn.get=sn).find=Wt,Object.assign(sn,B),sn.easing=Pe,Object.assign(sn,dt),sn.TransformBag=He,sn.ObjectBag=Ge,sn.NonMorphable=Ye,sn.parser=ie,sn.defaults=bt,sn}();
}
}
},
- "@gulp-sourcemaps/identity-map": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz",
- "integrity": "sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==",
- "dev": true,
- "requires": {
- "acorn": "^5.0.3",
- "css": "^2.2.1",
- "normalize-path": "^2.1.1",
- "source-map": "^0.6.0",
- "through2": "^2.0.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "@gulp-sourcemaps/map-sources": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
- "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
- "dev": true,
- "requires": {
- "normalize-path": "^2.0.1",
- "through2": "^2.0.3"
- }
- },
"@types/estree": {
"version": "0.0.39",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
"dev": true
},
"@types/node": {
- "version": "10.12.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.0.tgz",
- "integrity": "sha512-3TUHC3jsBAB7qVRGxT6lWyYo2v96BMmD2PTcl47H25Lu7UXtFH/2qqmKiVrnel6Ne//0TFYf6uvNX+HW2FRkLQ==",
+ "version": "10.12.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.2.tgz",
+ "integrity": "sha512-53ElVDSnZeFUUFIYzI8WLQ25IhWzb6vbddNp8UHlXQyU0ET2RhV5zg0NfubzU7iNMh5bBXb0htCzfvrSVNgzaQ==",
"dev": true
},
"abbrev": {
"dev": true
},
"accepts": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
- "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
"dev": true,
"requires": {
- "mime-types": "~2.1.11",
+ "mime-types": "~2.1.18",
"negotiator": "0.6.1"
}
},
"dev": true
},
"acorn-jsx": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
- "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
- "dev": true,
- "requires": {
- "acorn": "^3.0.4"
- },
- "dependencies": {
- "acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
- "dev": true
- }
- }
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.0.tgz",
+ "integrity": "sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg==",
+ "dev": true
},
"after": {
"version": "0.8.2",
"dev": true
},
"ajv": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
- "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "json-stable-stringify": "^1.0.1"
- }
- },
- "ajv-keywords": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
- "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
- "dev": true
- },
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
+ "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
"dev": true,
"requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
},
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
}
}
},
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"ansi-align": {
"version": "2.0.0",
}
}
},
- "ansi-colors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
- "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
- "dev": true,
- "requires": {
- "ansi-wrap": "^0.1.0"
- }
- },
"ansi-escapes": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
- "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+ "version": "3.1.0",
+ "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
+ "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
"dev": true
},
- "ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
- "ansi-wrap": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
- "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
- "dev": true
- },
"anymatch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
"dev": true,
"requires": {
- "micromatch": "^2.1.5",
- "normalize-path": "^2.0.0"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- }
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
}
},
- "app-root-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz",
- "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=",
- "dev": true
- },
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
- "archy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
- "dev": true
- },
"are-we-there-yet": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
- "array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true
- },
- "array-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
- "dev": true
- },
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
"dev": true
},
- "array-slice": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
- "dev": true
- },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
- "array.prototype.find": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz",
- "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
- }
- },
"arraybuffer.slice": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
- "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
"dev": true
},
"arrify": {
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true
},
- "assert-plus": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
- "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
- "dev": true
- },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
"dev": true
},
+ "async-limiter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+ "dev": true
+ },
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
"dev": true
},
- "aws-sign2": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
- "dev": true
- },
- "aws4": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
- "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
- "dev": true
- },
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "babel-eslint": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz",
+ "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==",
"dev": true,
"requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "^1.0.0"
}
},
"babel-runtime": {
"tweetnacl": "^0.14.3"
}
},
- "beeper": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
- "dev": true
- },
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
}
},
"binary-extensions": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
- "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
+ "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
"dev": true
},
"bl": {
}
},
"blob": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
- "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
+ "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
"dev": true
},
"bluebird": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz",
+ "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==",
"dev": true
},
"body-parser": {
"type-is": "~1.6.16"
},
"dependencies": {
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
}
}
},
- "boom": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true,
- "requires": {
- "hoek": "2.x.x"
- }
- },
"boxen": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-2.0.0.tgz",
"integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==",
"dev": true
},
- "bufferstreams": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz",
- "integrity": "sha1-z7GtlWjTujz+k1upq92VLeiKqyo=",
- "dev": true,
- "requires": {
- "readable-stream": "^1.0.33"
- }
- },
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"integrity": "sha512-enC3zKfUCJxxwvUIsBkbHd54CtJw1KtIWvrK0JZxWD/fEN2knHaai45lndJ4xXAkyRAPyk60J3yagkKDWhfeMA==",
"dev": true
},
- "caseless": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
- "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
- "dev": true
- },
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true,
- "requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
- }
- },
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"supports-color": "^2.0.0"
}
},
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
+ },
"chokidar": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
- "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
+ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
"dev": true,
"requires": {
- "anymatch": "^1.3.0",
+ "anymatch": "^2.0.0",
"async-each": "^1.0.0",
- "fsevents": "^1.0.0",
- "glob-parent": "^2.0.0",
+ "braces": "^2.3.0",
+ "fsevents": "^1.2.2",
+ "glob-parent": "^3.1.0",
"inherits": "^2.0.1",
"is-binary-path": "^1.0.0",
- "is-glob": "^2.0.0",
+ "is-glob": "^4.0.0",
+ "lodash.debounce": "^4.0.8",
+ "normalize-path": "^2.1.1",
"path-is-absolute": "^1.0.0",
- "readdirp": "^2.0.0"
+ "readdirp": "^2.0.0",
+ "upath": "^1.0.5"
},
"dependencies": {
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
+ },
+ "dependencies": {
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.0"
+ }
+ }
+ }
},
"is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
"dev": true,
"requires": {
- "is-extglob": "^1.0.0"
+ "is-extglob": "^2.1.1"
}
}
}
"dev": true
},
"cli-cursor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
- "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
"dev": true,
"requires": {
- "restore-cursor": "^1.0.1"
+ "restore-cursor": "^2.0.0"
}
},
"cli-width": {
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
"dev": true
},
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
"clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
"dev": true
},
- "clone-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
- "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
- "dev": true
- },
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
- "dev": true
- },
- "cloneable-readable": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
- "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "process-nextick-args": "^2.0.0",
- "readable-stream": "^2.3.5"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
- "color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true
- },
"colors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.0.tgz",
- "integrity": "sha512-EDpX3a7wHMWFA7PUHWPHNWqOxIIRSJetuwl0AS5Oi/5FMV8kWm69RTlgm00GKjBO1xFHMtBbL49yRtMMdticBw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz",
+ "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==",
"dev": true
},
"combine-lists": {
},
"dependencies": {
"lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
"dev": true
}
}
}
},
"commander": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
- "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
- "dev": true
+ "version": "2.17.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+ "dev": true,
+ "optional": true
},
"component-bind": {
"version": "1.0.0",
}
}
},
- "concat-with-sourcemaps": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
- "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
- "dev": true,
- "requires": {
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
"connect": {
"version": "3.6.6",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
- "consolidate": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
- "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
- "dev": true,
- "requires": {
- "bluebird": "^3.1.1"
- }
- },
"contains-path": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
- "copy-props": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-1.6.0.tgz",
- "integrity": "sha1-8DJLvumXcRAeezraES8xPDk9uO0=",
- "dev": true,
- "requires": {
- "each-props": "^1.2.1",
- "is-plain-object": "^2.0.1"
- }
- },
"core-js": {
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
"dev": true
},
"coveralls": {
- "version": "2.13.3",
- "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz",
- "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz",
+ "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==",
"dev": true,
"requires": {
- "js-yaml": "3.6.1",
- "lcov-parse": "0.0.10",
- "log-driver": "1.2.5",
- "minimist": "1.2.0",
- "request": "2.79.0"
+ "growl": "~> 1.10.0",
+ "js-yaml": "^3.11.0",
+ "lcov-parse": "^0.0.10",
+ "log-driver": "^1.2.7",
+ "minimist": "^1.2.0",
+ "request": "^2.85.0"
},
"dependencies": {
- "request": {
- "version": "2.79.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
- "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.6.0",
- "aws4": "^1.2.1",
- "caseless": "~0.11.0",
- "combined-stream": "~1.0.5",
- "extend": "~3.0.0",
- "forever-agent": "~0.6.1",
- "form-data": "~2.1.1",
- "har-validator": "~2.0.6",
- "hawk": "~3.1.3",
- "http-signature": "~1.1.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.7",
- "oauth-sign": "~0.8.1",
- "qs": "~6.3.0",
- "stringstream": "~0.0.4",
- "tough-cookie": "~2.3.0",
- "tunnel-agent": "~0.4.1",
- "uuid": "^3.0.0"
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
}
}
}
}
}
},
- "cryptiles": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
- "dev": true,
- "requires": {
- "boom": "2.x.x"
- }
- },
- "css": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
- "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "source-map": "^0.6.1",
- "source-map-resolve": "^0.5.2",
- "urix": "^0.1.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
"dev": true
},
- "d": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
- "dev": true,
- "requires": {
- "es5-ext": "^0.10.9"
- }
- },
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
}
}
},
- "dateformat": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
- "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
+ "date-format": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+ "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=",
"dev": true
},
"debug": {
"ms": "2.0.0"
}
},
- "debug-fabulous": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz",
- "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==",
- "dev": true,
- "requires": {
- "debug": "3.X",
- "memoizee": "0.4.X",
- "object-assign": "4.X"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- }
- }
- },
- "debug-log": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz",
- "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=",
- "dev": true
- },
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"mimic-response": "^1.0.0"
}
},
- "deep-assign": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz",
- "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=",
- "dev": true,
- "requires": {
- "is-obj": "^1.0.0"
- }
- },
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
- "dev": true,
- "requires": {
- "clone": "^1.0.2"
- }
- },
- "define-properties": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
- "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
- "dev": true,
- "requires": {
- "foreach": "^2.0.5",
- "object-keys": "^1.0.8"
- }
- },
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
}
}
},
- "deglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.1.tgz",
- "integrity": "sha512-2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw==",
- "dev": true,
- "requires": {
- "find-root": "^1.0.0",
- "glob": "^7.0.5",
- "ignore": "^3.0.9",
- "pkg-config": "^1.1.0",
- "run-parallel": "^1.1.2",
- "uniq": "^1.0.1"
- }
- },
"del": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
- "deprecated": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
- "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
- "dev": true
- },
- "detect-file": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
- "dev": true
- },
"detect-libc": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
"dev": true
},
- "detect-newline": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
- "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
- "dev": true
- },
"dfa": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/dfa/-/dfa-1.1.0.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
- "duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.1.9"
- }
- },
- "each-props": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz",
- "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.1",
- "object.defaults": "^1.1.0"
- }
- },
"ecc-jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
- "end-of-stream": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
- "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
- "dev": true,
- "requires": {
- "once": "~1.3.0"
- },
- "dependencies": {
- "once": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
- "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- }
- }
- },
"engine.io": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
- "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
+ "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
"dev": true,
"requires": {
- "accepts": "1.3.3",
+ "accepts": "~1.3.4",
"base64id": "1.0.0",
"cookie": "0.3.1",
- "debug": "2.3.3",
- "engine.io-parser": "1.3.2",
- "ws": "1.1.2"
+ "debug": "~3.1.0",
+ "engine.io-parser": "~2.1.0",
+ "ws": "~3.3.1"
},
"dependencies": {
"debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "ms": "0.7.2"
+ "ms": "2.0.0"
}
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
}
}
},
"engine.io-client": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
- "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
+ "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
"dev": true,
"requires": {
"component-emitter": "1.2.1",
"component-inherit": "0.0.3",
- "debug": "2.3.3",
- "engine.io-parser": "1.3.2",
+ "debug": "~3.1.0",
+ "engine.io-parser": "~2.1.1",
"has-cors": "1.1.0",
"indexof": "0.0.1",
- "parsejson": "0.0.3",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
- "ws": "1.1.2",
- "xmlhttprequest-ssl": "1.5.3",
+ "ws": "~3.3.1",
+ "xmlhttprequest-ssl": "~1.5.4",
"yeast": "0.1.2"
},
"dependencies": {
"debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "ms": "0.7.2"
+ "ms": "2.0.0"
}
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
}
}
},
"engine.io-parser": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
- "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
+ "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
"dev": true,
"requires": {
"after": "0.8.2",
- "arraybuffer.slice": "0.0.6",
+ "arraybuffer.slice": "~0.0.7",
"base64-arraybuffer": "0.1.5",
- "blob": "0.0.4",
- "has-binary": "0.1.7",
- "wtf-8": "1.0.0"
+ "blob": "0.0.5",
+ "has-binary2": "~1.0.2"
}
},
"ent": {
"is-arrayish": "^0.2.1"
}
},
- "es-abstract": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
- "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.1.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.1",
- "is-callable": "^1.1.3",
- "is-regex": "^1.0.4"
- }
- },
- "es-to-primitive": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
- "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.1",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.1"
- }
- },
- "es5-ext": {
- "version": "0.10.45",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz",
- "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
- "dev": true,
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.1",
- "next-tick": "1"
- }
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
},
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
},
- "es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-set": "~0.1.5",
- "es6-symbol": "~3.1.1",
- "event-emitter": "~0.3.5"
- }
- },
- "es6-promise": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
- "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
- "dev": true
- },
- "es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-symbol": "3.1.1",
- "event-emitter": "~0.3.5"
- }
- },
- "es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "es6-weak-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.14",
- "es6-iterator": "^2.0.1",
- "es6-symbol": "^3.1.1"
- }
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+ "escodegen": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
"requires": {
"esprima": "^2.7.1",
}
}
},
- "escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "dev": true,
- "requires": {
- "es6-map": "^0.1.3",
- "es6-weak-map": "^2.0.1",
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- }
- },
"eslint": {
- "version": "3.19.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz",
- "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.8.0.tgz",
+ "integrity": "sha512-Zok6Bru3y2JprqTNm14mgQ15YQu/SMDkWdnmHfFg770DIUlmMFd/gqqzCHekxzjHZJxXv3tmTpH0C1icaYJsRQ==",
"dev": true,
"requires": {
- "babel-code-frame": "^6.16.0",
- "chalk": "^1.1.3",
- "concat-stream": "^1.5.2",
- "debug": "^2.1.1",
- "doctrine": "^2.0.0",
- "escope": "^3.6.0",
- "espree": "^3.4.0",
- "esquery": "^1.0.0",
- "estraverse": "^4.2.0",
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.5.3",
+ "chalk": "^2.1.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^2.1.0",
+ "eslint-scope": "^4.0.0",
+ "eslint-utils": "^1.3.1",
+ "eslint-visitor-keys": "^1.0.0",
+ "espree": "^4.0.0",
+ "esquery": "^1.0.1",
"esutils": "^2.0.2",
"file-entry-cache": "^2.0.0",
- "glob": "^7.0.3",
- "globals": "^9.14.0",
- "ignore": "^3.2.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob": "^7.1.2",
+ "globals": "^11.7.0",
+ "ignore": "^4.0.6",
"imurmurhash": "^0.1.4",
- "inquirer": "^0.12.0",
- "is-my-json-valid": "^2.10.0",
- "is-resolvable": "^1.0.0",
- "js-yaml": "^3.5.1",
- "json-stable-stringify": "^1.0.0",
+ "inquirer": "^6.1.0",
+ "is-resolvable": "^1.1.0",
+ "js-yaml": "^3.12.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0",
- "lodash": "^4.0.0",
- "mkdirp": "^0.5.0",
+ "lodash": "^4.17.5",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
"optionator": "^0.8.2",
- "path-is-inside": "^1.0.1",
- "pluralize": "^1.2.1",
- "progress": "^1.1.8",
- "require-uncached": "^1.0.2",
- "shelljs": "^0.7.5",
- "strip-bom": "^3.0.0",
- "strip-json-comments": "~2.0.1",
- "table": "^3.7.8",
- "text-table": "~0.2.0",
- "user-home": "^2.0.0"
+ "path-is-inside": "^1.0.2",
+ "pluralize": "^7.0.0",
+ "progress": "^2.0.0",
+ "regexpp": "^2.0.1",
+ "require-uncached": "^1.0.3",
+ "semver": "^5.5.1",
+ "strip-ansi": "^4.0.0",
+ "strip-json-comments": "^2.0.1",
+ "table": "^5.0.2",
+ "text-table": "^0.2.0"
},
"dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
- "strip-bom": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "debug": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
+ "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "eslint-scope": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
+ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "user-home": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
- "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
+ "js-yaml": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
- "os-homedir": "^1.0.0"
+ "has-flag": "^3.0.0"
}
}
}
},
"eslint-config-standard": {
- "version": "10.2.1",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz",
- "integrity": "sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE=",
- "dev": true
- },
- "eslint-config-standard-jsx": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz",
- "integrity": "sha512-F8fRh2WFnTek7dZH9ZaE0PCBwdVGkwVWZmizla/DDNOmg7Tx6B/IlK5+oYpiX29jpu73LszeJj5i1axEZv6VMw==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz",
+ "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==",
"dev": true
},
"eslint-import-resolver-node": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz",
- "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
+ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
"dev": true,
"requires": {
- "debug": "^2.2.0",
- "object-assign": "^4.0.1",
- "resolve": "^1.1.6"
+ "debug": "^2.6.9",
+ "resolve": "^1.5.0"
}
},
"eslint-module-utils": {
"pkg-dir": "^1.0.0"
}
},
+ "eslint-plugin-es": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.1.tgz",
+ "integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==",
+ "dev": true,
+ "requires": {
+ "eslint-utils": "^1.3.0",
+ "regexpp": "^2.0.0"
+ }
+ },
"eslint-plugin-import": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz",
- "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=",
+ "version": "2.14.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz",
+ "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==",
"dev": true,
"requires": {
- "builtin-modules": "^1.1.1",
"contains-path": "^0.1.0",
- "debug": "^2.2.0",
+ "debug": "^2.6.8",
"doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.2.0",
- "eslint-module-utils": "^2.0.0",
+ "eslint-import-resolver-node": "^0.3.1",
+ "eslint-module-utils": "^2.2.0",
"has": "^1.0.1",
- "lodash.cond": "^4.3.0",
+ "lodash": "^4.17.4",
"minimatch": "^3.0.3",
- "pkg-up": "^1.0.0"
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.6.0"
},
"dependencies": {
"doctrine": {
"isarray": "^1.0.0"
}
},
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ }
}
}
},
"eslint-plugin-node": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-4.2.3.tgz",
- "integrity": "sha512-vIUQPuwbVYdz/CYnlTLsJrRy7iXHQjdEe5wz0XhhdTym3IInM/zZLlPf9nZ2mThsH0QcsieCOWs2vOeCy/22LQ==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.0.tgz",
+ "integrity": "sha512-Y+ln8iQ52scz9+rSPnSWRaAxeWaoJZ4wIveDR0vLHkuSZGe44Vk1J4HX7WvEP5Cm+iXPE8ixo7OM7gAO3/OKpQ==",
"dev": true,
"requires": {
- "ignore": "^3.0.11",
- "minimatch": "^3.0.2",
- "object-assign": "^4.0.1",
- "resolve": "^1.1.7",
- "semver": "5.3.0"
+ "eslint-plugin-es": "^1.3.1",
+ "eslint-utils": "^1.3.1",
+ "ignore": "^5.0.2",
+ "minimatch": "^3.0.4",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.0"
},
"dependencies": {
+ "ignore": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.4.tgz",
+ "integrity": "sha512-WLsTMEhsQuXpCiG173+f3aymI43SXa+fB1rSfbzyP4GkPP+ZFVuO0/3sFUGNBtifisPeDcl/uD/Y2NxZ7xFq4g==",
+ "dev": true
+ },
"semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
"dev": true
}
}
},
"eslint-plugin-promise": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz",
- "integrity": "sha1-ePu2/+BHIBYnVp6FpsU3OvKmj8o=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz",
+ "integrity": "sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg==",
+ "dev": true
+ },
+ "eslint-plugin-standard": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz",
+ "integrity": "sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==",
"dev": true
},
- "eslint-plugin-react": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz",
- "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=",
+ "eslint-scope": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
"dev": true,
"requires": {
- "array.prototype.find": "^2.0.1",
- "doctrine": "^1.2.2",
- "has": "^1.0.1",
- "jsx-ast-utils": "^1.3.4",
- "object.assign": "^4.0.4"
- },
- "dependencies": {
- "doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "isarray": "^1.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- }
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
}
},
- "eslint-plugin-standard": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz",
- "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=",
+ "eslint-utils": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz",
+ "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==",
+ "dev": true
+ },
+ "eslint-visitor-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
"dev": true
},
"espree": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
- "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
+ "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
"dev": true,
"requires": {
- "acorn": "^5.5.0",
- "acorn-jsx": "^3.0.0"
+ "acorn": "^6.0.2",
+ "acorn-jsx": "^5.0.0",
+ "eslint-visitor-keys": "^1.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
+ "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==",
+ "dev": true
+ }
}
},
"esprima": {
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
"eventemitter3": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
"strip-eof": "^1.0.0"
}
},
- "exit-hook": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
- "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
- "dev": true
- },
"expand-braces": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
"integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==",
"dev": true
},
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true,
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- },
"extend": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
}
}
},
+ "external-editor": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
+ "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
"extglob": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
}
}
},
- "extract-zip": {
- "version": "1.6.7",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
- "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
- "dev": true,
- "requires": {
- "concat-stream": "1.6.2",
- "debug": "2.6.9",
- "mkdirp": "0.5.1",
- "yauzl": "2.4.1"
- }
- },
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"object-keys": "^1.0.6"
}
},
- "fancy-log": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
- "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
- "dev": true,
- "requires": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "time-stamp": "^1.0.0"
- }
- },
"fast-deep-equal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
- "fd-slicer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
- "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
- "dev": true,
- "requires": {
- "pend": "~1.2.0"
- }
- },
"figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
"dev": true,
"requires": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
+ "escape-string-regexp": "^1.0.5"
}
},
"file-entry-cache": {
}
}
},
- "find-index": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
- "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
- "dev": true
- },
- "find-root": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
- "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
- "dev": true
- },
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"pinkie-promise": "^2.0.0"
}
},
- "findup-sync": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
- "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
- "dev": true,
- "requires": {
- "detect-file": "^1.0.0",
- "is-glob": "^3.1.0",
- "micromatch": "^3.0.4",
- "resolve-dir": "^1.0.1"
- }
- },
- "fined": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
- "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.2",
- "is-plain-object": "^2.0.3",
- "object.defaults": "^1.1.0",
- "object.pick": "^1.2.0",
- "parse-filepath": "^1.0.1"
- }
- },
- "first-chunk-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
- "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
- "dev": true
- },
- "flagged-respawn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
- "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
- "dev": true
- },
"flat-cache": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
"del": "^2.0.2",
"graceful-fs": "^4.1.2",
"write": "^0.2.1"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- }
}
},
"follow-redirects": {
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
- "for-own": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
- "dev": true,
- "requires": {
- "for-in": "^1.0.1"
- }
- },
"foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
- "form-data": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.5",
- "mime-types": "^2.1.12"
- }
- },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"map-cache": "^0.2.2"
}
},
+ "fs-access": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+ "dev": true,
+ "requires": {
+ "null-check": "^1.0.0"
+ }
+ },
"fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"dev": true
},
- "fs-extra": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
- "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^2.1.0",
- "klaw": "^1.0.0"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- }
- }
- },
- "fs-readfile-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz",
- "integrity": "sha1-gAI4I5gfn//+AWCei+Zo9prknnA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- }
- }
- },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"console-control-strings": {
"version": "1.1.0",
"version": "3.0.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"wide-align": "^1.1.0"
}
},
- "gaze": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
- "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
- "dev": true,
- "requires": {
- "globule": "~0.1.0"
- }
- },
- "generate-function": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
- "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
- "dev": true
- },
- "generate-object-property": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
- "dev": true,
- "requires": {
- "is-property": "^1.0.0"
- }
- },
- "get-stdin": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
- "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
- "dev": true
- },
"get-stream": {
"version": "3.0.0",
"resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
"dev": true
},
"glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
}
}
},
- "glob-stream": {
- "version": "3.1.18",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
- "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
- "dev": true,
- "requires": {
- "glob": "^4.3.1",
- "glob2base": "^0.0.12",
- "minimatch": "^2.0.1",
- "ordered-read-streams": "^0.1.0",
- "through2": "^0.6.1",
- "unique-stream": "^1.0.0"
- },
- "dependencies": {
- "glob": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^2.0.1",
- "once": "^1.3.0"
- }
- },
- "minimatch": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.0.0"
- }
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- }
- }
- }
- },
- "glob-watcher": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
- "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
- "dev": true,
- "requires": {
- "gaze": "^0.5.1"
- }
- },
- "glob2base": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
- "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
- "dev": true,
- "requires": {
- "find-index": "^0.1.1"
- }
- },
- "global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
- "dev": true,
- "requires": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
- }
- },
- "global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.2",
- "homedir-polyfill": "^1.0.1",
- "ini": "^1.3.4",
- "is-windows": "^1.0.1",
- "which": "^1.2.14"
- }
- },
"globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "version": "11.8.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz",
+ "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==",
"dev": true
},
"globby": {
"pinkie-promise": "^2.0.0"
}
},
- "globule": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
- "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
+ "graceful-fs": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+ "dev": true
+ },
+ "growl": {
+ "version": "1.10.5",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
+ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
"dev": true,
"requires": {
- "glob": "~3.1.21",
- "lodash": "~1.0.1",
- "minimatch": "~0.2.11"
+ "async": "^2.5.0",
+ "optimist": "^0.6.1",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4"
},
"dependencies": {
- "glob": {
- "version": "3.1.21",
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
- "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
+ "async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
"dev": true,
"requires": {
- "graceful-fs": "~1.2.0",
- "inherits": "1",
- "minimatch": "~0.2.11"
+ "lodash": "^4.17.10"
}
},
- "graceful-fs": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
- "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
"dev": true
},
- "inherits": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
- "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "minimatch": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
- "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true,
- "requires": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
- }
}
}
},
- "glogg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
- "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
},
- "graceful-fs": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
- "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
- "natives": "^1.1.0"
+ "function-bind": "^1.1.1"
}
},
- "gulp": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
- "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
- "archy": "^1.0.0",
- "chalk": "^1.0.0",
- "deprecated": "^0.0.1",
- "gulp-util": "^3.0.0",
- "interpret": "^1.0.0",
- "liftoff": "^2.1.0",
- "minimist": "^1.1.0",
- "orchestrator": "^0.3.0",
- "pretty-hrtime": "^1.0.0",
- "semver": "^4.1.0",
- "tildify": "^1.0.0",
- "v8flags": "^2.0.2",
- "vinyl-fs": "^0.3.0"
+ "ansi-regex": "^2.0.0"
}
},
- "gulp-babel": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-8.0.0.tgz",
- "integrity": "sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ==",
+ "has-binary2": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
+ "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
"dev": true,
"requires": {
- "plugin-error": "^1.0.1",
- "replace-ext": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl-sourcemaps-apply": "^0.2.0"
+ "isarray": "2.0.1"
},
"dependencies": {
- "replace-ext": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
- "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
"dev": true
}
}
},
- "gulp-chmod": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/gulp-chmod/-/gulp-chmod-2.0.0.tgz",
- "integrity": "sha1-AMOQuSigeZslGsz2MaoJ4BzGKZw=",
+ "has-cors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"dev": true,
"requires": {
- "deep-assign": "^1.0.0",
- "stat-mode": "^0.2.0",
- "through2": "^2.0.0"
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
}
},
- "gulp-cli": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-1.4.0.tgz",
- "integrity": "sha1-b1u+LNC9tISdEs+eEkalhh+LT4g=",
- "dev": true,
- "requires": {
- "archy": "^1.0.0",
- "chalk": "^1.1.0",
- "copy-props": "^1.4.1",
- "fancy-log": "^1.1.0",
- "gulplog": "^1.0.0",
- "interpret": "^1.0.0",
- "liftoff": "^2.3.0",
- "lodash.isfunction": "^3.0.8",
- "lodash.isplainobject": "^4.0.4",
- "lodash.sortby": "^4.5.0",
- "matchdep": "^1.0.0",
- "mute-stdout": "^1.0.0",
- "pretty-hrtime": "^1.0.0",
- "semver-greatest-satisfied-range": "^1.0.0",
- "tildify": "^1.0.0",
- "v8flags": "^2.0.9",
- "wreck": "^6.3.0",
- "yargs": "^3.28.0"
- }
- },
- "gulp-concat": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
- "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
"requires": {
- "concat-with-sourcemaps": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl": "^2.0.0"
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
},
"dependencies": {
- "clone": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
- "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
- "dev": true
- },
- "clone-stats": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
- "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
- "dev": true
- },
- "replace-ext": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
- "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
- "dev": true
- },
- "vinyl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
- "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
"requires": {
- "clone": "^2.1.1",
- "clone-buffer": "^1.0.0",
- "clone-stats": "^1.0.0",
- "cloneable-readable": "^1.0.0",
- "remove-trailing-separator": "^1.0.1",
- "replace-ext": "^1.0.0"
+ "is-buffer": "^1.1.5"
}
}
}
},
- "gulp-header": {
- "version": "1.8.12",
- "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz",
- "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==",
- "dev": true,
- "requires": {
- "concat-with-sourcemaps": "*",
- "lodash.template": "^4.4.0",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "lodash.template": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz",
- "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "~3.0.0",
- "lodash.templatesettings": "^4.0.0"
- }
- },
- "lodash.templatesettings": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz",
- "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "~3.0.0"
- }
- }
- }
- },
- "gulp-rename": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
- "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==",
- "dev": true
- },
- "gulp-size": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/gulp-size/-/gulp-size-2.1.0.tgz",
- "integrity": "sha1-HCtk8X+QcdWr2Z0VS3s0gfj7oSg=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0",
- "gulp-util": "^3.0.0",
- "gzip-size": "^3.0.0",
- "object-assign": "^4.0.1",
- "pretty-bytes": "^3.0.1",
- "stream-counter": "^1.0.0",
- "through2": "^2.0.0"
- }
- },
- "gulp-sourcemaps": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
- "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=",
- "dev": true,
- "requires": {
- "@gulp-sourcemaps/identity-map": "1.X",
- "@gulp-sourcemaps/map-sources": "1.X",
- "acorn": "5.X",
- "convert-source-map": "1.X",
- "css": "2.X",
- "debug-fabulous": "1.X",
- "detect-newline": "2.X",
- "graceful-fs": "4.X",
- "source-map": "~0.6.0",
- "strip-bom-string": "1.X",
- "through2": "2.X"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "gulp-standard": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/gulp-standard/-/gulp-standard-10.1.2.tgz",
- "integrity": "sha512-w+VBktDzONh807qzV5FvngPgmzuGRWu7oMlIpIvOOmSPlyy/ixM138DGOuMWy1M9bRVMDKEfQSj0aGB2ZjzQSA==",
- "dev": true,
- "requires": {
- "app-root-path": "^2.0.0",
- "colors": "^1.1.2",
- "log-symbols": "^1.0.2",
- "path": "^0.12.7",
- "plugin-error": "^1.0.0",
- "standard": "^10.0.0",
- "through2": "^2.0.0"
- },
- "dependencies": {
- "standard": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/standard/-/standard-10.0.3.tgz",
- "integrity": "sha512-JURZ+85ExKLQULckDFijdX5WHzN6RC7fgiZNSV4jFQVo+3tPoQGHyBrGekye/yf0aOfb4210EM5qPNlc2cRh4w==",
- "dev": true,
- "requires": {
- "eslint": "~3.19.0",
- "eslint-config-standard": "10.2.1",
- "eslint-config-standard-jsx": "4.0.2",
- "eslint-plugin-import": "~2.2.0",
- "eslint-plugin-node": "~4.2.2",
- "eslint-plugin-promise": "~3.5.0",
- "eslint-plugin-react": "~6.10.0",
- "eslint-plugin-standard": "~3.0.1",
- "standard-engine": "~7.0.0"
- }
- }
- }
- },
- "gulp-trimlines": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gulp-trimlines/-/gulp-trimlines-1.0.1.tgz",
- "integrity": "sha1-exeRa4UMoPBa9BkN0k6aweJunyY=",
- "dev": true,
- "requires": {
- "through2": "^0.6.3"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- }
- }
- }
- },
- "gulp-uglify": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-2.1.2.tgz",
- "integrity": "sha1-bbhbHQ7mPRgFhZK2WGSdZcLsRUE=",
- "dev": true,
- "requires": {
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash": "^4.13.1",
- "make-error-cause": "^1.1.1",
- "through2": "^2.0.0",
- "uglify-js": "~2.8.10",
- "uglify-save-license": "^0.4.1",
- "vinyl-sourcemaps-apply": "^0.2.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
- },
- "gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
- "dev": true,
- "requires": {
- "array-differ": "^1.0.0",
- "array-uniq": "^1.0.2",
- "beeper": "^1.0.0",
- "chalk": "^1.0.0",
- "dateformat": "^2.0.0",
- "fancy-log": "^1.1.0",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash._reescape": "^3.0.0",
- "lodash._reevaluate": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.template": "^3.0.0",
- "minimist": "^1.1.0",
- "multipipe": "^0.1.2",
- "object-assign": "^3.0.0",
- "replace-ext": "0.0.1",
- "through2": "^2.0.0",
- "vinyl": "^0.5.0"
- },
- "dependencies": {
- "object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
- "dev": true
- }
- }
- },
- "gulp-wrap": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/gulp-wrap/-/gulp-wrap-0.13.0.tgz",
- "integrity": "sha1-kPsLSieiZkM4Mv98YSLbXB7olMY=",
- "dev": true,
- "requires": {
- "consolidate": "^0.14.1",
- "es6-promise": "^3.1.2",
- "fs-readfile-promise": "^2.0.1",
- "gulp-util": "^3.0.3",
- "js-yaml": "^3.2.6",
- "lodash": "^4.11.1",
- "node.extend": "^1.1.2",
- "through2": "^2.0.1",
- "tryit": "^1.0.1",
- "vinyl-bufferstream": "^1.0.1"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
- },
- "gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
- "dev": true,
- "requires": {
- "glogg": "^1.0.0"
- }
- },
- "gzip-size": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
- "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
- "dev": true,
- "requires": {
- "duplexer": "^0.1.1"
- }
- },
- "handlebars": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
- "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
- "dev": true,
- "requires": {
- "async": "^1.4.0",
- "optimist": "^0.6.1",
- "source-map": "^0.4.4",
- "uglify-js": "^2.6"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.1",
- "commander": "^2.9.0",
- "is-my-json-valid": "^2.12.4",
- "pinkie-promise": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "has-binary": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
- "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
- "dev": true,
- "requires": {
- "isarray": "0.0.1"
- }
- },
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
- "dev": true
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true
- },
- "has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
- },
- "has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
- "dev": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
- "dev": true
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "hasha": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
- "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
- "dev": true,
- "requires": {
- "is-stream": "^1.0.1",
- "pinkie-promise": "^2.0.0"
- }
- },
- "hawk": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
- "dev": true,
- "requires": {
- "boom": "2.x.x",
- "cryptiles": "2.x.x",
- "hoek": "2.x.x",
- "sntp": "1.x.x"
- }
- },
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
- "hoek": {
- "version": "2.16.3",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
- "dev": true
- },
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.1"
- }
- },
- "homedir-polyfill": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
- "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
- "dev": true,
- "requires": {
- "parse-passwd": "^1.0.0"
- }
- },
"hosted-git-info": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.1.tgz",
},
"http-errors": {
"version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"dev": true,
"requires": {
}
}
},
- "http-signature": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
- "dev": true,
- "requires": {
- "assert-plus": "^0.2.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
"iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"ignore": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
"dev": true
},
"iltorb": {
"dev": true
},
"inquirer": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
- "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
+ "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
"dev": true,
"requires": {
- "ansi-escapes": "^1.1.0",
- "ansi-regex": "^2.0.0",
- "chalk": "^1.0.0",
- "cli-cursor": "^1.0.1",
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
"cli-width": "^2.0.0",
- "figures": "^1.3.5",
- "lodash": "^4.3.0",
- "readline2": "^1.0.1",
- "run-async": "^0.1.0",
- "rx-lite": "^3.1.2",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.0",
+ "external-editor": "^3.0.0",
+ "figures": "^2.0.0",
+ "lodash": "^4.17.10",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.1.0",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
"through": "^2.3.6"
},
"dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
- }
- }
- },
- "interpret": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
- "dev": true
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dev": true,
- "requires": {
- "loose-envify": "^1.0.0"
- }
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
- },
- "is": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
- "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=",
- "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
},
- "is-absolute": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dev": true,
"requires": {
- "is-relative": "^1.0.0",
- "is-windows": "^1.0.1"
+ "loose-envify": "^1.0.0"
}
},
"is-accessor-descriptor": {
"builtin-modules": "^1.0.0"
}
},
- "is-callable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
- "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
- "dev": true
- },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
}
}
},
- "is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true
- },
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"number-is-nan": "^1.0.0"
}
},
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- },
- "is-my-ip-valid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
- "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
- "dev": true
- },
- "is-my-json-valid": {
- "version": "2.17.2",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz",
- "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
- "dev": true,
- "requires": {
- "generate-function": "^2.0.0",
- "generate-object-property": "^1.1.0",
- "is-my-ip-valid": "^1.0.0",
- "jsonpointer": "^4.0.0",
- "xtend": "^4.0.0"
- }
- },
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true
},
- "is-property": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
- "dev": true
- },
- "is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
- "dev": true,
- "requires": {
- "has": "^1.0.1"
- }
- },
- "is-relative": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
- "dev": true,
- "requires": {
- "is-unc-path": "^1.0.0"
- }
- },
"is-resolvable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
},
- "is-symbol": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
- "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
- "dev": true
- },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
- "is-unc-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
- "dev": true,
- "requires": {
- "unc-path-regex": "^0.1.2"
- }
- },
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"dev": true
},
"isbinaryfile": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
- "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
- "dev": true
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
+ "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
+ "dev": true,
+ "requires": {
+ "buffer-alloc": "^1.2.0"
+ }
},
"isexe": {
"version": "2.0.0",
}
},
"jasmine-core": {
- "version": "2.99.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
- "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.3.0.tgz",
+ "integrity": "sha512-3/xSmG/d35hf80BEN66Y6g9Ca5l/Isdeg/j6zvbTYlTzeKinzmaTM4p9am5kYqOmE05D7s1t8FGjzdSnbUbceA==",
"dev": true
},
"jest-worker": {
"integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
"dev": true
},
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
- "json-stable-stringify": {
+ "json-stable-stringify-without-jsonify": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "dev": true,
- "requires": {
- "jsonify": "~0.0.0"
- }
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
},
"json-stringify-safe": {
"version": "5.0.1",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
- "json3": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
- "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
- "dev": true
- },
"json5": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
- "jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true,
- "optional": true
- }
- }
- },
- "jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
- "dev": true
- },
- "jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
- "dev": true
- },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
}
}
},
- "jsx-ast-utils": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz",
- "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=",
- "dev": true
- },
"karma": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz",
- "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.1.tgz",
+ "integrity": "sha512-NetT3wPCQMNB36uiL9LLyhrOt8SQwrEKt0xD3+KpTCfm0VxVyUJdPL5oTq2Ic5ouemgL/Iz4wqXEbF3zea9kQQ==",
"dev": true,
"requires": {
"bluebird": "^3.3.0",
"body-parser": "^1.16.1",
- "chokidar": "^1.4.1",
+ "chokidar": "^2.0.3",
"colors": "^1.1.0",
"combine-lists": "^1.0.0",
"connect": "^3.6.0",
"graceful-fs": "^4.1.2",
"http-proxy": "^1.13.0",
"isbinaryfile": "^3.0.0",
- "lodash": "^3.8.0",
- "log4js": "^0.6.31",
- "mime": "^1.3.4",
+ "lodash": "^4.17.4",
+ "log4js": "^3.0.0",
+ "mime": "^2.3.1",
"minimatch": "^3.0.2",
"optimist": "^0.6.1",
"qjobs": "^1.1.4",
"range-parser": "^1.2.0",
"rimraf": "^2.6.0",
"safe-buffer": "^5.0.1",
- "socket.io": "1.7.3",
- "source-map": "^0.5.3",
- "tmp": "0.0.31",
- "useragent": "^2.1.12"
+ "socket.io": "2.1.1",
+ "source-map": "^0.6.1",
+ "tmp": "0.0.33",
+ "useragent": "2.2.1"
},
"dependencies": {
"graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
"dev": true
},
"lodash": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
+ "mime": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
+ "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
+ "karma-chrome-launcher": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
+ "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
+ "dev": true,
+ "requires": {
+ "fs-access": "^1.0.0",
+ "which": "^1.2.1"
+ }
+ },
"karma-coverage": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz",
"dev": true
},
"lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
"dev": true
}
}
"integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
"dev": true
},
- "karma-phantomjs-launcher": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz",
- "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",
- "dev": true,
- "requires": {
- "lodash": "^4.0.1",
- "phantomjs-prebuilt": "^2.1.7"
- },
- "dependencies": {
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- }
- }
- },
- "kew": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
- "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
- "dev": true
- },
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.9"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true,
- "optional": true
- }
- }
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
"lcov-parse": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
"type-check": "~0.3.2"
}
},
- "liftoff": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
- "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
- "dev": true,
- "requires": {
- "extend": "^3.0.0",
- "findup-sync": "^2.0.0",
- "fined": "^1.0.1",
- "flagged-respawn": "^1.0.0",
- "is-plain-object": "^2.0.4",
- "object.map": "^1.0.0",
- "rechoir": "^0.6.2",
- "resolve": "^1.1.7"
- }
- },
"load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "version": "2.0.0",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
"strip-bom": "^3.0.0"
},
"dependencies": {
"graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- },
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
"dev": true
},
"strip-bom": {
}
},
"lodash": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
- "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
- "dev": true
- },
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
- },
- "lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
- "dev": true
- },
- "lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
- "dev": true
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
- "dev": true
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
- },
- "lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
- "dev": true
- },
- "lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
- "dev": true
- },
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
- "lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
- "dev": true
- },
- "lodash.cond": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz",
- "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=",
- "dev": true
- },
- "lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true,
- "requires": {
- "lodash._root": "^3.0.0"
- }
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
"dev": true
},
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
- "dev": true
- },
- "lodash.isfunction": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
- "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==",
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
- "lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
- "dev": true
- },
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true,
- "requires": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
- "lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
- "dev": true
- },
- "lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
- "dev": true
- },
- "lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
- "dev": true,
- "requires": {
- "lodash._basecopy": "^3.0.0",
- "lodash._basetostring": "^3.0.0",
- "lodash._basevalues": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0",
- "lodash.keys": "^3.0.0",
- "lodash.restparam": "^3.0.0",
- "lodash.templatesettings": "^3.0.0"
- }
- },
- "lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0"
- }
- },
"log-driver": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
- "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
+ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==",
"dev": true
},
- "log-symbols": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
- "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
- "dev": true,
- "requires": {
- "chalk": "^1.0.0"
- }
- },
"log4js": {
- "version": "0.6.38",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
- "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz",
+ "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==",
"dev": true,
"requires": {
- "readable-stream": "~1.0.2",
- "semver": "~4.3.3"
+ "circular-json": "^0.5.5",
+ "date-format": "^1.2.0",
+ "debug": "^3.1.0",
+ "rfdc": "^1.1.2",
+ "streamroller": "0.7.0"
},
"dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "circular-json": {
+ "version": "0.5.9",
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz",
+ "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==",
+ "dev": true
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "ms": "^2.1.1"
}
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
}
}
},
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
- },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"signal-exit": "^3.0.0"
}
},
- "lru-cache": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
- "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
- "dev": true
- },
- "lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
- "dev": true,
- "requires": {
- "es5-ext": "~0.10.2"
- }
- },
"magic-string": {
"version": "0.22.5",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
"vlq": "^0.2.2"
}
},
- "make-error": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
- "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
- "dev": true
- },
- "make-error-cause": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
- "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
- "dev": true,
- "requires": {
- "make-error": "^1.2.0"
- }
- },
- "make-iterator": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
- "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
- },
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "requires": {
- "object-visit": "^1.0.0"
- }
- },
- "matchdep": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-1.0.1.tgz",
- "integrity": "sha1-pXozgESR+64girqPaDgEN6vC3KU=",
- "dev": true,
- "requires": {
- "findup-sync": "~0.3.0",
- "micromatch": "^2.3.7",
- "resolve": "~1.1.6",
- "stack-trace": "0.0.9"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
- "dev": true
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "dev": true,
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "findup-sync": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
- "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
- "dev": true,
- "requires": {
- "glob": "~5.0.0"
- }
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "dev": true
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dev": true,
- "requires": {
- "is-extglob": "^1.0.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "dev": true,
- "requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
- }
- },
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- }
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
}
},
"math-random": {
},
"media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
- "memoizee": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz",
- "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==",
- "dev": true,
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.45",
- "es6-weak-map": "^2.0.2",
- "event-emitter": "^0.3.5",
- "is-promise": "^2.1",
- "lru-queue": "0.1",
- "next-tick": "1",
- "timers-ext": "^0.1.5"
- }
- },
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"dev": true
},
"mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+ "version": "1.37.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+ "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
"dev": true
},
"mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "version": "2.1.21",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
"dev": true,
"requires": {
- "mime-db": "~1.33.0"
+ "mime-db": "~1.37.0"
}
},
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
"mimic-response": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
- "multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
- "dev": true,
- "requires": {
- "duplexer2": "0.0.2"
- }
- },
- "mute-stdout": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz",
- "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=",
- "dev": true
- },
"mute-stream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
- "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
"dev": true
},
"nan": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
- "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
+ "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
"dev": true,
"optional": true
},
"integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==",
"dev": true
},
- "natives": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.4.tgz",
- "integrity": "sha512-Q29yeg9aFKwhLVdkTAejM/HvYG0Y1Am1+HUkFQGn5k2j8GS+v60TVmZh6nujpEAj/qql+wGUrlryO8bF+b1jEg==",
- "dev": true
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
"dev": true
},
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
"node-abi": {
}
}
},
- "node.extend": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz",
- "integrity": "sha1-p7iCyC1sk6SGOlUEvV3o7IYli5Y=",
- "dev": true,
- "requires": {
- "is": "^3.1.0"
- }
- },
"noop-logger": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
"set-blocking": "~2.0.0"
}
},
+ "null-check": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+ "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
+ "dev": true
+ },
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
- "oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
- "dev": true
- },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"isobject": "^3.0.0"
}
},
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "object.defaults": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
- "dev": true,
- "requires": {
- "array-each": "^1.0.1",
- "array-slice": "^1.0.0",
- "for-own": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "object.map": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
- "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
- "dev": true,
- "requires": {
- "for-own": "^1.0.0",
- "make-iterator": "^1.0.0"
- }
- },
"object.omit": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
}
},
"onetime": {
- "version": "1.1.0",
- "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
- "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
- "dev": true
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
},
"opener": {
"version": "1.4.3",
"wordwrap": "~1.0.0"
}
},
- "options": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
- "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
- "dev": true
- },
- "orchestrator": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
- "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
- "dev": true,
- "requires": {
- "end-of-stream": "~0.1.5",
- "sequencify": "~0.0.7",
- "stream-consume": "~0.1.0"
- }
- },
- "ordered-read-streams": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
- "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
- "dev": true
- },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
"dev": true
},
- "parse-filepath": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
- "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
- "dev": true,
- "requires": {
- "is-absolute": "^1.0.0",
- "map-cache": "^0.2.0",
- "path-root": "^0.1.1"
- }
- },
"parse-glob": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
}
},
"parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
- "parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
- "dev": true
- },
- "parsejson": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
- "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "better-assert": "~1.0.0"
+ "error-ex": "^1.2.0"
}
},
"parseqs": {
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
- "path": {
- "version": "0.12.7",
- "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
- "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
- "dev": true,
- "requires": {
- "process": "^0.11.1",
- "util": "^0.10.3"
- }
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
},
"path-exists": {
"version": "2.1.0",
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
- "path-root": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
- "dev": true,
- "requires": {
- "path-root-regex": "^0.1.0"
- }
- },
- "path-root-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
- "dev": true
- },
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
}
}
},
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
- },
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
- "phantomjs-prebuilt": {
- "version": "2.1.16",
- "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
- "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
- "dev": true,
- "requires": {
- "es6-promise": "^4.0.3",
- "extract-zip": "^1.6.5",
- "fs-extra": "^1.0.0",
- "hasha": "^2.2.0",
- "kew": "^0.7.0",
- "progress": "^1.1.8",
- "request": "^2.81.0",
- "request-progress": "^2.0.1",
- "which": "^1.2.10"
- },
- "dependencies": {
- "es6-promise": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
- "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==",
- "dev": true
- }
- }
- },
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"pinkie": "^2.0.0"
}
},
- "pkg-conf": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz",
- "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "load-json-file": "^4.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- }
- }
- },
- "pkg-config": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz",
- "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=",
- "dev": true,
- "requires": {
- "debug-log": "^1.0.0",
- "find-root": "^1.0.0",
- "xtend": "^4.0.1"
- }
- },
"pkg-dir": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
"find-up": "^1.0.0"
}
},
- "pkg-up": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
- "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0"
- }
- },
- "plugin-error": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
- "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
- "dev": true,
- "requires": {
- "ansi-colors": "^1.0.1",
- "arr-diff": "^4.0.0",
- "arr-union": "^3.1.0",
- "extend-shallow": "^3.0.2"
- }
- },
"pluralize": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
- "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
+ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
"dev": true
},
"portfinder": {
"integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
"dev": true
},
- "pretty-bytes": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
- "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "pretty-hrtime": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
- "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
- "dev": true
- },
"private": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
"dev": true
},
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
- "dev": true
- },
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"dev": true
},
"progress": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
- "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
+ "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
"dev": true
},
"pseudomap": {
"dev": true
},
"qs": {
- "version": "6.3.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
- "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"dev": true
},
"quote-stream": {
"http-errors": "1.6.3",
"iconv-lite": "0.4.23",
"unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ }
}
},
"rc": {
"read-pkg": "^1.0.0"
}
},
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
"readdirp": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
- "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "minimatch": "^3.0.2",
- "readable-stream": "^2.0.2",
- "set-immediate-shim": "^1.0.1"
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
},
"dependencies": {
"graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
"dev": true
},
"isarray": {
},
"readable-stream": {
"version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
}
}
},
- "readline2": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
- "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "mute-stream": "0.0.5"
- }
- },
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"safe-regex": "^1.1.0"
}
},
+ "regexpp": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+ "dev": true
+ },
"regexpu-core": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz",
"is-finite": "^1.0.0"
}
},
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
- "dev": true
- },
"request": {
"version": "2.88.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
}
}
},
- "request-progress": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
- "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
- "dev": true,
- "requires": {
- "throttleit": "^1.0.0"
- }
- },
"require-uncached": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"path-parse": "^1.0.5"
}
},
- "resolve-dir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
- "dev": true,
- "requires": {
- "expand-tilde": "^2.0.0",
- "global-modules": "^1.0.0"
- }
- },
"resolve-from": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
"dev": true
},
"restore-cursor": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
- "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
"dev": true,
"requires": {
- "exit-hook": "^1.0.0",
- "onetime": "^1.0.0"
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
}
},
"restructure": {
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "dev": true,
- "requires": {
- "align-text": "^0.1.1"
- }
+ "rfdc": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.2.tgz",
+ "integrity": "sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA==",
+ "dev": true
},
"rimraf": {
"version": "2.6.2",
}
},
"rollup": {
- "version": "0.66.6",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.66.6.tgz",
- "integrity": "sha512-J7/SWanrcb83vfIHqa8+aVVGzy457GcjA6GVZEnD0x2u4OnOd0Q1pCrEoNe8yLwM6z6LZP02zBT2uW0yh5TqOw==",
+ "version": "0.67.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.67.0.tgz",
+ "integrity": "sha512-p34buXxArhwv9ieTdHvdhdo65Cbig68s/Z8llbZuiX5e+3zCqnBF02Ck9IH0tECrmvvrJVMws32Ry84hTnS1Tw==",
"dev": true,
"requires": {
"@types/estree": "0.0.39",
}
}
},
+ "rollup-plugin-progress": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-progress/-/rollup-plugin-progress-0.4.0.tgz",
+ "integrity": "sha1-7AtO4zlkNGRUEjJykmKLh7O0Tx4=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "rollup-pluginutils": "^1.5.1"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz",
+ "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=",
+ "dev": true
+ },
+ "rollup-pluginutils": {
+ "version": "1.5.2",
+ "resolved": "http://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
+ "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.2.1",
+ "minimatch": "^3.0.2"
+ }
+ }
+ }
+ },
"rollup-plugin-uglify": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.0.tgz",
}
},
"run-async": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
- "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
"dev": true,
"requires": {
- "once": "^1.3.0"
+ "is-promise": "^2.1.0"
}
},
- "run-parallel": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
- "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
- "dev": true
- },
- "rx-lite": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
- "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
- "dev": true
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
},
"safe-buffer": {
"version": "5.1.2",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
},
- "semver": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
- "dev": true
- },
- "semver-greatest-satisfied-range": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz",
- "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=",
- "dev": true,
- "requires": {
- "sver-compat": "^1.5.0"
- }
- },
- "sequencify": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
- "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
+ "semver": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
"dev": true
},
"serialize-javascript": {
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
- "set-immediate-shim": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
- "dev": true
- },
"set-value": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
- "shelljs": {
- "version": "0.7.8",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz",
- "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=",
- "dev": true,
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
- "sigmund": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
- "dev": true
- },
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
}
},
"slice-ansi": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
- "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
- "dev": true
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ }
+ }
},
"snapdragon": {
"version": "0.8.2",
}
}
},
- "snazzy": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/snazzy/-/snazzy-6.0.0.tgz",
- "integrity": "sha1-ahfUeYy7yLxuETFTaUkHqLrJSU0=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.0",
- "inherits": "^2.0.1",
- "minimist": "^1.1.1",
- "readable-stream": "^2.0.6",
- "standard": "*",
- "standard-json": "^1.0.0",
- "text-table": "^0.2.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "sntp": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
- "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "socket.io": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
+ "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
"dev": true,
"requires": {
- "hoek": "2.x.x"
- }
- },
- "socket.io": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
- "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=",
- "dev": true,
- "requires": {
- "debug": "2.3.3",
- "engine.io": "1.8.3",
- "has-binary": "0.1.7",
- "object-assign": "4.1.0",
- "socket.io-adapter": "0.5.0",
- "socket.io-client": "1.7.3",
- "socket.io-parser": "2.3.1"
+ "debug": "~3.1.0",
+ "engine.io": "~3.2.0",
+ "has-binary2": "~1.0.2",
+ "socket.io-adapter": "~1.1.0",
+ "socket.io-client": "2.1.1",
+ "socket.io-parser": "~3.2.0"
},
"dependencies": {
"debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "ms": "0.7.2"
+ "ms": "2.0.0"
}
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
- "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
- "dev": true
}
}
},
"socket.io-adapter": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
- "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
- "dev": true,
- "requires": {
- "debug": "2.3.3",
- "socket.io-parser": "2.3.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
- "dev": true,
- "requires": {
- "ms": "0.7.2"
- }
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
- }
- }
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
+ "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
+ "dev": true
},
"socket.io-client": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
- "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
+ "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
"dev": true,
"requires": {
"backo2": "1.0.2",
+ "base64-arraybuffer": "0.1.5",
"component-bind": "1.0.0",
"component-emitter": "1.2.1",
- "debug": "2.3.3",
- "engine.io-client": "1.8.3",
- "has-binary": "0.1.7",
+ "debug": "~3.1.0",
+ "engine.io-client": "~3.2.0",
+ "has-binary2": "~1.0.2",
+ "has-cors": "1.1.0",
"indexof": "0.0.1",
"object-component": "0.0.3",
+ "parseqs": "0.0.5",
"parseuri": "0.0.5",
- "socket.io-parser": "2.3.1",
+ "socket.io-parser": "~3.2.0",
"to-array": "0.1.4"
},
"dependencies": {
"debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "ms": "0.7.2"
+ "ms": "2.0.0"
}
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
}
}
},
"socket.io-parser": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
- "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
+ "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
"dev": true,
"requires": {
- "component-emitter": "1.1.2",
- "debug": "2.2.0",
- "isarray": "0.0.1",
- "json3": "3.3.2"
+ "component-emitter": "1.2.1",
+ "debug": "~3.1.0",
+ "isarray": "2.0.1"
},
"dependencies": {
- "component-emitter": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
- "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
- "dev": true
- },
"debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "ms": "0.7.1"
+ "ms": "2.0.0"
}
},
- "ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
"dev": true
}
}
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
- "sparkles": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
- "dev": true
- },
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
}
}
},
- "stack-trace": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
- "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=",
- "dev": true
- },
- "standard": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/standard/-/standard-9.0.2.tgz",
- "integrity": "sha1-m9O5RnSS4hKxkU14VTlD/5tI/Zk=",
- "dev": true,
- "requires": {
- "eslint": "~3.18.0",
- "eslint-config-standard": "7.1.0",
- "eslint-config-standard-jsx": "3.3.0",
- "eslint-plugin-promise": "~3.4.0",
- "eslint-plugin-react": "~6.9.0",
- "eslint-plugin-standard": "~2.0.1",
- "standard-engine": "~5.4.0"
- },
- "dependencies": {
- "eslint": {
- "version": "3.18.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.18.0.tgz",
- "integrity": "sha1-ZH6YXErnFQLSCsYsEJ9m1RBMiks=",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.16.0",
- "chalk": "^1.1.3",
- "concat-stream": "^1.5.2",
- "debug": "^2.1.1",
- "doctrine": "^2.0.0",
- "escope": "^3.6.0",
- "espree": "^3.4.0",
- "esquery": "^1.0.0",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "file-entry-cache": "^2.0.0",
- "glob": "^7.0.3",
- "globals": "^9.14.0",
- "ignore": "^3.2.0",
- "imurmurhash": "^0.1.4",
- "inquirer": "^0.12.0",
- "is-my-json-valid": "^2.10.0",
- "is-resolvable": "^1.0.0",
- "js-yaml": "^3.5.1",
- "json-stable-stringify": "^1.0.0",
- "levn": "^0.3.0",
- "lodash": "^4.0.0",
- "mkdirp": "^0.5.0",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
- "path-is-inside": "^1.0.1",
- "pluralize": "^1.2.1",
- "progress": "^1.1.8",
- "require-uncached": "^1.0.2",
- "shelljs": "^0.7.5",
- "strip-bom": "^3.0.0",
- "strip-json-comments": "~2.0.1",
- "table": "^3.7.8",
- "text-table": "~0.2.0",
- "user-home": "^2.0.0"
- }
- },
- "eslint-config-standard": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-7.1.0.tgz",
- "integrity": "sha1-R+dp6gc59bLVaTsaUBwhyWUPr88=",
- "dev": true
- },
- "eslint-config-standard-jsx": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.3.0.tgz",
- "integrity": "sha1-yrCAGhWjYL9j+suXqyL73YjYpeA=",
- "dev": true
- },
- "eslint-plugin-promise": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.4.2.tgz",
- "integrity": "sha1-G+J5Pq/i0YtbEjuBNsJp+AT+cSI=",
- "dev": true
- },
- "eslint-plugin-react": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz",
- "integrity": "sha1-VMLpkGt2+dEBQgML3DTp1oQKC7I=",
- "dev": true,
- "requires": {
- "array.prototype.find": "^2.0.1",
- "doctrine": "^1.2.2",
- "jsx-ast-utils": "^1.3.4"
- },
- "dependencies": {
- "doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "isarray": "^1.0.0"
- }
- }
- }
- },
- "eslint-plugin-standard": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz",
- "integrity": "sha1-NYlpn/nJF/LCX3apFmh/ZBw2n/M=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- },
- "standard-engine": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-5.4.0.tgz",
- "integrity": "sha1-4OhpWeoHhkJdM4PkDBv3DS+YVXk=",
- "dev": true,
- "requires": {
- "deglob": "^2.1.0",
- "get-stdin": "^5.0.1",
- "home-or-tmp": "^2.0.0",
- "minimist": "^1.1.0",
- "pkg-conf": "^2.0.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- },
- "user-home": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
- "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0"
- }
- }
- }
- },
- "standard-engine": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-7.0.0.tgz",
- "integrity": "sha1-67d7nI/CyBZf+jU72Rug3/Qa9pA=",
- "dev": true,
- "requires": {
- "deglob": "^2.1.0",
- "get-stdin": "^5.0.1",
- "minimist": "^1.1.0",
- "pkg-conf": "^2.0.0"
- }
- },
- "standard-json": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/standard-json/-/standard-json-1.0.3.tgz",
- "integrity": "sha512-lhMP+KREBcfyyMe2ObJlEjJ0lc0ItA9uny83d9ZL6ggYtB79DuaAKCxJVoiflg5EV3D2rpuWn+n4+zXjWXk0sQ==",
- "dev": true,
- "requires": {
- "concat-stream": "^1.5.0"
- }
- },
- "stat-mode": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
- "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
- "dev": true
- },
"static-eval": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz",
"integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==",
"dev": true,
"requires": {
- "esprima": "^3.1.3",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
+ "esprima": "^3.1.3",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "dev": true
+ },
+ "streamroller": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
+ "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
+ "dev": true,
+ "requires": {
+ "date-format": "^1.2.0",
+ "debug": "^3.1.0",
+ "mkdirp": "^0.5.1",
+ "readable-stream": "^2.3.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
}
},
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ },
"readable-stream": {
"version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
"util-deprecate": "~1.0.1"
}
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
}
}
},
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true
- },
- "stream-consume": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
- "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==",
- "dev": true
- },
- "stream-counter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz",
- "integrity": "sha1-kc8lac5NxQYf6816yyY5SloRR1E=",
- "dev": true
- },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"strip-ansi": "^3.0.0"
}
},
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "stringstream": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
- "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
- "dev": true
- },
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"ansi-regex": "^2.0.0"
}
},
- "strip-bom": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
- "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
- "dev": true,
- "requires": {
- "first-chunk-stream": "^1.0.0",
- "is-utf8": "^0.2.0"
- }
- },
- "strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
- "dev": true
- },
"strip-eof": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
- "sver-compat": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz",
- "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=",
- "dev": true,
- "requires": {
- "es6-iterator": "^2.0.1",
- "es6-symbol": "^3.1.1"
- }
- },
"svgdom": {
"version": "0.0.15",
"resolved": "https://registry.npmjs.org/svgdom/-/svgdom-0.0.15.tgz",
}
},
"table": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz",
- "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
+ "integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
"dev": true,
"requires": {
- "ajv": "^4.7.0",
- "ajv-keywords": "^1.0.0",
- "chalk": "^1.1.1",
- "lodash": "^4.0.0",
- "slice-ansi": "0.0.4",
- "string-width": "^2.0.0"
+ "ajv": "^6.5.3",
+ "lodash": "^4.17.10",
+ "slice-ansi": "1.0.0",
+ "string-width": "^2.1.1"
},
"dependencies": {
"ansi-regex": {
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
- "lodash": {
- "version": "4.17.10",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
- "dev": true
- },
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
- "throttleit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
- "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
- "dev": true
- },
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
}
}
},
- "tildify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
- "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0"
- }
- },
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
- "dev": true
- },
- "timers-ext": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
- "dev": true,
- "requires": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
- },
- "dependencies": {
- "es5-ext": {
- "version": "0.10.46",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
- "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
- "dev": true,
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.1",
- "next-tick": "1"
- }
- }
- }
- },
"tiny-inflate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz",
"dev": true
},
"tmp": {
- "version": "0.0.31",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
- "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"dev": true,
"requires": {
- "os-tmpdir": "~1.0.1"
+ "os-tmpdir": "~1.0.2"
}
},
"to-array": {
"repeat-string": "^1.6.1"
}
},
- "tough-cookie": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
- "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
- "dev": true,
- "requires": {
- "punycode": "^1.4.1"
- }
- },
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
- "tryit": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
- "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
- "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "tslib": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
"dev": true
},
"tweetnacl": {
"dev": true
},
"uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "version": "3.4.9",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
+ "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
"dev": true,
+ "optional": true,
"requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
+ "commander": "~2.17.1",
+ "source-map": "~0.6.1"
},
"dependencies": {
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "dev": true
- },
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
+ "optional": true
}
}
},
- "uglify-save-license": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz",
- "integrity": "sha1-lXJsF8xv0XHDYX479NjYKqjEzOE=",
- "dev": true
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true,
- "optional": true
- },
"ultron": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
- "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
- "dev": true
- },
- "unc-path-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
+ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
"dev": true
},
"unicode-canonical-property-names-ecmascript": {
}
}
},
- "uniq": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
- "dev": true
- },
- "unique-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
- "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
- "dev": true
- },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
}
}
},
+ "upath": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
+ "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+ "dev": true
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ }
+ }
+ },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"kind-of": "^6.0.2"
}
},
- "user-home": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
- "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
- "dev": true
- },
"useragent": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
- "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz",
+ "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=",
"dev": true,
"requires": {
- "lru-cache": "4.1.x",
+ "lru-cache": "2.2.x",
"tmp": "0.0.x"
},
"dependencies": {
"lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz",
+ "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=",
+ "dev": true
}
}
},
- "util": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "dev": true,
- "requires": {
- "inherits": "2.0.3"
- }
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
},
- "uuid": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.0.tgz",
- "integrity": "sha512-ijO9N2xY/YaOqQ5yz5c4sy2ZjWmA6AR6zASb/gdpeKZ8+948CxwfMW9RrKVk5may6ev8c0/Xguu32e2Llelpqw==",
- "dev": true
- },
- "v8flags": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
- "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
- "dev": true,
- "requires": {
- "user-home": "^1.1.1"
- }
- },
"validate-npm-package-license": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
}
}
},
- "vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
- "dev": true,
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- }
- },
- "vinyl-bufferstream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz",
- "integrity": "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=",
- "dev": true,
- "requires": {
- "bufferstreams": "1.0.1"
- }
- },
- "vinyl-fs": {
- "version": "0.3.14",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
- "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
- "dev": true,
- "requires": {
- "defaults": "^1.0.0",
- "glob-stream": "^3.1.5",
- "glob-watcher": "^0.0.6",
- "graceful-fs": "^3.0.0",
- "mkdirp": "^0.5.0",
- "strip-bom": "^1.0.0",
- "through2": "^0.6.1",
- "vinyl": "^0.4.0"
- },
- "dependencies": {
- "clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- }
- },
- "vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true,
- "requires": {
- "clone": "^0.2.0",
- "clone-stats": "^0.0.1"
- }
- }
- }
- },
- "vinyl-sourcemaps-apply": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
- "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
- "dev": true,
- "requires": {
- "source-map": "^0.5.1"
- }
- },
"vlq": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
}
}
},
- "window-size": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
- "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
- "dev": true
- },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true
},
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- }
- },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "wreck": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/wreck/-/wreck-6.3.0.tgz",
- "integrity": "sha1-oTaXafB7u2LWo3gzanhx/Hc8dAs=",
- "dev": true,
- "requires": {
- "boom": "2.x.x",
- "hoek": "2.x.x"
- }
- },
"write": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
}
},
"ws": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
- "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
"dev": true,
"requires": {
- "options": ">=0.0.5",
- "ultron": "1.0.x"
+ "async-limiter": "~1.0.0",
+ "safe-buffer": "~5.1.0",
+ "ultron": "~1.1.0"
}
},
- "wtf-8": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
- "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
- "dev": true
- },
"xmlhttprequest-ssl": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
- "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
"dev": true
},
"xtend": {
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
},
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
- "yargs": {
- "version": "3.32.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
- "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
- "dev": true,
- "requires": {
- "camelcase": "^2.0.1",
- "cliui": "^3.0.3",
- "decamelize": "^1.1.1",
- "os-locale": "^1.4.0",
- "string-width": "^1.0.1",
- "window-size": "^0.1.4",
- "y18n": "^3.2.0"
- }
- },
- "yauzl": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
- "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
- "dev": true,
- "requires": {
- "fd-slicer": "~1.0.1"
- }
- },
"yeast": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",