{"version":3,"sources":["../static/js/main.c0abc942.js","../webpack/bootstrap 3d208f9ab1fb260c8c76","../node_modules/react/index.js","../node_modules/prop-types/index.js","../node_modules/fbjs/lib/emptyFunction.js","../node_modules/webpack/buildin/global.js","../node_modules/object-assign/index.js","../node_modules/fbjs/lib/invariant.js","../node_modules/react-scripts/node_modules/promise/lib/core.js","../node_modules/fbjs/lib/emptyObject.js","../node_modules/react-dom/index.js","../node_modules/uuid/lib/rng-browser.js","../node_modules/uuid/lib/bytesToUuid.js","../node_modules/react-transition-group/TransitionGroup.js","../node_modules/dom-helpers/util/inDOM.js","../node_modules/react-transition-group/utils/PropTypes.js","../node_modules/react-scripts/config/polyfills.js","../node_modules/react-scripts/node_modules/promise/lib/rejection-tracking.js","../node_modules/asap/browser-raw.js","../node_modules/react-scripts/node_modules/promise/lib/es6-extensions.js","../node_modules/whatwg-fetch/fetch.js","index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/fbjs/lib/ExecutionEnvironment.js","../node_modules/fbjs/lib/EventListener.js","../node_modules/fbjs/lib/shallowEqual.js","../node_modules/fbjs/lib/containsNode.js","../node_modules/fbjs/lib/isTextNode.js","../node_modules/fbjs/lib/isNode.js","../node_modules/fbjs/lib/focusNode.js","../node_modules/fbjs/lib/getActiveElement.js","prefixTrie.js","prefixTrieForReactD3.js","../node_modules/guid/guid.js","../node_modules/react-d3-tree/lib/react-d3-tree.min.js","../node_modules/d3/d3.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/uuid/index.js","../node_modules/uuid/v1.js","../node_modules/uuid/v4.js","../node_modules/react-transition-group/index.js","../node_modules/react-transition-group/CSSTransitionGroup.js","../node_modules/chain-function/index.js","../node_modules/warning/browser.js","../node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/react-transition-group/CSSTransitionGroupChild.js","../node_modules/dom-helpers/class/addClass.js","../node_modules/dom-helpers/class/hasClass.js","../node_modules/dom-helpers/class/removeClass.js","../node_modules/dom-helpers/util/requestAnimationFrame.js","../node_modules/dom-helpers/transition/properties.js","../node_modules/react-d3-tree/node_modules/clone/clone.js","../node_modules/buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/deep-equal/index.js","../node_modules/deep-equal/lib/keys.js","../node_modules/deep-equal/lib/is_arguments.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","this","thatReturnsArgument","g","Function","eval","e","window","toObject","val","undefined","TypeError","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","assign","test1","String","getOwnPropertyNames","test2","fromCharCode","map","join","test3","split","forEach","letter","keys","err","target","source","from","symbols","to","arguments","length","key","invariant","condition","format","a","b","f","validateFormat","error","Error","args","argIndex","replace","framesToPop","noop","getThen","obj","then","ex","LAST_ERROR","IS_ERROR","tryCallOne","fn","tryCallTwo","Promise","_75","_83","_18","_38","doResolve","safeThen","self","onFulfilled","onRejected","constructor","resolve","reject","res","handle","Handler","deferred","_47","push","handleResolved","asap","cb","promise","ret","newValue","finale","bind","_71","done","value","reason","_44","emptyObject","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","global","rng","crypto","msCrypto","getRandomValues","rnds8","Uint8Array","rnds","Array","r","Math","random","bytesToUuid","buf","offset","bth","byteToHex","toString","substr","_interopRequireDefault","default","_classCallCheck","instance","Constructor","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","create","writable","setPrototypeOf","__proto__","_extends","_chainFunction","_chainFunction2","_react","_react2","_propTypes","_propTypes2","_warning","_ChildMapping","defaultProps","any","func","node","component","childFactory","child","TransitionGroup","_React$Component","props","context","_this","performAppear","currentlyTransitioningKeys","componentWillAppear","_handleDoneAppearing","componentDidAppear","currentChildMapping","getChildMapping","children","performLeave","performEnter","componentWillEnter","_handleDoneEntering","componentDidEnter","componentWillLeave","_handleDoneLeaving","componentDidLeave","keysToEnter","setState","state","newChildren","childRefs","componentWillMount","keysToLeave","componentDidMount","initialChildMapping","componentWillReceiveProps","nextProps","nextChildMapping","prevChildMapping","mergeChildMappings","hasPrev","_key","hasNext","componentDidUpdate","_this2","render","_this3","childrenToRender","isCallbackRef","ref","factoryChild","cloneElement","transitionLeave","transitionName","transitionAppear","transitionEnter","transitionLeaveTimeout","transitionEnterTimeout","transitionAppearTimeout","createElement","Component","displayName","propTypes","document","transitionTimeout","transitionType","timeoutPropName","enabledPropName","nameShape","oneOfType","string","shape","enter","leave","active","enterActive","leaveActive","appear","appearActive","enable","disable","enabled","options","onUnhandled","id","allRejections","matchWhitelist","rejections","whitelist","DEFAULT_WHITELIST","displayId","logged","logError","onHandled","warn","_56","clearTimeout","timeout","setTimeout","stack","line","list","some","cls","RangeError","rawAsap","task","queue","requestFlush","flushing","flush","index","currentIndex","capacity","scan","newLength","makeRequestCallFromTimer","callback","handleTimer","timeoutHandle","clearInterval","intervalHandle","setInterval","scope","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","toggle","observer","createTextNode","observe","characterData","data","valuePromise","TRUE","FALSE","NULL","UNDEFINED","ZERO","EMPTYSTRING","all","arr","slice","remaining","race","values","normalizeName","test","toLowerCase","normalizeValue","iteratorFor","items","iterator","next","shift","support","iterable","Symbol","Headers","headers","append","isArray","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","result","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","view","chars","bufferClone","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","type","rejected","text","decode","json","JSON","parse","normalizeMethod","method","upcased","toUpperCase","methods","indexOf","Request","input","url","credentials","mode","referrer","form","trim","bytes","decodeURIComponent","parseHeaders","rawHeaders","parts","Response","bodyInit","status","ok","statusText","fetch","viewClasses","DataView","isView","oldValue","has","thisArg","entries","clone","response","redirectStatuses","redirect","location","init","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","polyfill","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2__index_css__","__WEBPACK_IMPORTED_MODULE_3__prefixTrie_js__","__WEBPACK_IMPORTED_MODULE_4__prefixTrieForReactD3_js__","__WEBPACK_IMPORTED_MODULE_5_react_d3_tree__","__WEBPACK_IMPORTED_MODULE_5_react_d3_tree___default","_createClass","defineProperties","descriptor","protoProps","staticProps","DownloadLink","getPrototypeOf","autoCompleteSearchTermAndResults","className","onClick","download","stringify","filename","searchTerm","results","pom","setAttribute","encodeURIComponent","createEvent","event","initEvent","dispatchEvent","click","ReactTree","_React$Component2","defaultNames","defaultPrefixTree","addWord","myTree","newTree","item","svgCompatibleTree","priorNodes","getPriorNodes","lettersBeforeNode","futureNodePaths","getFollowingNodePaths","fullWords","np","autoCompleteObj","onChange","handleChange","class","handleNodeClick","orientation","zoomable","collapsible","translate","x","documentElement","clientWidth","y","getElementById","t","v","refs","updater","u","w","z","G","k","$$typeof","E","_owner","escape","=",":","L","K","pop","keyPrefix","count","M","N","I","O","H","P","Q","R","isValidElement","cloneAndReplaceKey","J","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","isReactComponent","forceUpdate","isPureReactComponent","A","unstable_isAsyncReactComponent","B","PureComponent","AsyncComponent","C","current","D","F","__self","__source","q","h","createFactory","_self","_source","S","toArray","Children","only","unstable_AsyncComponent","version","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","ja","pa","la","oa","qa","plugins","extractEvents","eventTypes","eventNameDispatchConfigs","phasedRegistrationNames","ra","registrationName","registrationNameModules","registrationNameDependencies","dependencies","ua","La","_renderedComponent","Ma","_hostNode","Ha","Na","_flags","Fa","hasCachedChildNodes","_renderedChildren","firstChild","_domID","nextSibling","nodeType","Aa","getAttribute","Ea","Ba","nodeValue","Oa","parentNode","tag","ya","za","Ra","getName","Za","alternate","effectTag","Xa","Wa","Ta","$a","ab","sibling","stateNode","_hasCaughtError","_caughtError","apply","db","_hasRethrowError","_rethrowError","gb","currentTarget","hb","getNodeFromInstance","eb","invokeGuardedCallbackAndCatchFirstError","mb","ib","getInstanceFromNode","jb","restoreControlledState","getFiberCurrentPropsFromNode","ob","pb","qb","ub","srcElement","correspondingUseElement","tb","xb","targetInst","ancestors","vb","containerInfo","_hostParent","getClosestInstanceFromNode","yb","_handleTopLevel","topLevelType","nativeEvent","Cb","concat","Db","Fb","executeDispatchesInOrder","isPersistent","release","Gb","Hb","Ib","disabled","Lb","canUseDOM","Kb","implementation","hasFeature","Mb","Qb","Ob","Nb","Pb","Vb","Ub","Tb","Sb","fc","ec","dc","cc","jc","rc","aa","tc","selected","yc","xc","dangerouslySetInnerHTML","style","zc","nodeName","Ac","getOwnPropertyDescriptor","getValue","setValue","stopTracking","_valueTracker","Cc","is","Ic","lastChild","Hc","textContent","Rc","Nc","Lc","Mc","ownerDocument","od","hd","gd","pd","first","last","hasForceUpdate","callbackList","qd","rd","priorityLevel","sd","updateQueue","md","nd","partialState","isReplace","isForced","isTopLevelUnmount","td","Md","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Nd","zd","childContextTypes","Od","getChildContext","be","memoizedState","memoizedProps","pendingProps","internalContextTag","ae","lastEffect","firstEffect","nextEffect","pendingWorkPriority","Zd","ce","Rd","Qd","Td","Le","Je","Me","Ae","getPublicInstance","_stringRef","da","Ne","Oe","Ie","Map","re","Ge","He","Be","ue","se","De","ve","Ee","we","Ce","xe","Fe","te","Ke","oe","pe","qe","ye","Ca","V","ze","ef","Pa","df","Ze","$e","af","adoptClassInstance","constructClassInstance","Xe","Ye","We","Ve","mountClassInstance","ed","enableAsyncSubtreeAPI","Ue","bf","Te","updateClassInstance","cf","shouldComponentUpdate","ea","componentWillUpdate","Lf","ff","gf","hf","Jf","qf","Kf","Ff","pendingContext","pf","jf","uf","tf","of","yf","shouldSetTextContent","useSyncScheduling","shouldDeprioritizeSubtree","pushHostContext","pushHostContainer","enterHydrationState","resetHydrationState","tryToClaimNextHydratableInstance","ld","beginWork","Df","rf","mf","lf","sf","nf","kf","element","Gf","wf","Hf","Ef","xf","Af","zf","Bf","Cf","beginFailedWork","If","eg","createInstance","createTextInstance","appendInitialChild","finalizeInitialChildren","prepareUpdate","getRootHostContainer","popHostContext","getHostContext","popHostContainer","prepareToHydrateHostInstance","prepareToHydrateHostTextInstance","popHydrationState","completeWork","dg","Qf","Rf","Nf","Sf","Of","ag","Tf","cg","bg","Uf","Vf","Wf","Xf","Yf","handler","Mf","Zf","Pf","hg","vg","lg","kg","ng","mg","qg","jg","componentWillUnmount","og","commitMount","commitUpdate","resetTextContent","commitTextUpdate","appendChild","appendChildToContainer","insertBefore","insertInContainerBefore","removeChild","removeChildFromContainer","commitPlacement","ug","rg","commitDeletion","commitWork","commitLifeCycles","sg","tg","pg","commitAttachRef","commitDetachRef","Ag","zg","getChildHostContext","getRootHostContext","wg","xg","yg","resetHostContainer","Hg","Gg","Eg","Bg","Cg","Dg","canHydrateInstance","canHydrateTextInstance","getNextHydratableSibling","getFirstHydratableChild","hydrateInstance","hydrateTextInstance","didNotHydrateInstance","didNotFindHydratableInstance","didNotFindHydratableTextInstance","Fg","hh","ma","T","isScheduled","nextScheduledRoot","zb","Jg","gh","Lg","nc","oc","Hd","na","Og","U","Kg","Tg","Ui","Yg","ah","Ph","Zg","$g","Ug","Wg","vf","Vg","Xg","Id","Mh","Jd","Vi","Gd","Nh","Oh","eh","componentDidCatch","componentStack","bh","Ja","Ng","va","Lh","fh","Mg","Rg","size","Ab","timeRemaining","Pg","Qg","Da","Kd","Ya","Ig","ch","dh","Bb","$f","Ka","Set","add","fe","ge","he","ie","_debugOwner","_debugSource","fileName","lineNumber","componentName","errorBoundary","errorBoundaryFound","errorBoundaryName","willRetry","Wi","Xi","pc","W","Yi","Sg","scheduleDeferredCallback","prepareForCommit","resetAfterCommit","scheduleUpdate","getPriorityContext","batchedUpdates","unbatchedUpdates","flushSync","deferredUpdates","ih","jh","_processChildContext","_context","sh","th","rh","vh","uh","Bh","Ch","Dh","Ah","Fh","Eh","Gh","Jh","Ih","dispatchConfig","_dispatchListeners","_dispatchInstances","Kh","Hh","traverseTwoPhase","_targetInst","Qh","getParentInstance","Rh","Sh","Y","Interface","isDefaultPrevented","defaultPrevented","returnValue","ca","isPropagationStopped","Zh","eventPool","$h","destructor","Yh","getPooled","ai","bi","mi","ci","keyCode","ni","detail","pi","which","li","ji","qi","oi","di","Vh","getData","reset","ctrlKey","altKey","metaKey","char","ii","ti","si","vi","ui","change","nb","enqueueStateRestore","Th","accumulateTwoPhaseDispatches","yi","Jb","enqueueEvents","processEventQueue","zi","Bc","updateValueIfChanged","Ai","Ci","wi","detachEvent","Di","xi","propertyName","sb","Ei","attachEvent","Fi","Gi","Hi","Ji","Li","getModifierState","Ki","Mi","Ni","cj","aj","Ti","ia","zh","hasSelectionCapabilities","start","selectionStart","end","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","$i","Si","select","Zi","ej","fj","gj","hj","charCode","kj","lj","mj","nj","oj","Bj","ak","Dj","Gj","Hj","Fj","bk","hasAttribute","Ij","ck","_reactRootContainer","Xj","updateContainer","createContainer","getPublicRootInstance","dk","ne","createPortal","ba","fa","ha","fb","ka","Namespaces","html","mathml","svg","getIntrinsicNamespace","getChildNamespace","possibleRegistrationNames","injectEventPluginOrder","injectEventPluginsByName","sa","ta","autoFocus","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","wa","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","HAS_STRING_BOOLEAN_VALUE","injectDOMPropertyConfig","Properties","DOMAttributeNamespaces","DOMAttributeNames","DOMMutationMethods","xa","properties","attributeName","attributeNamespace","mutationMethod","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","hasStringBooleanValue","ID_ATTRIBUTE_NAME","ROOT_ATTRIBUTE_NAME","ATTRIBUTE_NAME_START_CHAR","ATTRIBUTE_NAME_CHAR","shouldSetAttribute","isReservedProp","shouldAttributeAcceptBooleanValue","getPropertyInfo","injection","IndeterminateComponent","FunctionalComponent","ClassComponent","HostRoot","HostPortal","HostComponent","HostText","CoroutineComponent","CoroutineHandlerPhase","YieldComponent","Fragment","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","Ga","Ia","precacheChildNodes","precacheNode","uncacheNode","precacheFiberNode","updateFiberProps","remove","_reactInternalFiber","Qa","NoEffect","PerformedWork","Placement","Update","PlacementAndUpdate","Deletion","ContentReset","Callback","Err","Ref","Sa","Ua","Va","bb","isFiberMounted","findCurrentFiberUsingSlowPath","findCurrentHostFiber","findCurrentHostFiberWithNoPortals","injectErrorUtils","invokeGuardedCallback","hasCaughtError","clearCaughtError","rethrowCaughtError","isEndish","isMoveish","isStartish","executeDirectDispatch","executeDispatchesInOrderStopAtTrue","hasDispatches","injectComponentTree","kb","lb","injectFiberControlledHostComponent","restoreStateIfNeeded","rb","injectStackBatchedUpdates","injectFiberBatchedUpdates","wb","_enabled","setHandleTopLevel","setEnabled","isEnabled","trapBubbledEvent","listen","trapCapturedEvent","capture","Eb","getListener","_currentElement","_rootNodeID","animationend","animationiteration","animationstart","transitionend","animation","transition","Rb","topAbort","topAnimationEnd","topAnimationIteration","topAnimationStart","topBlur","topCancel","topCanPlay","topCanPlayThrough","topChange","topClick","topClose","topCompositionEnd","topCompositionStart","topCompositionUpdate","topContextMenu","topCopy","topCut","topDoubleClick","topDrag","topDragEnd","topDragEnter","topDragExit","topDragLeave","topDragOver","topDragStart","topDrop","topDurationChange","topEmptied","topEncrypted","topEnded","topError","topFocus","topInput","topKeyDown","topKeyPress","topKeyUp","topLoadedData","topLoad","topLoadedMetadata","topLoadStart","topMouseDown","topMouseMove","topMouseOut","topMouseOver","topMouseUp","topPaste","topPause","topPlay","topPlaying","topProgress","topRateChange","topScroll","topSeeked","topSeeking","topSelectionChange","topStalled","topSuspend","topTextInput","topTimeUpdate","topToggle","topTouchCancel","topTouchEnd","topTouchMove","topTouchStart","topTransitionEnd","topVolumeChange","topWaiting","topWheel","handleTopLevel","listenTo","isListeningToAllDependencies","Wb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Xb","charAt","substring","Yb","isUnitlessNumber","shorthandPropertyExpansions","background","backgroundAttachment","backgroundColor","backgroundImage","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundPosition","border","borderWidth","borderStyle","borderColor","borderBottom","borderBottomWidth","borderBottomStyle","borderBottomColor","borderLeft","borderLeftWidth","borderLeftStyle","borderLeftColor","borderRight","borderRightWidth","borderRightStyle","borderRightColor","borderTop","borderTopWidth","borderTopStyle","borderTopColor","font","fontStyle","fontVariant","fontSize","fontFamily","outline","outlineWidth","outlineStyle","outlineColor","Zb","$b","ac","Ec","bc","createDangerousStringForStyles","setValueForStyles","setProperty","RegExp","gc","setAttributeForID","setAttributeForRoot","getValueForProperty","getValueForAttribute","setValueForProperty","isNaN","deleteValueForProperty","setAttributeNS","setValueForAttribute","removeAttribute","deleteValueForAttribute","hc","ic","ReactDebugCurrentFrame","kc","phase","resetCurrentFiber","getCurrentStack","setCurrentFiber","getCurrentFiberOwnerName","getCurrentFiberStackAddendum","lc","mc","getHostProps","checked","step","min","max","_wrapperState","initialValue","initialChecked","initWrapperState","controlled","updateWrapper","parseFloat","postMountWrapper","querySelectorAll","qc","sc","validateProps","uc","wasMultiple","multiple","postUpdateWrapper","vc","wc","menuitem","area","base","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","_getTrackerFromNode","Dc","Fc","MSApp","execUnsafeLocalFunction","namespaceURI","Gc","exec","charCodeAt","Jc","Oc","Pc","Qc","Sc","createElementNS","setInitialProperties","__html","onclick","diffProperties","updateProperties","diffHydratedProperties","diffHydratedText","warnForDeletedHydratableElement","warnForDeletedHydratableText","warnForInsertedHydratedElement","warnForInsertedHydratedText","Tc","requestIdleCallback","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","performance","now","Date","bd","addEventListener","cd","postMessage","requestAnimationFrame","Infinity","je","ke","dd","rIC","NoWork","SynchronousPriority","TaskPriority","HighPriority","LowPriority","OffscreenPriority","fd","jd","kd","ud","addUpdate","addReplaceUpdate","addForceUpdate","getUpdatePriority","addTopLevelUpdate","beginUpdateQueue","commitCallbacks","vd","wd","xd","createCursor","isEmpty","yd","Ad","Bd","Cd","Dd","Ed","Fd","Ld","getUnmaskedContext","cacheContext","getMaskedContext","contextTypes","hasContextChanged","isContextConsumer","isContextProvider","popContextProvider","popTopLevelContextObject","pushTopLevelContextObject","cursor","processChildContext","pushContextProvider","__reactInternalMemoizedMergedChildContext","invalidateContextProvider","resetContext","findCurrentUnmaskedContext","Pd","NoContext","AsyncUpdates","Sd","Ud","Vd","Wd","Xd","Yd","$d","de","createWorkInProgress","createHostRootFiber","createFiberFromElement","createFiberFromFragment","createFiberFromText","createFiberFromElementType","createFiberFromHostInstanceForDeletion","createFiberFromCoroutine","createFiberFromYield","createFiberFromPortal","largerPriority","ee","le","createCoroutine","createYield","isCoroutine","isYield","REACT_YIELD_TYPE","REACT_COROUTINE_TYPE","me","isPortal","REACT_PORTAL_TYPE","Pe","Qe","Re","Se","reconcileChildFibers","reconcileChildFibersInPlace","mountChildFibersInPlace","cloneChildFibers","fg","gg","ig","injectInternals","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","onCommitRoot","onCommitUnmount","_injectFiber","kh","lh","mh","nh","oh","ph","qh","wh","getOffsets","rangeCount","getRangeAt","startContainer","endContainer","cloneRange","selectNodeContents","setEnd","startOffset","endOffset","createRange","setStart","collapsed","setOffsets","extend","removeAllRanges","addRange","xh","yh","contentEditable","getSelectionInformation","focusedElem","selectionRange","restoreSelection","setSelection","left","scrollLeft","top","scrollTop","_injectStack","isAncestor","getLowestCommonAncestor","traverseEnterLeave","accumulateTwoPhaseDispatchesSkipTarget","accumulateDirectDispatches","accumulateEnterLeaveDispatches","X","_root","_startText","_fallbackText","Uh","initialize","getText","Wh","Xh","eventPhase","bubbles","cancelable","timeStamp","isTrusted","preventDefault","stopPropagation","cancelBubble","persist","augmentClass","ei","documentMode","fi","gi","opera","parseInt","hi","ki","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","ri","color","date","datetime","datetime-local","email","month","number","password","range","search","tel","time","week","Bi","Ii","_isInputEventSupported","defaultView","parentWindow","Alt","Control","Meta","Shift","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","Oi","mouseEnter","mouseLeave","Pi","Qi","Ri","bj","dj","animationName","elapsedTime","pseudoElement","clipboardData","ij","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","jj","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","repeat","locale","dataTransfer","touches","targetTouches","changedTouches","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","pj","qj","rj","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","sj","Z","tj","uj","vj","wj","allowFullScreen","allowTransparency","async","autoPlay","cols","controls","defer","draggable","formNoValidate","hidden","loop","muted","noValidate","playsInline","readOnly","required","reversed","rows","rowSpan","scoped","seamless","span","spellCheck","itemScope","acceptCharset","htmlFor","httpEquiv","validity","badInput","activeElement","xj","yj","xlink","xml","zj","autoReverse","externalResourcesRequired","preserveAlpha","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlSpace","Aj","Cj","Ej","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","findHostInstance","Yj","Zj","findHostInstanceWithNoPortals","tagName","focus","ek","hydrate","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","findDOMNode","unstable_createPortal","unstable_batchedUpdates","unstable_deferredUpdates","EventPluginHub","EventPluginRegistry","EventPropagators","ReactControlledComponent","ReactDOMComponentTree","ReactDOMEventListener","findFiberByHostInstance","findHostInstanceByFiber","bundleType","rendererPackageName","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","EventListener","eventType","removeEventListener","registerDefault","shallowEqual","objA","objB","keysA","keysB","containsNode","outerNode","innerNode","isTextNode","contains","compareDocumentPosition","isNode","doc","Node","getActiveElement","PrefixTreeNode","endWord","PrefixTree","_PrefixTreeNode","word","addWordHelper","str","__WEBPACK_IMPORTED_MODULE_0_guid__","__WEBPACK_IMPORTED_MODULE_0_guid___default","D3CompatibleTree","prefixTrie","treeForReactD3Tree","mapNode","newObj","attributes","guid","raw","childrenArray","filter","correctPriorNodesForCurrentNode","traverse","cn","nodePaths","nodesOnThisPath","gen","out","Guid","EMPTY","isGuid","equals","other","toJSON","validator","btoa","sources","sourceRoot","unescape","css","media","sourceMap","insertInto","insertAt","splice","attrs","rel","transform","singleton","URL","createObjectURL","revokeObjectURL","href","styleSheet","cssText","childNodes","convertToAbsoluteUrls","atob","querySelector","DEBUG","Boolean","treeUtil","Tree","_","j","initialRender","assignInternalProperties","findNodesById","collapseNode","handleNodeToggle","handleOnClickCb","bindZoomListener","scaleExtent","_collapsed","depth","behavior","on","attr","scale","v4","_children","expandNode","initialDepth","depthFactor","separation","nodeSize","layout","tree","parent","siblings","nonSiblings","nodes","links","setInitialTreeDepth","generateTree","nodeSvgShape","pathFunc","transitionDuration","textLayout","circleRadius","styles","width","height","linkData","nodeData","subscriptions","shapeProps","textAnchor","array","isRequired","oneOf","bool","setTransformOrientation","initialStyle","handleClick","applyTransform","shouldNodeTransform","duration","each","leafNode","circle","dy","locals","protocol","host","pathname","applyOpacity","diagonal","projection","interpolate","elbowPath","straightPath","diagonalPath","drawPath","csv","parseCSV","parseJSON","parseFlatJSON","generateHierarchy","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","d3_documentElement","d3_window","d3_ascending","NaN","d3_number","d3_numeric","d3_bisector","compare","lo","mid","right","d3_transposeLength","d3_range_integerScale","d3_class","ctor","d3_Map","d3_map_escape","d3_map_proto","d3_map_zero","d3_map_unescape","d3_map_has","d3_map_remove","d3_map_keys","d3_map_size","d3_map_empty","d3_Set","d3_identity","d3_rebind","d3_vendorSymbol","d3_vendorPrefixes","prefixName","d3_noop","d3_dispatch","d3_dispatch_event","dispatch","listeners","listenerByName","listener","d3_eventPreventDefault","d3","d3_eventSource","sourceEvent","d3_eventDispatch","thiz","argumentz","e1","e0","d3_selection","groups","d3_subclass","d3_selectionPrototype","d3_selection_selector","selector","d3_select","d3_selection_selectorAll","d3_selectAll","d3_selection_attr","attrNull","attrNullNS","removeAttributeNS","space","local","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","ns","qualify","d3_collapse","d3_selection_classedRe","requote","d3_selection_classes","d3_selection_classed","classedConstant","classedFunction","d3_selection_classedName","classList","lastIndex","d3_selection_style","priority","styleNull","removeProperty","styleConstant","styleFunction","d3_selection_property","propertyNull","propertyConstant","propertyFunction","d3_selection_creator","namespace","d3_nsXhtml","createNS","d3_selectionRemove","d3_selection_dataNode","__data__","d3_selection_filter","d3_selectMatches","d3_selection_sortComparator","comparator","d3_selection_each","group","d3_selection_enter","selection","d3_selection_enterPrototype","d3_selection_enterInsertBefore","i0","j0","update","d3_selection_on","onRemove","$","onAdd","wrap","d3_array","removeAll","match","d3_selection_onListener","d3_selection_onFilters","d3_selection_onFilter","related","d3_event_dragSuppress","d3_event_dragId","d3_event_dragSelect","suppressClick","off","d3_mousePoint","container","ownerSVGElement","createSVGPoint","point","d3_mouse_bug44083","scrollX","scrollY","position","margin","padding","ctm","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","d3_behavior_dragTouchId","identifier","d3_sgn","d3_cross2d","d3_acos","π","acos","d3_asin","halfπ","asin","d3_sinh","exp","d3_cosh","d3_tanh","d3_haversin","sin","d3_color","d3_hsl","d3_rgb_parse","d3_rgb_hsl","d3_hsl_rgb","m1","m2","vv","round","d3_rgb","d3_hcl","d3_lab","d3_lab_hcl","d3_rgb_lab","rgb","d3_hcl_lab","cos","d3_radians","d3_lab_rgb","d3_lab_xyz","d3_lab_X","d3_lab_Y","d3_lab_Z","d3_xyz_rgb","atan2","d3_degrees","sqrt","d3_xyz_lab","pow","d3_rgbNumber","d3_rgbString","d3_rgb_hex","hsl","d3_rgb_parseNumber","d3_rgb_names","d3_rgb_xyz","d3_functor","d3_xhrType","mimeType","d3_xhr","respond","d3_xhrHasResponse","load","XDomainRequest","onreadystatechange","readyState","onprogress","progress","overrideMimeType","beforesend","abort","rebind","d3_xhr_fixCallback","d3_timer","delay","timer","d3_timer_queueTail","d3_timer_queueHead","d3_timer_interval","d3_timer_timeout","d3_timer_frame","d3_timer_step","d3_timer_mark","d3_timer_sweep","isFinite","t0","t1","d3_format_precision","ceil","log","LN10","d3_formatPrefix","abs","symbol","d3_locale_numberFormat","locale_decimal","decimal","locale_thousands","thousands","locale_grouping","grouping","locale_currency","currency","formatGroup","reverse","specifier","d3_format_re","fill","align","sign","zfill","comma","precision","prefix","suffix","integer","exponent","d3_format_types","d3_format_typeDefault","zcomma","fullSuffix","negative","unit","formatPrefix","before","after","lastIndexOf","d3_date_utc","UTC","d3_time_interval","d0","d1","d3_date","dt","times","range_utc","utc","floor","d3_time_interval_utc","d3_locale_timeFormat","d3_time_format","template","d3_time_formatPads","d3_time_formats","d3_time_parse","localZ","setFullYear","getDay","setHours","d3_time_parsers","d3_time_parseWeekdayAbbrev","d3_time_dayAbbrevRe","d3_time_dayAbbrevLookup","d3_time_parseWeekday","d3_time_dayRe","d3_time_dayLookup","d3_time_parseMonthAbbrev","d3_time_monthAbbrevRe","d3_time_monthAbbrevLookup","d3_time_parseMonth","d3_time_monthRe","d3_time_monthLookup","d3_time_parseLocaleFull","d3_time_parseLocaleDate","d3_time_parseLocaleTime","d3_time_parseAmPm","d3_time_periodLookup","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_days","days","locale_shortDays","shortDays","locale_months","months","locale_shortMonths","shortMonths","multi","d3_time_formatMulti","d3_time_formatRe","d3_time_formatLookup","getMonth","d3_time_formatPad","getDate","getHours","d3_time","dayOfYear","getMilliseconds","getMinutes","getSeconds","sundayOfYear","mondayOfYear","getFullYear","d3_time_zone","%","d3_time_parseDay","d3_time_parseHour24","d3_time_parseDayOfYear","d3_time_parseMilliseconds","d3_time_parseMonthNumber","d3_time_parseMinutes","d3_time_parseSeconds","d3_time_parseWeekNumberSunday","d3_time_parseWeekdayNumber","d3_time_parseWeekNumberMonday","d3_time_parseYear","d3_time_parseFullYear","d3_time_parseZone","d3_time_parseLiteralPercent","names","d3_time_numberRe","d3_time_expandYear","getTimezoneOffset","zs","zm","d3_time_percentRe","formats","d3_adder","d3_adderSum","bv","av","d3_geo_streamGeometry","geometry","d3_geo_streamGeometryType","d3_geo_streamLine","coordinates","closed","coordinate","lineStart","lineEnd","d3_geo_streamPolygon","polygonStart","polygonEnd","d3_geo_areaRingStart","nextPoint","λ","φ","dλ","λ0","sdλ","adλ","cosφ","sinφ","sinφ0","cosφ0","d3_geo_areaRingSum","λ00","φ00","d3_geo_area","d3_geo_cartesian","spherical","d3_geo_cartesianDot","d3_geo_cartesianCross","d3_geo_cartesianAdd","d3_geo_cartesianScale","vector","d3_geo_cartesianNormalize","d3_geo_spherical","cartesian","d3_geo_sphericalEqual","ε","d3_geo_centroidPoint","d3_geo_centroidPointXYZ","d3_geo_centroidW0","d3_geo_centroidX0","d3_geo_centroidY0","d3_geo_centroidZ0","d3_geo_centroidLineStart","y0","z0","x0","d3_geo_centroidW1","d3_geo_centroidX1","d3_geo_centroidY1","d3_geo_centroidZ1","d3_geo_centroid","d3_geo_centroidLineEnd","d3_geo_centroidRingStart","cx","cy","cz","d3_geo_centroidX2","d3_geo_centroidY2","d3_geo_centroidZ2","d3_geo_compose","compose","invert","d3_true","d3_geo_clipPolygon","segments","clipStartInside","subject","clip","segment","p0","p1","d3_geo_clipPolygonIntersection","sort","d3_geo_clipPolygonLinkCircular","entry","points","isSubject","d3_geo_clip","pointVisible","clipLine","clipStart","rotate","pointLine","pointRing","ring","ringListener","ringStart","ringEnd","clean","ringSegments","polygon","polygonStarted","d3_geo_clipSegmentLength1","rotatedClipStart","merge","d3_geo_pointInPolygon","d3_geo_clipSort","sphere","d3_geo_clipBufferListener","lines","rejoin","d3_geo_clipAntimeridianLine","φ0","sλ0","λ1","φ1","sλ1","d3_geo_clipAntimeridianIntersect","cosφ1","sinλ0_λ1","atan","d3_geo_clipAntimeridianInterpolate","direction","meridian","parallel","meridianNormal","polarAngle","winding","point0","antimeridian","τ","arc","intersection","φarc","d3_geo_clipCircle","radius","visible","cr","c0","v0","v00","point2","point1","smallRadius","code","intersect","notHemisphere","two","n1","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","uu","t2","δλ","polar","q1","d3_geo_circleInterpolate","d3_geom_clipLine","x1","y1","ax","ay","bx","by","dx","d3_geo_clipExtent","corner","comparePoints","insidePolygon","wn","a1","linePoint","v_","x_","y_","x__","y__","v__","bufferListener","d3_geo_clipExtentMAX","listener_","inside","d3_geo_conic","projectAt","d3_geo_projectionMutator","parallels","d3_geo_conicEqualArea","forward","ρ","ρ0","ρ0_y","d3_geo_pathAreaRingStart","d3_geo_pathAreaPolygon","x00","y00","d3_geo_pathArea","d3_geo_pathBoundsPoint","d3_geo_pathBoundsX0","d3_geo_pathBoundsX1","d3_geo_pathBoundsY0","d3_geo_pathBoundsY1","d3_geo_pathBuffer","pointCircle","pointLineStart","stream","lineEndPolygon","d3_geo_pathBufferCircle","pointRadius","d3_geo_pathCentroidPoint","d3_geo_pathCentroidLineStart","d3_geo_pathCentroid","d3_geo_pathCentroidLineEnd","d3_geo_pathCentroidRingStart","d3_geo_pathContext","moveTo","lineTo","closePath","d3_geo_resample","project","resample","maxDepth","resampleRecursive","resampleNone","d3_geo_transformPoint","resampleLineTo","a0","b0","ringPoint","a00","b00","c00","b1","d2","δ2","φ2","λ2","x2","y2","dx2","dy2","dz","cosMinDistance","d3_geo_pathProjectStream","d3_geo_projectionRadians","d3_geo_transform","d3_geo_projection","projectRotate","δx","δy","d3_geo_rotation","δφ","δγ","center","invalidate","valid","projectResample","preclip","d3_geo_clipAntimeridian","postclip","clipAngle","clipExtent","output","d3_geo_equirectangular","d3_geo_identityRotation","d3_geo_rotationλ","d3_geo_rotationφγ","d3_geo_forwardRotationλ","rotation","cosδφ","sinδφ","cosδγ","sinδγ","sr","d3_geo_circleAngle","angle","PI","d3_geo_graticuleX","d3_geo_graticuleY","d3_source","d3_target","d3_geo_interpolate","cy0","sy0","cy1","sy1","kx0","ky0","kx1","ky1","distance","d3_geo_lengthLineStart","cosΔλ","d3_geo_lengthSum","d3_geo_length","d3_geo_azimuthal","azimuthal","cosλ","sinc","cosc","d3_geo_conicConformal","tan","d3_geo_mercator","d3_geo_conicEquidistant","d3_geo_mercatorProjection","clipAuto","d3_geo_transverseMercator","d3_geom_pointX","d3_geom_pointY","d3_geom_hullUpper","hull","hs","d3_geom_hullOrder","d3_geom_polygonInside","d3_geom_polygonIntersect","x3","x21","x43","y3","y21","y43","d3_geom_polygonClosed","d3_geom_voronoiBeach","d3_geom_voronoiRedBlackNode","edge","site","d3_geom_voronoiCreateBeach","beach","d3_geom_voronoiBeachPool","d3_geom_voronoiDetachBeach","d3_geom_voronoiDetachCircle","d3_geom_voronoiBeaches","d3_geom_voronoiRemoveBeach","vertex","previous","disappearing","lArc","unshift","rArc","iArc","nArcs","d3_geom_voronoiSetEdgeEnd","d3_geom_voronoiCreateEdge","d3_geom_voronoiAttachCircle","d3_geom_voronoiAddBeach","dxl","dxr","directrix","d3_geom_voronoiLeftBreakPoint","d3_geom_voronoiRightBreakPoint","newArc","insert","lSite","rSite","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","d3_geom_voronoiCell","edges","d3_geom_voronoiCloseCells","extent","cell","iHalfEdge","halfEdges","nHalfEdges","cells","d3_geom_voronoiCells","iCell","prepare","d3_geom_voronoiHalfEdge","d3_geom_voronoiCreateBorderEdge","d3_geom_voronoiHalfEdgeOrder","d3_geom_voronoiCircle","cSite","ε2","d3_geom_voronoiCirclePool","d3_geom_voronoiCircles","d3_geom_voronoiFirstCircle","d3_geom_voronoiClipEdges","d3_geom_voronoiEdges","d3_geom_voronoiConnectEdge","fm","lx","ly","rx","ry","fx","fy","d3_geom_voronoiEdge","d3_geom_voronoiRedBlackTree","d3_geom_voronoiRedBlackRotateLeft","d3_geom_voronoiRedBlackRotateRight","d3_geom_voronoiRedBlackFirst","d3_geom_voronoi","sites","bbox","d3_geom_voronoiVertexOrder","diagram","d3_geom_voronoiTriangleArea","d3_geom_quadtreeCompatX","d3_geom_quadtreeCompatY","d3_geom_quadtreeNode","leaf","d3_geom_quadtreeVisit","sx","sy","d3_geom_quadtreeFind","root","closestPoint","minDistance2","find","distance2","xm","ym","below","d3_interpolateRgb","ar","d3_interpolateObject","d3_interpolate","d3_interpolateNumber","d3_interpolateString","am","bm","bs","d3_interpolate_numberA","d3_interpolate_numberB","interpolators","d3_interpolateArray","n0","d3_ease_clamp","d3_ease_reverse","d3_ease_reflect","d3_ease_quad","d3_ease_cubic","d3_ease_cubicInOut","t3","d3_ease_poly","d3_ease_sin","d3_ease_exp","d3_ease_circle","d3_ease_elastic","d3_ease_back","d3_ease_bounce","d3_interpolateHcl","hcl","al","bl","d3_interpolateHsl","as","d3_interpolateLab","lab","d3_interpolateRound","d3_transform","r0","r1","kx","d3_transformNormalize","kz","d3_transformDot","ky","d3_transformCombine","skew","d3_interpolateTransformPop","d3_interpolateTranslate","d3_interpolateRotate","d3_interpolateSkew","d3_interpolateScale","d3_interpolateTransform","d3_uninterpolateNumber","d3_uninterpolateClamp","d3_layout_bundlePath","lca","d3_layout_bundleLeastCommonAncestor","d3_layout_bundleAncestors","aNodes","bNodes","aNode","bNode","sharedNode","d3_layout_forceDragstart","fixed","d3_layout_forceDragend","d3_layout_forceMouseover","px","py","d3_layout_forceMouseout","d3_layout_forceAccumulate","quad","alpha","charges","charge","pointCharge","d3_layout_hierarchyRebind","hierarchy","d3_layout_hierarchyLinks","d3_layout_hierarchyVisitBefore","d3_layout_hierarchyVisitAfter","nodes2","d3_layout_hierarchyChildren","d3_layout_hierarchyValue","d3_layout_hierarchySort","d3_layout_stackX","d3_layout_stackY","d3_layout_stackOut","d3_layout_stackOrderDefault","d3_layout_stackOffsetZero","d3_layout_stackMaxIndex","d3_layout_stackReduceSum","reduce","d3_layout_stackSum","d3_layout_histogramBinSturges","d3_layout_histogramBinFixed","LN2","d3_layout_histogramRange","d3_layout_packSort","d3_layout_packInsert","_pack_next","_pack_prev","d3_layout_packSplice","d3_layout_packIntersects","dr","d3_layout_packSiblings","bound","xMin","xMax","yMin","yMax","d3_layout_packLink","d3_layout_packPlace","isect","s1","s2","d3_layout_packUnlink","d3_layout_packTransform","d3_layout_treeSeparation","d3_layout_treeLeft","d3_layout_treeRight","d3_layout_treeMove","wm","wp","d3_layout_treeShift","d3_layout_treeAncestor","vim","ancestor","d3_layout_clusterY","d3_layout_clusterX","d3_layout_clusterLeft","d3_layout_clusterRight","d3_layout_treemapPadNull","d3_layout_treemapPad","d3_scaleExtent","domain","stop","d3_scaleRange","rangeExtent","d3_scale_bilinear","uninterpolate","d3_scale_nice","nice","i1","d3_scale_niceStep","d3_scale_niceIdentity","d3_scale_polylinear","bisect","d3_scale_linear","clamp","rescale","linear","Number","rangeRound","ticks","d3_scale_linearTicks","tickFormat","d3_scale_linearTickFormat","d3_scale_linearNice","copy","d3_scale_linearRebind","d3_scale_linearTickRange","d3_scale_linearPrecision","d3_scale_linearFormatPrecision","d3_scale_linearFormatSignificant","d3_scale_log","positive","niced","d3_scale_logNiceNegative","d3_scale_logFormat","d3_scale_pow","powp","d3_scale_powPow","powb","d3_scale_ordinal","ranger","steps","rangeBand","rangePoints","rangeRoundPoints","rangeBands","outerPadding","rangeRoundBands","d3_scale_quantile","thresholds","quantile","quantiles","invertExtent","d3_scale_quantize","d3_scale_threshold","d3_scale_identity","identity","d3_zero","d3_svg_arcInnerRadius","innerRadius","d3_svg_arcOuterRadius","outerRadius","d3_svg_arcStartAngle","startAngle","d3_svg_arcEndAngle","endAngle","d3_svg_arcPadAngle","padAngle","d3_svg_arcSweep","d3_svg_arcCornerTangents","cw","x01","y01","ox","oy","cx0","cx1","dx0","dy0","dx1","dy1","d3_svg_line","tension","defined","d3_svg_lineLinear","interpolateKey","d3_svg_lineInterpolators","d3_svg_lineLinearClosed","d3_svg_lineStep","path","d3_svg_lineStepBefore","d3_svg_lineStepAfter","d3_svg_lineCardinalOpen","d3_svg_lineHermite","d3_svg_lineCardinalTangents","d3_svg_lineCardinalClosed","d3_svg_lineCardinal","tangents","lp","p2","d3_svg_lineBasis","d3_svg_lineDot4","d3_svg_lineBasisBezier3","d3_svg_lineBasisBezier","d3_svg_lineBasisOpen","d3_svg_lineBasisClosed","d3_svg_lineBundle","d3_svg_lineBasisBezier1","d3_svg_lineBasisBezier2","d3_svg_lineSlope","d3_svg_lineFiniteDifferences","d3_svg_lineMonotoneTangents","d3_svg_lineMonotone","d3_svg_lineRadial","d3_svg_area","points1","interpolateReverse","points0","fx0","fy0","fx1","fy1","d3_svg_chordRadius","d3_svg_diagonalProjection","d3_svg_diagonalRadialProjection","d3_svg_symbolSize","d3_svg_symbolType","d3_svg_symbolCircle","d3_selection_interruptNS","lock","activeId","interrupt","d3_transition","d3_transitionPrototype","d3_transition_tween","tween","d3_transition_text","d3_transitionNamespace","d3_transitionNode","inherit","schedule","elapsed","cancelId","cancel","tick","tweens","ease","d3_svg_axisX","d3_svg_axisY","d3_time_formatIsoNative","toISOString","d3_time_scale","tickMethod","d3_time_scaleSteps","year","d3_time_scaleMilliseconds","d3_time_scaleDate","interval","skip","skipped","d3_json","d3_html","d3_document","selectNode","createContextualFragment","d3_arraySlice","d3_element_prototype","Element","d3_element_setAttribute","d3_element_setAttributeNS","d3_style_prototype","CSSStyleDeclaration","d3_style_setProperty","ascending","descending","sum","mean","median","numbers","variance","deviation","d3_bisect","bisectLeft","bisectRight","bisector","shuffle","permute","indexes","permutes","pairs","transpose","matrix","row","zip","arrays","merged","empty","nest","mapType","rollup","sortValues","keyValue","setter","valuesByKey","sortKey","sortKeys","keyMap","d3_requote_re","d3_selectMatcher","matches","Sizzle","matchesSelector","subgroup","subnode","subgroups","selectAll","d3_nsPrefix","xhtml","xmlns","getAttributeNS","classed","getComputedStyle","getPropertyValue","groupData","updateNodes","enterNodes","exitNodes","nodeByKeyValue","keyValues","exit","datum","upgroup","mouseenter","mouseleave","mouse","navigator","userAgent","touch","drag","mousedown","touchstart","dragstart","move","moved","position1","dragId","position0","dragged","dragOffset","ended","dragSubject","dragName","dragRestore","that","correspondingElement","origin","τε","SQRT2","interpolateZoom","ux0","uy0","w0","ux1","uy1","w1","coshr0","mousedowned","d3_behavior_zoomWheel","mousewheeled","dblclicked","touchstarted","scaleTo","translateTo","zoomTo","__chart__","center0","zoomstarted","zooming","zoomed","zoomended","location0","mousemove","mouseup","d3_selection_interrupt","relocate","scale0","locations0","started","touchmove","touchend","targets","changed","touchtime","distance0","l0","l1","distance1","scale1","zoomName","mousewheelTimer","translate0","d3_behavior_zoomDelta","d3_behavior_zoomInfinity","view1","d3_transitionInheritId","d3_hslPrototype","brighter","darker","d3_hclPrototype","d3_lab_K","d3_labPrototype","d3_rgbPrototype","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","functor","dsv","delimiter","typedResponse","formatRow","formatValue","reFormat","delimiterCode","parseRows","token","EOF","eol","EOL","formatRows","fieldSet","fields","field","tsv","d3_formatPrefixes","toPrecision","toExponential","toFixed","getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","getTime","valueOf","setDate","d3_time_prototype","setUTCDate","setDay","setUTCDay","setUTCFullYear","setUTCHours","setMilliseconds","setUTCMilliseconds","setMinutes","setUTCMinutes","setMonth","setUTCMonth","setSeconds","setUTCSeconds","setTime","day","years","sunday","weeks","weekOfYear","-","0","numberFormat","timeFormat","d3_locale_enUS","geo","d3_adderTemp","d3_geo_streamObjectType","Feature","feature","FeatureCollection","features","Sphere","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","GeometryCollection","geometries","d3_geo_areaSum","bounds","ranges","normal","equatorial","inflection","λ_","λi","φi","dλSum","λ__","φ__","compareRanges","withinRange","best","centroid","conicEqualArea","albers","albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","lower48Stream","alaskaStream","hawaiiStream","d3_geo_pathAreaSum","d3_geo_pathBounds","contextStream","cacheStream","projectStream","projectionMutator","equirectangular","Δλ","sinΔλ","sinφ1","graticule","X0","DX","X1","Y0","DY","Y1","majorExtent","minorExtent","majorStep","minorStep","greatArc","source_","target_","d3_geo_azimuthalEqualArea","cosλcosφ","azimuthalEqualArea","d3_geo_azimuthalEquidistant","azimuthalEquidistant","conicConformal","conicEquidistant","d3_geo_gnomonic","gnomonic","mercator","d3_geo_orthographic","orthographic","d3_geo_stereographic","stereographic","transverseMercator","geom","vertices","flippedPoints","upper","lower","skipLeft","skipRight","d3_geom_polygonPrototype","grandpa","uncle","voronoi","polygons","d3_geom_voronoiClipExtent","triangles","s0","delaunay","quadtree","nx","ny","insertChild","nPoint","xs","ys","x1_","y1_","x2_","y2_","compat","visit","interpolateRgb","interpolateObject","interpolateNumber","interpolateString","interpolateArray","d3_ease_default","d3_ease","poly","cubic","elastic","back","bounce","d3_ease_mode","in","in-out","out-in","interpolateHcl","interpolateHsl","interpolateLab","interpolateRound","baseVal","consolidate","d3_transformIdentity","interpolateTransform","bundle","paths","chord","relayout","groupSums","groupIndex","subgroupIndex","chords","sortGroups","sortSubgroups","subindex","sortChords","resort","force","repulse","dw","dn","theta2","chargeDistance2","dragmove","resume","distances","strengths","friction","linkDistance","d3_layout_forceLinkDistance","linkStrength","d3_layout_forceLinkStrength","d3_layout_forceChargeDistance2","gravity","weight","chargeDistance","theta","dimension","neighbors","candidates","childs","revalue","partition","pie","arcs","d3_layout_pieSortByValue","series","orders","offsets","d3_layout_stackOrders","d3_layout_stackOffsets","inside-out","sums","bottom","tops","bottoms","silhouette","wiggle","s3","o0","expand","zero","histogram","bin","bins","valuer","binner","frequency","pack","root0","root1","wrapTree","firstWalk","secondWalk","sizeNode","tx","node1","midpoint","apportion","vip","vop","vom","sip","sop","sim","som","cluster","previousNode","treemap","squarify","score","pad","worst","stickify","rmax","rmin","ratio","stickies","sticky","padFunction","padConstant","µ","σ","logNormal","bates","irwinHall","ordinal","category10","d3_category10","category20","d3_category20","category20b","d3_category20b","category20c","d3_category20c","quantize","threshold","circleSegment","rp","ap","padRadius","d3_svg_arcAuto","h1","h0","cornerRadius","rc1","rc0","t30","t12","t03","t21","linear-closed","step-before","step-after","basis","basis-open","basis-closed","cardinal","cardinal-open","cardinal-closed","monotone","radial","curve","p3","projection_","d3_svg_symbols","cross","diamond","d3_svg_symbolTan30","square","triangle-down","d3_svg_symbolSqrt3","triangle-up","symbolTypes","d3_transitionId","d3_transitionInherit","subnodes","nameNS","attrTween","attrTweenNS","styleString","styleTween","inheritId","id0","id1","axis","tickTransform","tickValues","tickArguments_","tickFormat_","tickEnter","tickExit","tickUpdate","tickSpacing","innerTickSize","tickPadding","pathUpdate","lineEnter","lineUpdate","textEnter","textUpdate","orient","outerTickSize","d3_svg_axisDefaultOrient","d3_svg_axisOrients","tickSize","tickSubdivide","brush","brushstart","resize","resizes","d3_svg_brushCursor","gUpdate","backgroundUpdate","redrawX","redrawY","redraw","xExtent","yExtent","keydown","dragging","keyup","brushmove","resizingX","move1","resizingY","event_","yClamp","xClamp","yExtentDomain","xExtentDomain","brushend","eventTarget","resizing","ey","d3_svg_brushResizes","extent1","extent0","clear","nw","sw","d3_time_formatUtc","d3_time_formatIso","iso","second","seconds","minute","minutes","hour","timezone","hours","d3_time_scaleLocalMethods","d3_time_scaleLocalFormat","d3_time_scaleUtcMethods","d3_time_scaleUtcFormat","responseXML","ReactPropTypesSecret","shim","propName","propFullName","secret","getShim","ReactPropTypes","arrayOf","instanceOf","objectOf","exact","checkPropTypes","PropTypes","v1","uuid","clockseq","_clockseq","msecs","nsecs","_lastNSecs","_lastMSecs","tl","tmh","_nodeId","_seedBytes","_CSSTransitionGroup","_CSSTransitionGroup2","_TransitionGroup","_TransitionGroup2","CSSTransitionGroup","_CSSTransitionGroupChild","_CSSTransitionGroupChild2","_PropTypes","_temp","_ret","_len","_wrapChild","appearTimeout","enterTimeout","leaveTimeout","len","warning","prev","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","addEndListener","events","_addClass","_addClass2","_removeClass","_removeClass2","_requestAnimationFrame","_requestAnimationFrame2","_properties","_reactDom","transitionEnd","animationEnd","CSSTransitionGroupChild","classNameAndNodeQueue","transitionTimeouts","unmounted","animationType","finishCallback","activeClassName","removeListeners","queueClassAndNode","finish","rafHandle","flushClassNameAndNodeQueue","addClass","_hasClass2","_hasClass","hasClass","fallback","curr","ms","req","_inDOM","_inDOM2","vendors","raf","compatRaf","getKey","vendor","rafKey","animationDelay","animationTiming","animationDuration","transitionDelay","transitionTiming","transitionProperty","_getTransitionPropert","vendorMap","Moz","Webkit","timing","Buffer","_instanceof","circular","includeNonEnumerable","_clone","proto","nativeMap","nativeSet","nativePromise","__isArray","__isRegExp","__getRegExpFlags","__isDate","useBuffer","isBuffer","allParents","allChildren","keyChild","valueChild","entryChild","allPropertyNames","__objToStr","flags","ignoreCase","multiline","clonePrototype","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","encoding","isEncoding","actual","write","fromArrayLike","byteOffset","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","read","indexSize","readUInt16BE","arrLength","valLength","foundIndex","found","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","base64","fromByteArray","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","units","leadSurrogate","byteArray","toByteArray","src","dst","INSPECT_MAX_BYTES","foo","subarray","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","pos","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","placeHoldersCount","b64","tmp","placeHolders","Arr","revLookup","tripletToBase64","num","lookup","encodeChunk","uint8","extraBytes","len2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","isUndefinedOrNull","objEquiv","opts","isArguments","pSlice","deepEqual","objectKeys","expected","strict","supported","unsupported","supportsArgumentsClass"],"mappings":"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","file":"static/js/main.c0abc942.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 14);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (true) {\n module.exports = __webpack_require__(21);\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(37)();\n}\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar asap = __webpack_require__(17);\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyObject = {};\n\nif (false) {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (false) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (true) {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = __webpack_require__(22);\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\nvar rng;\n\nvar crypto = global.crypto || global.msCrypto; // for IE 11\nif (crypto && crypto.getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n rng = function whatwgRNG() {\n crypto.getRandomValues(rnds8);\n return rnds8;\n };\n}\n\nif (!rng) {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n rng = function() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n\nmodule.exports = rng;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n return bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]];\n}\n\nmodule.exports = bytesToUuid;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _chainFunction = __webpack_require__(44);\n\nvar _chainFunction2 = _interopRequireDefault(_chainFunction);\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(1);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = __webpack_require__(45);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _ChildMapping = __webpack_require__(46);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n component: _propTypes2.default.any,\n childFactory: _propTypes2.default.func,\n children: _propTypes2.default.node\n};\n\nvar defaultProps = {\n component: 'span',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n\nvar TransitionGroup = function (_React$Component) {\n _inherits(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n _classCallCheck(this, TransitionGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.performAppear = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillAppear) {\n component.componentWillAppear(_this._handleDoneAppearing.bind(_this, key, component));\n } else {\n _this._handleDoneAppearing(key, component);\n }\n };\n\n _this._handleDoneAppearing = function (key, component) {\n if (component.componentDidAppear) {\n component.componentDidAppear();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully appeared. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performEnter = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillEnter) {\n component.componentWillEnter(_this._handleDoneEntering.bind(_this, key, component));\n } else {\n _this._handleDoneEntering(key, component);\n }\n };\n\n _this._handleDoneEntering = function (key, component) {\n if (component.componentDidEnter) {\n component.componentDidEnter();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully entered. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performLeave = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillLeave) {\n component.componentWillLeave(_this._handleDoneLeaving.bind(_this, key, component));\n } else {\n // Note that this is somewhat dangerous b/c it calls setState()\n // again, effectively mutating the component before all the work\n // is done.\n _this._handleDoneLeaving(key, component);\n }\n };\n\n _this._handleDoneLeaving = function (key, component) {\n if (component.componentDidLeave) {\n component.componentDidLeave();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {\n // This entered again before it fully left. Add it again.\n _this.keysToEnter.push(key);\n } else {\n _this.setState(function (state) {\n var newChildren = _extends({}, state.children);\n delete newChildren[key];\n return { children: newChildren };\n });\n }\n };\n\n _this.childRefs = Object.create(null);\n\n _this.state = {\n children: (0, _ChildMapping.getChildMapping)(props.children)\n };\n return _this;\n }\n\n TransitionGroup.prototype.componentWillMount = function componentWillMount() {\n this.currentlyTransitioningKeys = {};\n this.keysToEnter = [];\n this.keysToLeave = [];\n };\n\n TransitionGroup.prototype.componentDidMount = function componentDidMount() {\n var initialChildMapping = this.state.children;\n for (var key in initialChildMapping) {\n if (initialChildMapping[key]) {\n this.performAppear(key, this.childRefs[key]);\n }\n }\n };\n\n TransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var nextChildMapping = (0, _ChildMapping.getChildMapping)(nextProps.children);\n var prevChildMapping = this.state.children;\n\n this.setState({\n children: (0, _ChildMapping.mergeChildMappings)(prevChildMapping, nextChildMapping)\n });\n\n for (var key in nextChildMapping) {\n var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);\n if (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {\n this.keysToEnter.push(key);\n }\n }\n\n for (var _key in prevChildMapping) {\n var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(_key);\n if (prevChildMapping[_key] && !hasNext && !this.currentlyTransitioningKeys[_key]) {\n this.keysToLeave.push(_key);\n }\n }\n\n // If we want to someday check for reordering, we could do it here.\n };\n\n TransitionGroup.prototype.componentDidUpdate = function componentDidUpdate() {\n var _this2 = this;\n\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(function (key) {\n return _this2.performEnter(key, _this2.childRefs[key]);\n });\n\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(function (key) {\n return _this2.performLeave(key, _this2.childRefs[key]);\n });\n };\n\n TransitionGroup.prototype.render = function render() {\n var _this3 = this;\n\n // TODO: we could get rid of the need for the wrapper node\n // by cloning a single child\n var childrenToRender = [];\n\n var _loop = function _loop(key) {\n var child = _this3.state.children[key];\n if (child) {\n var isCallbackRef = typeof child.ref !== 'string';\n var factoryChild = _this3.props.childFactory(child);\n var ref = function ref(r) {\n _this3.childRefs[key] = r;\n };\n\n false ? (0, _warning2.default)(isCallbackRef, 'string refs are not supported on children of TransitionGroup and will be ignored. ' + 'Please use a callback ref instead: https://facebook.github.io/react/docs/refs-and-the-dom.html#the-ref-callback-attribute') : void 0;\n\n // Always chaining the refs leads to problems when the childFactory\n // wraps the child. The child ref callback gets called twice with the\n // wrapper and the child. So we only need to chain the ref if the\n // factoryChild is not different from child.\n if (factoryChild === child && isCallbackRef) {\n ref = (0, _chainFunction2.default)(child.ref, ref);\n }\n\n // You may need to apply reactive updates to a child as it is leaving.\n // The normal React way to do it won't work since the child will have\n // already been removed. In case you need this behavior you can provide\n // a childFactory function to wrap every child, even the ones that are\n // leaving.\n childrenToRender.push(_react2.default.cloneElement(factoryChild, {\n key: key,\n ref: ref\n }));\n }\n };\n\n for (var key in this.state.children) {\n _loop(key);\n }\n\n // Do not forward TransitionGroup props to primitive DOM nodes\n var props = _extends({}, this.props);\n delete props.transitionLeave;\n delete props.transitionName;\n delete props.transitionAppear;\n delete props.transitionEnter;\n delete props.childFactory;\n delete props.transitionLeaveTimeout;\n delete props.transitionEnterTimeout;\n delete props.transitionAppearTimeout;\n delete props.component;\n\n return _react2.default.createElement(this.props.component, props, childrenToRender);\n };\n\n return TransitionGroup;\n}(_react2.default.Component);\n\nTransitionGroup.displayName = 'TransitionGroup';\n\n\nTransitionGroup.propTypes = false ? propTypes : {};\nTransitionGroup.defaultProps = defaultProps;\n\nexports.default = TransitionGroup;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.nameShape = undefined;\nexports.transitionTimeout = transitionTimeout;\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(1);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transitionTimeout(transitionType) {\n var timeoutPropName = 'transition' + transitionType + 'Timeout';\n var enabledPropName = 'transition' + transitionType;\n\n return function (props) {\n // If the transition is enabled\n if (props[enabledPropName]) {\n // If no timeout duration is provided\n if (props[timeoutPropName] == null) {\n return new Error(timeoutPropName + ' wasn\\'t supplied to CSSTransitionGroup: ' + 'this can cause unreliable animations and won\\'t be supported in ' + 'a future version of React. See ' + 'https://fb.me/react-animation-transition-group-timeout for more ' + 'information.');\n\n // If the duration isn't a number\n } else if (typeof props[timeoutPropName] !== 'number') {\n return new Error(timeoutPropName + ' must be a number (in milliseconds)');\n }\n }\n\n return null;\n };\n}\n\nvar nameShape = exports.nameShape = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n active: _propTypes2.default.string\n}), _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n enterActive: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n leaveActive: _propTypes2.default.string,\n appear: _propTypes2.default.string,\n appearActive: _propTypes2.default.string\n})]);\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(15);\nmodule.exports = __webpack_require__(20);\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// @remove-on-eject-begin\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// @remove-on-eject-end\n\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n __webpack_require__(16).enable();\n window.Promise = __webpack_require__(18);\n}\n\n// fetch() polyfill for making API calls.\n__webpack_require__(19);\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = __webpack_require__(4);\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Promise = __webpack_require__(6);\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = __webpack_require__(6);\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__index_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__prefixTrie_js__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__prefixTrieForReactD3_js__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_d3_tree__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_d3_tree___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_d3_tree__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;iK.length&&K.push(a)}\nfunction N(a,b,d,e){var c=typeof a;if(\"undefined\"===c||\"boolean\"===c)a=null;if(null===a||\"string\"===c||\"number\"===c||\"object\"===c&&a.$$typeof===I)return d(e,a,\"\"===b?\".\"+O(a,0):b),1;var g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k=g.hasBooleanValue+g.hasNumericValue+g.hasOverloadedBooleanValue?void 0:w(\"50\",f);e.hasOwnProperty(f)&&(g.attributeName=e[f]);d.hasOwnProperty(f)&&(g.attributeNamespace=d[f]);a.hasOwnProperty(f)&&(g.mutationMethod=a[f]);xa.properties[f]=\ng}}},xa={ID_ATTRIBUTE_NAME:\"data-reactid\",ROOT_ATTRIBUTE_NAME:\"data-reactroot\",ATTRIBUTE_NAME_START_CHAR:\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",ATTRIBUTE_NAME_CHAR:\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",\nproperties:{},shouldSetAttribute:function(a,b){if(xa.isReservedProp(a)||!(\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1]))return!1;if(null===b)return!0;switch(typeof b){case \"boolean\":return xa.shouldAttributeAcceptBooleanValue(a);case \"undefined\":case \"number\":case \"string\":case \"object\":return!0;default:return!1}},getPropertyInfo:function(a){return xa.properties.hasOwnProperty(a)?xa.properties[a]:null},shouldAttributeAcceptBooleanValue:function(a){if(xa.isReservedProp(a))return!0;var b=xa.getPropertyInfo(a);\nif(b)return b.hasBooleanValue||b.hasStringBooleanValue||b.hasOverloadedBooleanValue;a=a.toLowerCase().slice(0,5);return\"data-\"===a||\"aria-\"===a},isReservedProp:function(a){return ta.hasOwnProperty(a)},injection:wa},A=xa,E={IndeterminateComponent:0,FunctionalComponent:1,ClassComponent:2,HostRoot:3,HostPortal:4,HostComponent:5,HostText:6,CoroutineComponent:7,CoroutineHandlerPhase:8,YieldComponent:9,Fragment:10},F={ELEMENT_NODE:1,TEXT_NODE:3,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_FRAGMENT_NODE:11},\nya=E.HostComponent,za=E.HostText,Aa=F.ELEMENT_NODE,Ba=F.COMMENT_NODE,Ea=A.ID_ATTRIBUTE_NAME,Fa={hasCachedChildNodes:1},Ga=Math.random().toString(36).slice(2),Ha=\"__reactInternalInstance$\"+Ga,Ia=\"__reactEventHandlers$\"+Ga;function La(a){for(var b;b=a._renderedComponent;)a=b;return a}function Ma(a,b){a=La(a);a._hostNode=b;b[Ha]=a}\nfunction Na(a,b){if(!(a._flags&Fa.hasCachedChildNodes)){var c=a._renderedChildren;b=b.firstChild;var d;a:for(d in c)if(c.hasOwnProperty(d)){var e=c[d],f=La(e)._domID;if(0!==f){for(;null!==b;b=b.nextSibling){var g=b,h=f;if(g.nodeType===Aa&&g.getAttribute(Ea)===\"\"+h||g.nodeType===Ba&&g.nodeValue===\" react-text: \"+h+\" \"||g.nodeType===Ba&&g.nodeValue===\" react-empty: \"+h+\" \"){Ma(e,b);continue a}}w(\"32\",f)}}a._flags|=Fa.hasCachedChildNodes}}\nfunction Oa(a){if(a[Ha])return a[Ha];for(var b=[];!a[Ha];)if(b.push(a),a.parentNode)a=a.parentNode;else return null;var c=a[Ha];if(c.tag===ya||c.tag===za)return c;for(;a&&(c=a[Ha]);a=b.pop()){var d=c;b.length&&Na(c,a)}return d}\nvar G={getClosestInstanceFromNode:Oa,getInstanceFromNode:function(a){var b=a[Ha];if(b)return b.tag===ya||b.tag===za?b:b._hostNode===a?b:null;b=Oa(a);return null!=b&&b._hostNode===a?b:null},getNodeFromInstance:function(a){if(a.tag===ya||a.tag===za)return a.stateNode;void 0===a._hostNode?w(\"33\"):void 0;if(a._hostNode)return a._hostNode;for(var b=[];!a._hostNode;)b.push(a),a._hostParent?void 0:w(\"34\"),a=a._hostParent;for(;b.length;a=b.pop())Na(a,a._hostNode);return a._hostNode},precacheChildNodes:Na,\nprecacheNode:Ma,uncacheNode:function(a){var b=a._hostNode;b&&(delete b[Ha],a._hostNode=null)},precacheFiberNode:function(a,b){b[Ha]=a},getFiberCurrentPropsFromNode:function(a){return a[Ia]||null},updateFiberProps:function(a,b){a[Ia]=b}},Pa={remove:function(a){a._reactInternalFiber=void 0},get:function(a){return a._reactInternalFiber},has:function(a){return void 0!==a._reactInternalFiber},set:function(a,b){a._reactInternalFiber=b}},Qa={ReactCurrentOwner:aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner};\nfunction Ra(a){if(\"function\"===typeof a.getName)return a.getName();if(\"number\"===typeof a.tag){a=a.type;if(\"string\"===typeof a)return a;if(\"function\"===typeof a)return a.displayName||a.name}return null}var J={NoEffect:0,PerformedWork:1,Placement:2,Update:4,PlacementAndUpdate:6,Deletion:8,ContentReset:16,Callback:32,Err:64,Ref:128},Sa=E.HostComponent,Ta=E.HostRoot,Ua=E.HostPortal,Va=E.HostText,Wa=J.NoEffect,Xa=J.Placement;\nfunction Za(a){var b=a;if(a.alternate)for(;b[\"return\"];)b=b[\"return\"];else{if((b.effectTag&Xa)!==Wa)return 1;for(;b[\"return\"];)if(b=b[\"return\"],(b.effectTag&Xa)!==Wa)return 1}return b.tag===Ta?2:3}function $a(a){2!==Za(a)?w(\"188\"):void 0}\nfunction ab(a){var b=a.alternate;if(!b)return b=Za(a),3===b?w(\"188\"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c[\"return\"],f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return $a(e),a;if(g===d)return $a(e),b;g=g.sibling}w(\"188\")}if(c[\"return\"]!==d[\"return\"])c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?\nvoid 0:w(\"189\")}}c.alternate!==d?w(\"190\"):void 0}c.tag!==Ta?w(\"188\"):void 0;return c.stateNode.current===c?a:b}\nvar bb={isFiberMounted:function(a){return 2===Za(a)},isMounted:function(a){return(a=Pa.get(a))?2===Za(a):!1},findCurrentFiberUsingSlowPath:ab,findCurrentHostFiber:function(a){a=ab(a);if(!a)return null;for(var b=a;;){if(b.tag===Sa||b.tag===Va)return b;if(b.child)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null},findCurrentHostFiberWithNoPortals:function(a){a=ab(a);\nif(!a)return null;for(var b=a;;){if(b.tag===Sa||b.tag===Va)return b;if(b.child&&b.tag!==Ua)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null}},K={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(a){\"function\"!==typeof a.invokeGuardedCallback?w(\"197\"):void 0;cb=a.invokeGuardedCallback}},invokeGuardedCallback:function(a,\nb,c,d,e,f,g,h,k){cb.apply(K,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){K.invokeGuardedCallback.apply(this,arguments);if(K.hasCaughtError()){var p=K.clearCaughtError();K._hasRethrowError||(K._hasRethrowError=!0,K._rethrowError=p)}},rethrowCaughtError:function(){return db.apply(K,arguments)},hasCaughtError:function(){return K._hasCaughtError},clearCaughtError:function(){if(K._hasCaughtError){var a=K._caughtError;K._caughtError=null;K._hasCaughtError=!1;return a}w(\"198\")}};\nfunction cb(a,b,c,d,e,f,g,h,k){K._hasCaughtError=!1;K._caughtError=null;var p=Array.prototype.slice.call(arguments,3);try{b.apply(c,p)}catch(x){K._caughtError=x,K._hasCaughtError=!0}}function db(){if(K._hasRethrowError){var a=K._rethrowError;K._rethrowError=null;K._hasRethrowError=!1;throw a;}}var eb=K,fb;function gb(a,b,c,d){b=a.type||\"unknown-event\";a.currentTarget=hb.getNodeFromInstance(d);eb.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}\nvar hb={isEndish:function(a){return\"topMouseUp\"===a||\"topTouchEnd\"===a||\"topTouchCancel\"===a},isMoveish:function(a){return\"topMouseMove\"===a||\"topTouchMove\"===a},isStartish:function(a){return\"topMouseDown\"===a||\"topTouchStart\"===a},executeDirectDispatch:function(a){var b=a._dispatchListeners,c=a._dispatchInstances;Array.isArray(b)?w(\"103\"):void 0;a.currentTarget=b?hb.getNodeFromInstance(c):null;b=b?b(a):null;a.currentTarget=null;a._dispatchListeners=null;a._dispatchInstances=null;return b},executeDispatchesInOrder:function(a,\nb){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;ewb.length&&wb.push(a)}}}},L=yb;function Cb(a,b){null==b?w(\"30\"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}\nfunction Db(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var Eb=null;function Fb(a,b){a&&(ib.executeDispatchesInOrder(a,b),a.isPersistent()||a.constructor.release(a))}function Gb(a){return Fb(a,!0)}function Hb(a){return Fb(a,!1)}\nfunction Ib(a,b,c){switch(a){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":return!(!c.disabled||\"button\"!==b&&\"input\"!==b&&\"select\"!==b&&\"textarea\"!==b);default:return!1}}\nvar Jb={injection:{injectEventPluginOrder:sa.injectEventPluginOrder,injectEventPluginsByName:sa.injectEventPluginsByName},getListener:function(a,b){if(\"number\"===typeof a.tag){var c=a.stateNode;if(!c)return null;var d=ib.getFiberCurrentPropsFromNode(c);if(!d)return null;c=d[b];if(Ib(b,a.type,d))return null}else{d=a._currentElement;if(\"string\"===typeof d||\"number\"===typeof d||!a._rootNodeID)return null;a=d.props;c=a[b];if(Ib(b,d.type,a))return null}c&&\"function\"!==typeof c?w(\"231\",b,typeof c):void 0;\nreturn c},extractEvents:function(a,b,c,d){for(var e,f=sa.plugins,g=0;gc||d.hasOverloadedBooleanValue&&!1===c?gc.deleteValueForProperty(a,\nb):d.mustUseProperty?a[d.propertyName]=c:(b=d.attributeName,(e=d.attributeNamespace)?a.setAttributeNS(e,b,\"\"+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&!0===c?a.setAttribute(b,\"\"):a.setAttribute(b,\"\"+c))}else gc.setValueForAttribute(a,b,A.shouldSetAttribute(b,c)?c:null)},setValueForAttribute:function(a,b,c){fc(b)&&(null==c?a.removeAttribute(b):a.setAttribute(b,\"\"+c))},deleteValueForAttribute:function(a,b){a.removeAttribute(b)},deleteValueForProperty:function(a,b){var c=A.getPropertyInfo(b);\nc?(b=c.mutationMethod)?b(a,void 0):c.mustUseProperty?a[c.propertyName]=c.hasBooleanValue?!1:\"\":a.removeAttribute(c.attributeName):a.removeAttribute(b)}},hc=gc,ic=Qa.ReactDebugCurrentFrame;function jc(){return null}\nvar kc={current:null,phase:null,resetCurrentFiber:function(){ic.getCurrentStack=null;kc.current=null;kc.phase=null},setCurrentFiber:function(a,b){ic.getCurrentStack=jc;kc.current=a;kc.phase=b},getCurrentFiberOwnerName:function(){return null},getCurrentFiberStackAddendum:jc},lc=kc,mc={getHostProps:function(a,b){var c=b.value,d=b.checked;return n({type:void 0,step:void 0,min:void 0,max:void 0},b,{defaultChecked:void 0,defaultValue:void 0,value:null!=c?c:a._wrapperState.initialValue,checked:null!=d?\nd:a._wrapperState.initialChecked})},initWrapperState:function(a,b){var c=b.defaultValue;a._wrapperState={initialChecked:null!=b.checked?b.checked:b.defaultChecked,initialValue:null!=b.value?b.value:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}},updateWrapper:function(a,b){var c=b.checked;null!=c&&hc.setValueForProperty(a,\"checked\",c||!1);c=b.value;if(null!=c)if(0===c&&\"\"===a.value)a.value=\"0\";else if(\"number\"===b.type){if(b=parseFloat(a.value)||0,c!=b||c==b&&a.value!=\nc)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else null==b.value&&null!=b.defaultValue&&a.defaultValue!==\"\"+b.defaultValue&&(a.defaultValue=\"\"+b.defaultValue),null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)},postMountWrapper:function(a,b){switch(b.type){case \"submit\":case \"reset\":break;case \"color\":case \"date\":case \"datetime\":case \"datetime-local\":case \"month\":case \"time\":case \"week\":a.value=\"\";a.value=a.defaultValue;break;default:a.value=a.value}b=a.name;\"\"!==\nb&&(a.name=\"\");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;\"\"!==b&&(a.name=b)},restoreControlledState:function(a,b){mc.updateWrapper(a,b);var c=b.name;if(\"radio\"===b.type&&null!=c){for(b=a;b.parentNode;)b=b.parentNode;c=b.querySelectorAll(\"input[name\\x3d\"+JSON.stringify(\"\"+c)+'][type\\x3d\"radio\"]');for(b=0;b=b.length?void 0:w(\"93\"),b=b[0]),c=\"\"+b),null==c&&(c=\"\"),d=c);a._wrapperState={initialValue:\"\"+d}},updateWrapper:function(a,b){var c=b.value;null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)},postMountWrapper:function(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)},restoreControlledState:function(a,b){vc.updateWrapper(a,b)}},wc=vc,xc=n({menuitem:!0},{area:!0,\nbase:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function yc(a,b){b&&(xc[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?w(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?w(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:w(\"61\")),null!=b.style&&\"object\"!==typeof b.style?w(\"62\",\"\"):void 0)}\nfunction zc(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ac(a){var b=zc(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"function\"===typeof c.get&&\"function\"===typeof c.set)return Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:!0,get:function(){return c.get.call(this)},set:function(a){d=\"\"+a;c.set.call(this,a)}}),{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=null;delete a[b]}}}\nvar Bc={_getTrackerFromNode:function(a){return a._valueTracker},track:function(a){a._valueTracker||(a._valueTracker=Ac(a))},updateValueIfChanged:function(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=zc(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1},stopTracking:function(a){(a=a._valueTracker)&&a.stopTracking()}};\nfunction Cc(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nvar Dc=ka.Namespaces,Ec,Fc=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Dc.svg||\"innerHTML\"in a)a.innerHTML=b;else for(Ec=Ec||document.createElement(\"div\"),Ec.innerHTML=\"\\x3csvg\\x3e\"+b+\"\\x3c/svg\\x3e\",b=Ec.firstChild;b.firstChild;)a.appendChild(b.firstChild)}),Gc=/[\"'&<>]/,Hc=F.TEXT_NODE;\nfunction Ic(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&c.nodeType===Hc){c.nodeValue=b;return}}a.textContent=b}\nl.canUseDOM&&(\"textContent\"in document.documentElement||(Ic=function(a,b){if(a.nodeType===Hc)a.nodeValue=b;else{if(\"boolean\"===typeof b||\"number\"===typeof b)b=\"\"+b;else{b=\"\"+b;var c=Gc.exec(b);if(c){var d=\"\",e,f=0;for(e=c.index;e\nb&&(b=8),$c=b=od(a.last.priorityLevel,b))c=a.last;else for(a=a.first;null!==a&&0>=od(a.priorityLevel,b);)c=a,a=a.next;return c}\nfunction sd(a,b){var c=a.alternate,d=a.updateQueue;null===d&&(d=a.updateQueue=pd());null!==c?(a=c.updateQueue,null===a&&(a=c.updateQueue=pd())):a=null;md=d;nd=a!==d?a:null;var e=md;c=nd;var f=rd(e,b),g=null!==f?f.next:e.first;if(null===c)return qd(e,b,f,g),null;d=rd(c,b);a=null!==d?d.next:c.first;qd(e,b,f,g);if(g===a&&null!==g||f===d&&null!==f)return null===d&&(c.first=b),null===a&&(c.last=null),null;b={priorityLevel:b.priorityLevel,partialState:b.partialState,callback:b.callback,isReplace:b.isReplace,\nisForced:b.isForced,isTopLevelUnmount:b.isTopLevelUnmount,next:null};qd(c,b,d,a);return b}function td(a,b,c,d){a=a.partialState;return\"function\"===typeof a?a.call(b,c,d):a}\nvar ud={addUpdate:function(a,b,c,d){sd(a,{priorityLevel:d,partialState:b,callback:c,isReplace:!1,isForced:!1,isTopLevelUnmount:!1,next:null})},addReplaceUpdate:function(a,b,c,d){sd(a,{priorityLevel:d,partialState:b,callback:c,isReplace:!0,isForced:!1,isTopLevelUnmount:!1,next:null})},addForceUpdate:function(a,b,c){sd(a,{priorityLevel:c,partialState:null,callback:b,isReplace:!1,isForced:!0,isTopLevelUnmount:!1,next:null})},getUpdatePriority:function(a){var b=a.updateQueue;return null===b||a.tag!==\njd&&a.tag!==kd?gd:null!==b.first?b.first.priorityLevel:gd},addTopLevelUpdate:function(a,b,c,d){var e=null===b.element;b={priorityLevel:d,partialState:b,callback:c,isReplace:!1,isForced:!1,isTopLevelUnmount:e,next:null};a=sd(a,b);e&&(e=md,c=nd,null!==e&&null!==b.next&&(b.next=null,e.last=b),null!==c&&null!==a&&null!==a.next&&(a.next=null,c.last=b))},beginUpdateQueue:function(a,b,c,d,e,f,g){null!==a&&a.updateQueue===c&&(c=b.updateQueue={first:c.first,last:c.last,callbackList:null,hasForceUpdate:!1});\na=c.callbackList;for(var h=c.hasForceUpdate,k=!0,p=c.first;null!==p&&0>=od(p.priorityLevel,g);){c.first=p.next;null===c.first&&(c.last=null);var x;if(p.isReplace)e=td(p,d,e,f),k=!0;else if(x=td(p,d,e,f))e=k?n({},e,x):n(e,x),k=!1;p.isForced&&(h=!0);null===p.callback||p.isTopLevelUnmount&&null!==p.next||(a=null!==a?a:[],a.push(p.callback),b.effectTag|=fd);p=p.next}c.callbackList=a;c.hasForceUpdate=h;null!==c.first||null!==a||h||(b.updateQueue=null);return e},commitCallbacks:function(a,b,c){a=b.callbackList;\nif(null!==a)for(b.callbackList=null,b=0;bwd||(a.current=vd[wd],vd[wd]=null,wd--)},push:function(a,b){wd++;vd[wd]=a.current;a.current=b},reset:function(){for(;-1a)?a:b}},ee=de.createHostRootFiber,fe=E.IndeterminateComponent,ge=E.FunctionalComponent,he=E.ClassComponent,\nie=E.HostComponent,je,ke;\"function\"===typeof Symbol&&Symbol[\"for\"]?(je=Symbol[\"for\"](\"react.coroutine\"),ke=Symbol[\"for\"](\"react.yield\")):(je=60104,ke=60105);\nvar le={createCoroutine:function(a,b,c){var d=3r?(p=q,q=null):p=q.sibling;var v=H(a,q,h[r],k);if(null===v){null===q&&(q=p);break}b&&q&&null===v.alternate&&c(a,q);f=g(v,f,r);null===t?m=v:t.sibling=v;t=v;q=p}if(r===h.length)return d(a,q),m;if(null===q){for(;rk?(p=q,q=null):p=q.sibling;var V=H(a,q,v.value,r);if(null===V){q||(q=p);break}b&&\nq&&null===V.alternate&&c(a,q);f=g(V,f,k);null===t?m=V:t.sibling=V;t=V;q=p}if(v.done)return d(a,q),m;if(null===q){for(;!v.done;k++,v=h.next())v=B(a,v.value,r),null!==v&&(f=g(v,f,k),null===t?m=v:t.sibling=v,t=v);return m}for(q=e(a,q);!v.done;k++,v=h.next())if(v=C(q,a,k,v.value,r),null!==v){if(b&&null!==v.alternate)q[\"delete\"](null===v.key?k:v.key);f=g(v,f,k);null===t?m=v:t.sibling=v;t=v}b&&q.forEach(function(b){return c(a,b)});return m}return function(a,b,e,g){var m=\"object\"===typeof e&&null!==e;if(m)switch(e.$$typeof){case Ke:a:{var C=\ne.key;for(m=b;null!==m;){if(m.key===C)if(m.type===e.type){d(a,m.sibling);b=f(m,g);b.ref=Me(m,e);b.pendingProps=e.props;b[\"return\"]=a;a=b;break a}else{d(a,m);break}else c(a,m);m=m.sibling}g=se(e,a.internalContextTag,g);g.ref=Me(b,e);g[\"return\"]=a;a=g}return h(a);case oe:a:{for(m=e.key;null!==b;){if(b.key===m)if(b.tag===De){d(a,b.sibling);b=f(b,g);b.pendingProps=e;b[\"return\"]=a;a=b;break a}else{d(a,b);break}else c(a,b);b=b.sibling}e=ve(e,a.internalContextTag,g);e[\"return\"]=a;a=e}return h(a);case pe:a:{if(null!==\nb)if(b.tag===Ee){d(a,b.sibling);b=f(b,g);b.type=e.value;b[\"return\"]=a;a=b;break a}else d(a,b);b=we(e,a.internalContextTag,g);b.type=e.value;b[\"return\"]=a;a=b}return h(a);case qe:a:{for(m=e.key;null!==b;){if(b.key===m)if(b.tag===Ce&&b.stateNode.containerInfo===e.containerInfo&&b.stateNode.implementation===e.implementation){d(a,b.sibling);b=f(b,g);b.pendingProps=e.children||[];b[\"return\"]=a;a=b;break a}else{d(a,b);break}else c(a,b);b=b.sibling}e=xe(e,a.internalContextTag,g);e[\"return\"]=a;a=e}return h(a)}if(\"string\"===\ntypeof e||\"number\"===typeof e)return e=\"\"+e,null!==b&&b.tag===Be?(d(a,b.sibling),b=f(b,g),b.pendingProps=e,b[\"return\"]=a,a=b):(d(a,b),e=ue(e,a.internalContextTag,g),e[\"return\"]=a,a=e),h(a);if(ye(e))return Ca(a,b,e,g);if(Le(e))return r(a,b,e,g);m&&Ne(a,e);if(\"undefined\"===typeof e)switch(a.tag){case Ae:case ze:e=a.type,w(\"152\",e.displayName||e.name||\"Component\")}return d(a,b)}}\nvar Pe=Oe(!0,!0),Qe=Oe(!1,!0),Re=Oe(!1,!1),Se={reconcileChildFibers:Pe,reconcileChildFibersInPlace:Qe,mountChildFibersInPlace:Re,cloneChildFibers:function(a,b){null!==a&&b.child!==a.child?w(\"153\"):void 0;if(null!==b.child){a=b.child;var c=re(a,a.pendingWorkPriority);c.pendingProps=a.pendingProps;b.child=c;for(c[\"return\"]=b;null!==a.sibling;)a=a.sibling,c=c.sibling=re(a,a.pendingWorkPriority),c.pendingProps=a.pendingProps,c[\"return\"]=b;c.sibling=null}}},Te=J.Update,Ue=Pd.AsyncUpdates,Ve=R.cacheContext,\nWe=R.getMaskedContext,Xe=R.getUnmaskedContext,Ye=R.isContextConsumer,Ze=ud.addUpdate,$e=ud.addReplaceUpdate,af=ud.addForceUpdate,bf=ud.beginUpdateQueue,cf=R.hasContextChanged,df=bb.isMounted;\nfunction ef(a,b,c,d){function e(a,b){b.updater=f;a.stateNode=b;Pa.set(b,a)}var f={isMounted:df,enqueueSetState:function(c,d,e){c=Pa.get(c);var f=b(c,!1);Ze(c,d,void 0===e?null:e,f);a(c,f)},enqueueReplaceState:function(c,d,e){c=Pa.get(c);var f=b(c,!1);$e(c,d,void 0===e?null:e,f);a(c,f)},enqueueForceUpdate:function(c,d){c=Pa.get(c);var e=b(c,!1);af(c,void 0===d?null:d,e);a(c,e)}};return{adoptClassInstance:e,constructClassInstance:function(a,b){var c=a.type,d=Xe(a),f=Ye(a),g=f?We(a,d):da;b=new c(b,g);\ne(a,b);f&&Ve(a,d,g);return b},mountClassInstance:function(a,b){var c=a.alternate,d=a.stateNode,e=d.state||null,g=a.pendingProps;g?void 0:w(\"158\");var h=Xe(a);d.props=g;d.state=e;d.refs=da;d.context=We(a,h);ed.enableAsyncSubtreeAPI&&null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent&&(a.internalContextTag|=Ue);\"function\"===typeof d.componentWillMount&&(h=d.state,d.componentWillMount(),h!==d.state&&f.enqueueReplaceState(d,d.state,null),h=a.updateQueue,null!==\nh&&(d.state=bf(c,a,h,d,e,g,b)));\"function\"===typeof d.componentDidMount&&(a.effectTag|=Te)},updateClassInstance:function(a,b,e){var g=b.stateNode;g.props=b.memoizedProps;g.state=b.memoizedState;var h=b.memoizedProps,k=b.pendingProps;k||(k=h,null==k?w(\"159\"):void 0);var D=g.context,y=Xe(b);y=We(b,y);\"function\"!==typeof g.componentWillReceiveProps||h===k&&D===y||(D=g.state,g.componentWillReceiveProps(k,y),g.state!==D&&f.enqueueReplaceState(g,g.state,null));D=b.memoizedState;e=null!==b.updateQueue?bf(a,\nb,b.updateQueue,g,D,k,e):D;if(!(h!==k||D!==e||cf()||null!==b.updateQueue&&b.updateQueue.hasForceUpdate))return\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&D===a.memoizedState||(b.effectTag|=Te),!1;var B=k;if(null===h||null!==b.updateQueue&&b.updateQueue.hasForceUpdate)B=!0;else{var H=b.stateNode,C=b.type;B=\"function\"===typeof H.shouldComponentUpdate?H.shouldComponentUpdate(B,e,y):C.prototype&&C.prototype.isPureReactComponent?!ea(h,B)||!ea(D,e):!0}B?(\"function\"===typeof g.componentWillUpdate&&\ng.componentWillUpdate(k,e,y),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=Te)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&D===a.memoizedState||(b.effectTag|=Te),c(b,k),d(b,e));g.props=k;g.state=e;g.context=y;return B}}}\nvar ff=Se.mountChildFibersInPlace,gf=Se.reconcileChildFibers,hf=Se.reconcileChildFibersInPlace,jf=Se.cloneChildFibers,kf=ud.beginUpdateQueue,lf=R.getMaskedContext,mf=R.getUnmaskedContext,nf=R.hasContextChanged,of=R.pushContextProvider,pf=R.pushTopLevelContextObject,qf=R.invalidateContextProvider,rf=E.IndeterminateComponent,sf=E.FunctionalComponent,tf=E.ClassComponent,uf=E.HostRoot,wf=E.HostComponent,xf=E.HostText,yf=E.HostPortal,zf=E.CoroutineComponent,Af=E.CoroutineHandlerPhase,Bf=E.YieldComponent,\nCf=E.Fragment,Df=Q.NoWork,Ef=Q.OffscreenPriority,Ff=J.PerformedWork,Gf=J.Placement,Hf=J.ContentReset,If=J.Err,Jf=J.Ref,Kf=Qa.ReactCurrentOwner;\nfunction Lf(a,b,c,d,e){function f(a,b,c){g(a,b,c,b.pendingWorkPriority)}function g(a,b,c,d){b.child=null===a?ff(b,b.child,c,d):a.child===b.child?gf(b,b.child,c,d):hf(b,b.child,c,d)}function h(a,b){var c=b.ref;null===c||a&&a.ref===c||(b.effectTag|=Jf)}function k(a,b,c,d){h(a,b);if(!c)return d&&qf(b,!1),x(a,b);c=b.stateNode;Kf.current=b;var e=c.render();b.effectTag|=Ff;f(a,b,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&qf(b,!0);return b.child}function p(a){var b=a.stateNode;b.pendingContext?\npf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&pf(a,b.context,!1);C(a,b.containerInfo)}function x(a,b){jf(a,b);return b.child}function S(a,b){switch(b.tag){case uf:p(b);break;case tf:of(b);break;case yf:C(b,b.stateNode.containerInfo)}return null}var D=a.shouldSetTextContent,y=a.useSyncScheduling,B=a.shouldDeprioritizeSubtree,H=b.pushHostContext,C=b.pushHostContainer,Ca=c.enterHydrationState,r=c.resetHydrationState,m=c.tryToClaimNextHydratableInstance;a=ef(d,e,function(a,b){a.memoizedProps=\nb},function(a,b){a.memoizedState=b});var t=a.adoptClassInstance,v=a.constructClassInstance,V=a.mountClassInstance,ld=a.updateClassInstance;return{beginWork:function(a,b,c){if(b.pendingWorkPriority===Df||b.pendingWorkPriority>c)return S(a,b);switch(b.tag){case rf:null!==a?w(\"155\"):void 0;var d=b.type,e=b.pendingProps,g=mf(b);g=lf(b,g);d=d(e,g);b.effectTag|=Ff;\"object\"===typeof d&&null!==d&&\"function\"===typeof d.render?(b.tag=tf,e=of(b),t(b,d),V(b,c),b=k(a,b,!0,e)):(b.tag=sf,f(a,b,d),b.memoizedProps=\ne,b=b.child);return b;case sf:a:{e=b.type;c=b.pendingProps;d=b.memoizedProps;if(nf())null===c&&(c=d);else if(null===c||d===c){b=x(a,b);break a}d=mf(b);d=lf(b,d);e=e(c,d);b.effectTag|=Ff;f(a,b,e);b.memoizedProps=c;b=b.child}return b;case tf:return e=of(b),d=void 0,null===a?b.stateNode?w(\"153\"):(v(b,b.pendingProps),V(b,c),d=!0):d=ld(a,b,c),k(a,b,d,e);case uf:return p(b),d=b.updateQueue,null!==d?(e=b.memoizedState,d=kf(a,b,d,null,e,null,c),e===d?(r(),b=x(a,b)):(e=d.element,null!==a&&null!==a.child||\n!Ca(b)?(r(),f(a,b,e)):(b.effectTag|=Gf,b.child=ff(b,b.child,e,c)),b.memoizedState=d,b=b.child)):(r(),b=x(a,b)),b;case wf:H(b);null===a&&m(b);e=b.type;var q=b.memoizedProps;d=b.pendingProps;null===d&&(d=q,null===d?w(\"154\"):void 0);g=null!==a?a.memoizedProps:null;nf()||null!==d&&q!==d?(q=d.children,D(e,d)?q=null:g&&D(e,g)&&(b.effectTag|=Hf),h(a,b),c!==Ef&&!y&&B(e,d)?(b.pendingWorkPriority=Ef,b=null):(f(a,b,q),b.memoizedProps=d,b=b.child)):b=x(a,b);return b;case xf:return null===a&&m(b),a=b.pendingProps,\nnull===a&&(a=b.memoizedProps),b.memoizedProps=a,null;case Af:b.tag=zf;case zf:c=b.pendingProps;if(nf())null===c&&(c=a&&a.memoizedProps,null===c?w(\"154\"):void 0);else if(null===c||b.memoizedProps===c)c=b.memoizedProps;e=c.children;d=b.pendingWorkPriority;b.stateNode=null===a?ff(b,b.stateNode,e,d):a.child===b.child?gf(b,b.stateNode,e,d):hf(b,b.stateNode,e,d);b.memoizedProps=c;return b.stateNode;case Bf:return null;case yf:a:{C(b,b.stateNode.containerInfo);c=b.pendingWorkPriority;e=b.pendingProps;if(nf())null===\ne&&(e=a&&a.memoizedProps,null==e?w(\"154\"):void 0);else if(null===e||b.memoizedProps===e){b=x(a,b);break a}null===a?b.child=hf(b,b.child,e,c):f(a,b,e);b.memoizedProps=e;b=b.child}return b;case Cf:a:{c=b.pendingProps;if(nf())null===c&&(c=b.memoizedProps);else if(null===c||b.memoizedProps===c){b=x(a,b);break a}f(a,b,c);b.memoizedProps=c;b=b.child}return b;default:w(\"156\")}},beginFailedWork:function(a,b,c){switch(b.tag){case tf:of(b);break;case uf:p(b);break;default:w(\"157\")}b.effectTag|=If;null===a?\nb.child=null:b.child!==a.child&&(b.child=a.child);if(b.pendingWorkPriority===Df||b.pendingWorkPriority>c)return S(a,b);b.firstEffect=null;b.lastEffect=null;g(a,b,null,c);b.tag===tf&&(a=b.stateNode,b.memoizedProps=a.props,b.memoizedState=a.state);return b.child}}}\nvar Mf=Se.reconcileChildFibers,Nf=R.popContextProvider,Of=R.popTopLevelContextObject,Pf=E.IndeterminateComponent,Qf=E.FunctionalComponent,Rf=E.ClassComponent,Sf=E.HostRoot,Tf=E.HostComponent,Uf=E.HostText,Vf=E.HostPortal,Wf=E.CoroutineComponent,Xf=E.CoroutineHandlerPhase,Yf=E.YieldComponent,Zf=E.Fragment,ag=J.Placement,bg=J.Ref,cg=J.Update,dg=Q.OffscreenPriority;\nfunction eg(a,b,c){var d=a.createInstance,e=a.createTextInstance,f=a.appendInitialChild,g=a.finalizeInitialChildren,h=a.prepareUpdate,k=b.getRootHostContainer,p=b.popHostContext,x=b.getHostContext,S=b.popHostContainer,D=c.prepareToHydrateHostInstance,y=c.prepareToHydrateHostTextInstance,B=c.popHydrationState;return{completeWork:function(a,b,c){var r=b.pendingProps;if(null===r)r=b.memoizedProps;else if(b.pendingWorkPriority!==dg||c===dg)b.pendingProps=null;switch(b.tag){case Qf:return null;case Rf:return Nf(b),\nnull;case Sf:S(b);Of(b);r=b.stateNode;r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null);if(null===a||null===a.child)B(b),b.effectTag&=~ag;return null;case Tf:p(b);c=k();var m=b.type;if(null!==a&&null!=b.stateNode){var t=a.memoizedProps,C=b.stateNode,V=x();r=h(C,m,t,r,c,V);if(b.updateQueue=r)b.effectTag|=cg;a.ref!==b.ref&&(b.effectTag|=bg)}else{if(!r)return null===b.stateNode?w(\"166\"):void 0,null;a=x();if(B(b))D(b,c,a)&&(b.effectTag|=cg);else{a=d(m,r,c,a,b);a:for(t=b.child;null!==\nt;){if(t.tag===Tf||t.tag===Uf)f(a,t.stateNode);else if(t.tag!==Vf&&null!==t.child){t=t.child;continue}if(t===b)break a;for(;null===t.sibling;){if(null===t[\"return\"]||t[\"return\"]===b)break a;t=t[\"return\"]}t=t.sibling}g(a,m,r,c)&&(b.effectTag|=cg);b.stateNode=a}null!==b.ref&&(b.effectTag|=bg)}return null;case Uf:if(a&&null!=b.stateNode)a.memoizedProps!==r&&(b.effectTag|=cg);else{if(\"string\"!==typeof r)return null===b.stateNode?w(\"166\"):void 0,null;a=k();c=x();B(b)?y(b)&&(b.effectTag|=cg):b.stateNode=\ne(r,a,c,b)}return null;case Wf:(r=b.memoizedProps)?void 0:w(\"165\");b.tag=Xf;c=[];a:for((m=b.stateNode)&&(m[\"return\"]=b);null!==m;){if(m.tag===Tf||m.tag===Uf||m.tag===Vf)w(\"164\");else if(m.tag===Yf)c.push(m.type);else if(null!==m.child){m.child[\"return\"]=m;m=m.child;continue}for(;null===m.sibling;){if(null===m[\"return\"]||m[\"return\"]===b)break a;m=m[\"return\"]}m.sibling[\"return\"]=m[\"return\"];m=m.sibling}m=r.handler;r=m(r.props,c);b.child=Mf(b,null!==a?a.child:null,r,b.pendingWorkPriority);return b.child;\ncase Xf:return b.tag=Wf,null;case Yf:return null;case Zf:return null;case Vf:return b.effectTag|=cg,S(b),null;case Pf:w(\"167\");default:w(\"156\")}}}}var fg=null,gg=null;function hg(a){return function(b){try{return a(b)}catch(c){}}}\nvar ig={injectInternals:function(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!b.supportsFiber)return!0;try{var c=b.inject(a);fg=hg(function(a){return b.onCommitFiberRoot(c,a)});gg=hg(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0},onCommitRoot:function(a){\"function\"===typeof fg&&fg(a)},onCommitUnmount:function(a){\"function\"===typeof gg&&gg(a)}},jg=E.ClassComponent,kg=E.HostRoot,lg=E.HostComponent,mg=E.HostText,ng=\nE.HostPortal,og=E.CoroutineComponent,pg=ud.commitCallbacks,qg=ig.onCommitUnmount,rg=J.Placement,sg=J.Update,tg=J.Callback,ug=J.ContentReset;\nfunction vg(a,b){function c(a){var c=a.ref;if(null!==c)try{c(null)}catch(t){b(a,t)}}function d(a){return a.tag===lg||a.tag===kg||a.tag===ng}function e(a){for(var b=a;;)if(g(b),null!==b.child&&b.tag!==ng)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||b[\"return\"]===a)return;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}function f(a){for(var b=a,c=!1,d=void 0,f=void 0;;){if(!c){c=b[\"return\"];a:for(;;){null===c?w(\"160\"):void 0;switch(c.tag){case lg:d=\nc.stateNode;f=!1;break a;case kg:d=c.stateNode.containerInfo;f=!0;break a;case ng:d=c.stateNode.containerInfo;f=!0;break a}c=c[\"return\"]}c=!0}if(b.tag===lg||b.tag===mg)e(b),f?C(d,b.stateNode):H(d,b.stateNode);else if(b.tag===ng?d=b.stateNode.containerInfo:g(b),null!==b.child){b.child[\"return\"]=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||b[\"return\"]===a)return;b=b[\"return\"];b.tag===ng&&(c=!1)}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}function g(a){\"function\"===\ntypeof qg&&qg(a);switch(a.tag){case jg:c(a);var d=a.stateNode;if(\"function\"===typeof d.componentWillUnmount)try{d.props=a.memoizedProps,d.state=a.memoizedState,d.componentWillUnmount()}catch(t){b(a,t)}break;case lg:c(a);break;case og:e(a.stateNode);break;case ng:f(a)}}var h=a.commitMount,k=a.commitUpdate,p=a.resetTextContent,x=a.commitTextUpdate,S=a.appendChild,D=a.appendChildToContainer,y=a.insertBefore,B=a.insertInContainerBefore,H=a.removeChild,C=a.removeChildFromContainer,Ca=a.getPublicInstance;\nreturn{commitPlacement:function(a){a:{for(var b=a[\"return\"];null!==b;){if(d(b)){var c=b;break a}b=b[\"return\"]}w(\"160\");c=void 0}var e=b=void 0;switch(c.tag){case lg:b=c.stateNode;e=!1;break;case kg:b=c.stateNode.containerInfo;e=!0;break;case ng:b=c.stateNode.containerInfo;e=!0;break;default:w(\"161\")}c.effectTag&ug&&(p(b),c.effectTag&=~ug);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c[\"return\"]||d(c[\"return\"])){c=null;break a}c=c[\"return\"]}c.sibling[\"return\"]=c[\"return\"];for(c=c.sibling;c.tag!==\nlg&&c.tag!==mg;){if(c.effectTag&rg)continue b;if(null===c.child||c.tag===ng)continue b;else c.child[\"return\"]=c,c=c.child}if(!(c.effectTag&rg)){c=c.stateNode;break a}}for(var f=a;;){if(f.tag===lg||f.tag===mg)c?e?B(b,f.stateNode,c):y(b,f.stateNode,c):e?D(b,f.stateNode):S(b,f.stateNode);else if(f.tag!==ng&&null!==f.child){f.child[\"return\"]=f;f=f.child;continue}if(f===a)break;for(;null===f.sibling;){if(null===f[\"return\"]||f[\"return\"]===a)return;f=f[\"return\"]}f.sibling[\"return\"]=f[\"return\"];f=f.sibling}},\ncommitDeletion:function(a){f(a);a[\"return\"]=null;a.child=null;a.alternate&&(a.alternate.child=null,a.alternate[\"return\"]=null)},commitWork:function(a,b){switch(b.tag){case jg:break;case lg:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&k(c,f,e,a,d,b)}break;case mg:null===b.stateNode?w(\"162\"):void 0;c=b.memoizedProps;x(b.stateNode,null!==a?a.memoizedProps:c,c);break;case kg:break;case ng:break;default:w(\"163\")}},\ncommitLifeCycles:function(a,b){switch(b.tag){case jg:var c=b.stateNode;if(b.effectTag&sg)if(null===a)c.props=b.memoizedProps,c.state=b.memoizedState,c.componentDidMount();else{var d=a.memoizedProps;a=a.memoizedState;c.props=b.memoizedProps;c.state=b.memoizedState;c.componentDidUpdate(d,a)}b.effectTag&tg&&null!==b.updateQueue&&pg(b,b.updateQueue,c);break;case kg:a=b.updateQueue;null!==a&&pg(b,a,b.child&&b.child.stateNode);break;case lg:c=b.stateNode;null===a&&b.effectTag&sg&&h(c,b.type,b.memoizedProps,\nb);break;case mg:break;case ng:break;default:w(\"163\")}},commitAttachRef:function(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case lg:b(Ca(c));break;default:b(c)}}},commitDetachRef:function(a){a=a.ref;null!==a&&a(null)}}}var wg=xd.createCursor,xg=xd.pop,yg=xd.push,zg={};\nfunction Ag(a){function b(a){a===zg?w(\"174\"):void 0;return a}var c=a.getChildHostContext,d=a.getRootHostContext,e=wg(zg),f=wg(zg),g=wg(zg);return{getHostContext:function(){return b(e.current)},getRootHostContainer:function(){return b(g.current)},popHostContainer:function(a){xg(e,a);xg(f,a);xg(g,a)},popHostContext:function(a){f.current===a&&(xg(e,a),xg(f,a))},pushHostContainer:function(a,b){yg(g,b,a);b=d(b);yg(f,a,a);yg(e,b,a)},pushHostContext:function(a){var d=b(g.current),h=b(e.current);d=c(h,a.type,\nd);h!==d&&(yg(f,a,a),yg(e,d,a))},resetHostContainer:function(){e.current=zg;g.current=zg}}}var Bg=E.HostComponent,Cg=E.HostText,Dg=E.HostRoot,Eg=J.Deletion,Fg=J.Placement,Gg=de.createFiberFromHostInstanceForDeletion;\nfunction Hg(a){function b(a,b){var c=Gg();c.stateNode=b;c[\"return\"]=a;c.effectTag=Eg;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function c(a,b){switch(a.tag){case Bg:return f(b,a.type,a.pendingProps);case Cg:return g(b,a.pendingProps);default:return!1}}function d(a){for(a=a[\"return\"];null!==a&&a.tag!==Bg&&a.tag!==Dg;)a=a[\"return\"];y=a}var e=a.shouldSetTextContent,f=a.canHydrateInstance,g=a.canHydrateTextInstance,h=a.getNextHydratableSibling,k=a.getFirstHydratableChild,\np=a.hydrateInstance,x=a.hydrateTextInstance,S=a.didNotHydrateInstance,D=a.didNotFindHydratableInstance;a=a.didNotFindHydratableTextInstance;if(!(f&&g&&h&&k&&p&&x&&S&&D&&a))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){w(\"175\")},prepareToHydrateHostTextInstance:function(){w(\"176\")},popHydrationState:function(){return!1}};var y=null,B=null,H=!1;return{enterHydrationState:function(a){B=\nk(a.stateNode.containerInfo);y=a;return H=!0},resetHydrationState:function(){B=y=null;H=!1},tryToClaimNextHydratableInstance:function(a){if(H){var d=B;if(d){if(!c(a,d)){d=h(d);if(!d||!c(a,d)){a.effectTag|=Fg;H=!1;y=a;return}b(y,B)}a.stateNode=d;y=a;B=k(d)}else a.effectTag|=Fg,H=!1,y=a}},prepareToHydrateHostInstance:function(a,b,c){b=p(a.stateNode,a.type,a.memoizedProps,b,c,a);a.updateQueue=b;return null!==b?!0:!1},prepareToHydrateHostTextInstance:function(a){return x(a.stateNode,a.memoizedProps,a)},\npopHydrationState:function(a){if(a!==y)return!1;if(!H)return d(a),H=!0,!1;var c=a.type;if(a.tag!==Bg||\"head\"!==c&&\"body\"!==c&&!e(c,a.memoizedProps))for(c=B;c;)b(a,c),c=h(c);d(a);B=y?h(a.stateNode):null;return!0}}}\nvar Ig=R.popContextProvider,Jg=xd.reset,Kg=Qa.ReactCurrentOwner,Lg=de.createWorkInProgress,Mg=de.largerPriority,Ng=ig.onCommitRoot,T=Q.NoWork,Og=Q.SynchronousPriority,U=Q.TaskPriority,Pg=Q.HighPriority,Qg=Q.LowPriority,Rg=Q.OffscreenPriority,Sg=Pd.AsyncUpdates,Tg=J.PerformedWork,Ug=J.Placement,Vg=J.Update,Wg=J.PlacementAndUpdate,Xg=J.Deletion,Yg=J.ContentReset,Zg=J.Callback,$g=J.Err,ah=J.Ref,bh=E.HostRoot,ch=E.HostComponent,dh=E.HostPortal,eh=E.ClassComponent,fh=ud.getUpdatePriority,gh=R.resetContext;\nfunction hh(a){function b(){for(;null!==ma&&ma.current.pendingWorkPriority===T;){ma.isScheduled=!1;var a=ma.nextScheduledRoot;ma.nextScheduledRoot=null;if(ma===zb)return zb=ma=null,z=T,null;ma=a}a=ma;for(var b=null,c=T;null!==a;)a.current.pendingWorkPriority!==T&&(c===T||c>a.current.pendingWorkPriority)&&(c=a.current.pendingWorkPriority,b=a),a=a.nextScheduledRoot;null!==b?(z=c,Jg(),gh(),t(),I=Lg(b.current,c),b!==nc&&(oc=0,nc=b)):(z=T,nc=I=null)}function c(c){Hd=!0;na=null;var d=c.stateNode;d.current===\nc?w(\"177\"):void 0;z!==Og&&z!==U||oc++;Kg.current=null;if(c.effectTag>Tg)if(null!==c.lastEffect){c.lastEffect.nextEffect=c;var e=c.firstEffect}else e=c;else e=c.firstEffect;Ui();for(u=e;null!==u;){var f=!1,g=void 0;try{for(;null!==u;){var h=u.effectTag;h&Yg&&a.resetTextContent(u.stateNode);if(h&ah){var k=u.alternate;null!==k&&Ph(k)}switch(h&~(Zg|$g|Yg|ah|Tg)){case Ug:q(u);u.effectTag&=~Ug;break;case Wg:q(u);u.effectTag&=~Ug;vf(u.alternate,u);break;case Vg:vf(u.alternate,u);break;case Xg:Id=!0,Mh(u),\nId=!1}u=u.nextEffect}}catch(Jd){f=!0,g=Jd}f&&(null===u?w(\"178\"):void 0,x(u,g),null!==u&&(u=u.nextEffect))}Vi();d.current=c;for(u=e;null!==u;){d=!1;e=void 0;try{for(;null!==u;){var Gd=u.effectTag;Gd&(Vg|Zg)&&Nh(u.alternate,u);Gd&ah&&Oh(u);if(Gd&$g)switch(f=u,g=void 0,null!==P&&(g=P.get(f),P[\"delete\"](f),null==g&&null!==f.alternate&&(f=f.alternate,g=P.get(f),P[\"delete\"](f))),null==g?w(\"184\"):void 0,f.tag){case eh:f.stateNode.componentDidCatch(g.error,{componentStack:g.componentStack});break;case bh:null===\nJa&&(Ja=g.error);break;default:w(\"157\")}var m=u.nextEffect;u.nextEffect=null;u=m}}catch(Jd){d=!0,e=Jd}d&&(null===u?w(\"178\"):void 0,x(u,e),null!==u&&(u=u.nextEffect))}Hd=!1;\"function\"===typeof Ng&&Ng(c.stateNode);va&&(va.forEach(H),va=null);b()}function d(a){for(;;){var b=Lh(a.alternate,a,z),c=a[\"return\"],d=a.sibling;var e=a;if(!(e.pendingWorkPriority!==T&&e.pendingWorkPriority>z)){for(var f=fh(e),g=e.child;null!==g;)f=Mg(f,g.pendingWorkPriority),g=g.sibling;e.pendingWorkPriority=f}if(null!==b)return b;\nnull!==c&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),a.effectTag>Tg&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;if(null!==c)a=c;else{na=a;break}}return null}function e(a){var b=V(a.alternate,a,z);null===b&&(b=d(a));Kg.current=null;return b}function f(a){var b=ld(a.alternate,a,z);null===b&&(b=d(a));Kg.current=null;return b}\nfunction g(a){p(Rg,a)}function h(){if(null!==P&&0a)){O=z;a:do{if(z<=U)for(;null!==I&&!(I=e(I),null===I&&(null===na?w(\"179\"):void 0,O=U,c(na),O=z,h(),z===T||z>a||z>U)););else if(null!==d)for(;null!==I&&!Ab;)if(1a||zU&&!Bb&&($f(g),Bb=!0);a=Ja;Ya=Ab=Da=!1;nc=Ka=P=Ja=null;oc=0;if(null!==a)throw a;}function x(a,b){var c=Kg.current=null,d=!1,e=!1,f=null;if(a.tag===bh)c=a,S(a)&&(Ya=!0);else for(var g=a[\"return\"];null!==g&&null===c;){g.tag===eh?\"function\"===typeof g.stateNode.componentDidCatch&&\n(d=!0,f=Ra(g),c=g,e=!0):g.tag===bh&&(c=g);if(S(g)){if(Id||null!==va&&(va.has(g)||null!==g.alternate&&va.has(g.alternate)))return null;c=null;e=!1}g=g[\"return\"]}if(null!==c){null===Ka&&(Ka=new Set);Ka.add(c);var h=\"\";g=a;do{a:switch(g.tag){case fe:case ge:case he:case ie:var k=g._debugOwner,m=g._debugSource;var p=Ra(g);var q=null;k&&(q=Ra(k));k=m;p=\"\\n in \"+(p||\"Unknown\")+(k?\" (at \"+k.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+k.lineNumber+\")\":q?\" (created by \"+q+\")\":\"\");break a;default:p=\"\"}h+=p;g=g[\"return\"]}while(g);\ng=h;a=Ra(a);null===P&&(P=new Map);b={componentName:a,componentStack:g,error:b,errorBoundary:d?c.stateNode:null,errorBoundaryFound:d,errorBoundaryName:f,willRetry:e};P.set(c,b);try{console.error(b.error)}catch(Wi){console.error(Wi)}Hd?(null===va&&(va=new Set),va.add(c)):H(c);return c}null===Ja&&(Ja=b);return null}function S(a){return null!==Ka&&(Ka.has(a)||null!==a.alternate&&Ka.has(a.alternate))}function D(a,b){return y(a,b,!1)}function y(a,b){oc>Xi&&(Ya=!0,w(\"185\"));!Da&&b<=z&&(I=null);for(var c=\n!0;null!==a&&c;){c=!1;if(a.pendingWorkPriority===T||a.pendingWorkPriority>b)c=!0,a.pendingWorkPriority=b;null!==a.alternate&&(a.alternate.pendingWorkPriority===T||a.alternate.pendingWorkPriority>b)&&(c=!0,a.alternate.pendingWorkPriority=b);if(null===a[\"return\"])if(a.tag===bh){var d=a.stateNode;b===T||d.isScheduled||(d.isScheduled=!0,zb?zb.nextScheduledRoot=d:ma=d,zb=d);if(!Da)switch(b){case Og:pc?p(Og,null):p(U,null);break;case U:W?void 0:w(\"186\");break;default:Bb||($f(g),Bb=!0)}}else break;a=a[\"return\"]}}\nfunction B(a,b){var c=O;c===T&&(c=!Yi||a.internalContextTag&Sg||b?Qg:Og);return c===Og&&(Da||W)?U:c}function H(a){y(a,U,!0)}var C=Ag(a),Ca=Hg(a),r=C.popHostContainer,m=C.popHostContext,t=C.resetHostContainer,v=Lf(a,C,Ca,D,B),V=v.beginWork,ld=v.beginFailedWork,Lh=eg(a,C,Ca).completeWork;C=vg(a,x);var q=C.commitPlacement,Mh=C.commitDeletion,vf=C.commitWork,Nh=C.commitLifeCycles,Oh=C.commitAttachRef,Ph=C.commitDetachRef,$f=a.scheduleDeferredCallback,Yi=a.useSyncScheduling,Ui=a.prepareForCommit,Vi=a.resetAfterCommit,\nO=T,Da=!1,Ab=!1,W=!1,pc=!1,I=null,z=T,u=null,na=null,ma=null,zb=null,Bb=!1,P=null,Ka=null,va=null,Ja=null,Ya=!1,Hd=!1,Id=!1,Xi=1E3,oc=0,nc=null;return{scheduleUpdate:D,getPriorityContext:B,batchedUpdates:function(a,b){var c=W;W=!0;try{return a(b)}finally{W=c,Da||W||p(U,null)}},unbatchedUpdates:function(a){var b=pc,c=W;pc=W;W=!1;try{return a()}finally{W=c,pc=b}},flushSync:function(a){var b=W,c=O;W=!0;O=Og;try{return a()}finally{W=b,O=c,Da?w(\"187\"):void 0,p(U,null)}},deferredUpdates:function(a){var b=\nO;O=Qg;try{return a()}finally{O=b}}}}function ih(){w(\"196\")}function jh(a){if(!a)return da;a=Pa.get(a);return\"number\"===typeof a.tag?ih(a):a._processChildContext(a._context)}jh._injectFiber=function(a){ih=a};var kh=ud.addTopLevelUpdate,lh=R.findCurrentUnmaskedContext,mh=R.isContextProvider,nh=R.processChildContext,oh=E.HostComponent,ph=bb.findCurrentHostFiber,qh=bb.findCurrentHostFiberWithNoPortals;jh._injectFiber(function(a){var b=lh(a);return mh(a)?nh(a,b,!1):b});var rh=F.TEXT_NODE;\nfunction sh(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function th(a,b){var c=sh(a);a=0;for(var d;c;){if(c.nodeType===rh){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=sh(c)}}var uh=null;function vh(){!uh&&l.canUseDOM&&(uh=\"textContent\"in document.documentElement?\"textContent\":\"innerText\");return uh}\nvar wh={getOffsets:function(a){var b=window.getSelection&&window.getSelection();if(!b||0===b.rangeCount)return null;var c=b.anchorNode,d=b.anchorOffset,e=b.focusNode,f=b.focusOffset,g=b.getRangeAt(0);try{g.startContainer.nodeType,g.endContainer.nodeType}catch(k){return null}b=b.anchorNode===b.focusNode&&b.anchorOffset===b.focusOffset?0:g.toString().length;var h=g.cloneRange();h.selectNodeContents(a);h.setEnd(g.startContainer,g.startOffset);a=h.startContainer===h.endContainer&&h.startOffset===h.endOffset?\n0:h.toString().length;g=a+b;b=document.createRange();b.setStart(c,d);b.setEnd(e,f);c=b.collapsed;return{start:c?g:a,end:c?a:g}},setOffsets:function(a,b){if(window.getSelection){var c=window.getSelection(),d=a[vh()].length,e=Math.min(b.start,d);b=void 0===b.end?e:Math.min(b.end,d);!c.extend&&e>b&&(d=b,b=e,e=d);d=th(a,e);a=th(a,b);if(d&&a){var f=document.createRange();f.setStart(d.node,d.offset);c.removeAllRanges();e>b?(c.addRange(f),c.extend(a.node,a.offset)):(f.setEnd(a.node,a.offset),c.addRange(f))}}}},\nxh=F.ELEMENT_NODE,yh={hasSelectionCapabilities:function(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&\"text\"===a.type||\"textarea\"===b||\"true\"===a.contentEditable)},getSelectionInformation:function(){var a=ia();return{focusedElem:a,selectionRange:yh.hasSelectionCapabilities(a)?yh.getSelection(a):null}},restoreSelection:function(a){var b=ia(),c=a.focusedElem;a=a.selectionRange;if(b!==c&&fa(document.documentElement,c)){yh.hasSelectionCapabilities(c)&&yh.setSelection(c,a);b=\n[];for(a=c;a=a.parentNode;)a.nodeType===xh&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});ha(c);for(c=0;cthis.eventPool.length&&this.eventPool.push(a)}function Yh(a){a.eventPool=[];a.getPooled=Zh;a.release=$h}function ai(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(ai,{data:null});function bi(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(bi,{data:null});var ci=[9,13,27,32],di=l.canUseDOM&&\"CompositionEvent\"in window,ei=null;l.canUseDOM&&\"documentMode\"in document&&(ei=document.documentMode);var fi;\nif(fi=l.canUseDOM&&\"TextEvent\"in window&&!ei){var gi=window.opera;fi=!(\"object\"===typeof gi&&\"function\"===typeof gi.version&&12>=parseInt(gi.version(),10))}\nvar hi=fi,ii=l.canUseDOM&&(!di||ei&&8=ei),ji=String.fromCharCode(32),ki={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")}},li=!1;\nfunction mi(a,b){switch(a){case \"topKeyUp\":return-1!==ci.indexOf(b.keyCode);case \"topKeyDown\":return 229!==b.keyCode;case \"topKeyPress\":case \"topMouseDown\":case \"topBlur\":return!0;default:return!1}}function ni(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var oi=!1;function pi(a,b){switch(a){case \"topCompositionEnd\":return ni(b);case \"topKeyPress\":if(32!==b.which)return null;li=!0;return ji;case \"topTextInput\":return a=b.data,a===ji&&li?null:a;default:return null}}\nfunction qi(a,b){if(oi)return\"topCompositionEnd\"===a||!di&&mi(a,b)?(a=Vh.getData(),Vh.reset(),oi=!1,a):null;switch(a){case \"topPaste\":return null;case \"topKeyPress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,Si={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},\ndependencies:\"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange\".split(\" \")}},Ti=null,Zi=null,$i=null,aj=!1,bj=M.isListeningToAllDependencies;\nfunction cj(a,b){if(aj||null==Ti||Ti!==ia())return null;var c=Ti;\"selectionStart\"in c&&zh.hasSelectionCapabilities(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return $i&&ea($i,c)?null:($i=c,a=Y.getPooled(Si.select,Zi,a,b),a.type=\"select\",a.target=Ti,Th.accumulateTwoPhaseDispatches(a),a)}\nvar dj={eventTypes:Si,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:d.nodeType===Qi?d:d.ownerDocument;if(!e||!bj(\"onSelect\",e))return null;e=b?G.getNodeFromInstance(b):window;switch(a){case \"topFocus\":if(ti(e)||\"true\"===e.contentEditable)Ti=e,Zi=b,$i=null;break;case \"topBlur\":$i=Zi=Ti=null;break;case \"topMouseDown\":aj=!0;break;case \"topContextMenu\":case \"topMouseUp\":return aj=!1,cj(c,d);case \"topSelectionChange\":if(Ri)break;case \"topKeyDown\":case \"topKeyUp\":return cj(c,d)}return null}};\nfunction ej(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(ej,{animationName:null,elapsedTime:null,pseudoElement:null});function fj(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(fj,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}});function gj(a,b,c,d){return Y.call(this,a,b,c,d)}Ji.augmentClass(gj,{relatedTarget:null});function hj(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;return 32<=a||13===a?a:0}\nvar ij={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},jj={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};function kj(a,b,c,d){return Y.call(this,a,b,c,d)}\nJi.augmentClass(kj,{key:function(a){if(a.key){var b=ij[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=hj(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?jj[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Mi,charCode:function(a){return\"keypress\"===a.type?hj(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?hj(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}});function lj(a,b,c,d){return Y.call(this,a,b,c,d)}Ni.augmentClass(lj,{dataTransfer:null});function mj(a,b,c,d){return Y.call(this,a,b,c,d)}Ji.augmentClass(mj,{touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Mi});function nj(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(nj,{propertyName:null,elapsedTime:null,pseudoElement:null});\nfunction oj(a,b,c,d){return Y.call(this,a,b,c,d)}Ni.augmentClass(oj,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null});var pj={},qj={};\n\"abort animationEnd animationIteration animationStart blur cancel canPlay canPlayThrough click close contextMenu copy cut doubleClick drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error focus input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing progress rateChange reset scroll seeked seeking stalled submit suspend timeUpdate toggle touchCancel touchEnd touchMove touchStart transitionEnd volumeChange waiting wheel\".split(\" \").forEach(function(a){var b=a[0].toUpperCase()+\na.slice(1),c=\"on\"+b;b=\"top\"+b;c={phasedRegistrationNames:{bubbled:c,captured:c+\"Capture\"},dependencies:[b]};pj[a]=c;qj[b]=c});\nvar rj={eventTypes:pj,extractEvents:function(a,b,c,d){var e=qj[a];if(!e)return null;switch(a){case \"topAbort\":case \"topCancel\":case \"topCanPlay\":case \"topCanPlayThrough\":case \"topClose\":case \"topDurationChange\":case \"topEmptied\":case \"topEncrypted\":case \"topEnded\":case \"topError\":case \"topInput\":case \"topInvalid\":case \"topLoad\":case \"topLoadedData\":case \"topLoadedMetadata\":case \"topLoadStart\":case \"topPause\":case \"topPlay\":case \"topPlaying\":case \"topProgress\":case \"topRateChange\":case \"topReset\":case \"topSeeked\":case \"topSeeking\":case \"topStalled\":case \"topSubmit\":case \"topSuspend\":case \"topTimeUpdate\":case \"topToggle\":case \"topVolumeChange\":case \"topWaiting\":var f=Y;\nbreak;case \"topKeyPress\":if(0===hj(c))return null;case \"topKeyDown\":case \"topKeyUp\":f=kj;break;case \"topBlur\":case \"topFocus\":f=gj;break;case \"topClick\":if(2===c.button)return null;case \"topDoubleClick\":case \"topMouseDown\":case \"topMouseMove\":case \"topMouseUp\":case \"topMouseOut\":case \"topMouseOver\":case \"topContextMenu\":f=Ni;break;case \"topDrag\":case \"topDragEnd\":case \"topDragEnter\":case \"topDragExit\":case \"topDragLeave\":case \"topDragOver\":case \"topDragStart\":case \"topDrop\":f=lj;break;case \"topTouchCancel\":case \"topTouchEnd\":case \"topTouchMove\":case \"topTouchStart\":f=\nmj;break;case \"topAnimationEnd\":case \"topAnimationIteration\":case \"topAnimationStart\":f=ej;break;case \"topTransitionEnd\":f=nj;break;case \"topScroll\":f=Ji;break;case \"topWheel\":f=oj;break;case \"topCopy\":case \"topCut\":case \"topPaste\":f=fj}f?void 0:w(\"86\",a);a=f.getPooled(e,b,c,d);Th.accumulateTwoPhaseDispatches(a);return a}};L.setHandleTopLevel(M.handleTopLevel);Jb.injection.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nib.injection.injectComponentTree(G);Jb.injection.injectEventPluginsByName({SimpleEventPlugin:rj,EnterLeaveEventPlugin:Pi,ChangeEventPlugin:Ii,SelectEventPlugin:dj,BeforeInputEventPlugin:ri});\nvar sj=A.injection.MUST_USE_PROPERTY,Z=A.injection.HAS_BOOLEAN_VALUE,tj=A.injection.HAS_NUMERIC_VALUE,uj=A.injection.HAS_POSITIVE_NUMERIC_VALUE,vj=A.injection.HAS_STRING_BOOLEAN_VALUE,wj={Properties:{allowFullScreen:Z,allowTransparency:vj,async:Z,autoPlay:Z,capture:Z,checked:sj|Z,cols:uj,contentEditable:vj,controls:Z,\"default\":Z,defer:Z,disabled:Z,download:A.injection.HAS_OVERLOADED_BOOLEAN_VALUE,draggable:vj,formNoValidate:Z,hidden:Z,loop:Z,multiple:sj|Z,muted:sj|Z,noValidate:Z,open:Z,playsInline:Z,\nreadOnly:Z,required:Z,reversed:Z,rows:uj,rowSpan:tj,scoped:Z,seamless:Z,selected:sj|Z,size:uj,start:tj,span:uj,spellCheck:vj,style:0,itemScope:Z,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:vj},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMMutationMethods:{value:function(a,b){if(null==b)return a.removeAttribute(\"value\");\"number\"!==a.type||!1===a.hasAttribute(\"value\")?a.setAttribute(\"value\",\"\"+b):a.validity&&!a.validity.badInput&&\na.ownerDocument.activeElement!==a&&a.setAttribute(\"value\",\"\"+b)}}},xj=A.injection.HAS_STRING_BOOLEAN_VALUE,yj={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},zj={Properties:{autoReverse:xj,externalResourcesRequired:xj,preserveAlpha:xj},DOMAttributeNames:{autoReverse:\"autoReverse\",externalResourcesRequired:\"externalResourcesRequired\",preserveAlpha:\"preserveAlpha\"},DOMAttributeNamespaces:{xlinkActuate:yj.xlink,xlinkArcrole:yj.xlink,xlinkHref:yj.xlink,xlinkRole:yj.xlink,\nxlinkShow:yj.xlink,xlinkTitle:yj.xlink,xlinkType:yj.xlink,xmlBase:yj.xml,xmlLang:yj.xml,xmlSpace:yj.xml}},Aj=/[\\-\\:]([a-z])/g;function Bj(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space\".split(\" \").forEach(function(a){var b=a.replace(Aj,\nBj);zj.Properties[b]=0;zj.DOMAttributeNames[b]=a});A.injection.injectDOMPropertyConfig(wj);A.injection.injectDOMPropertyConfig(zj);\nvar Cj=ig.injectInternals,Dj=F.ELEMENT_NODE,Ej=F.TEXT_NODE,Fj=F.COMMENT_NODE,Gj=F.DOCUMENT_NODE,Hj=F.DOCUMENT_FRAGMENT_NODE,Ij=A.ROOT_ATTRIBUTE_NAME,Jj=ka.getChildNamespace,Kj=N.createElement,Lj=N.createTextNode,Mj=N.setInitialProperties,Nj=N.diffProperties,Oj=N.updateProperties,Pj=N.diffHydratedProperties,Qj=N.diffHydratedText,Rj=N.warnForDeletedHydratableElement,Sj=N.warnForDeletedHydratableText,Tj=N.warnForInsertedHydratedElement,Uj=N.warnForInsertedHydratedText,Vj=G.precacheFiberNode,Wj=G.updateFiberProps;\nnb.injection.injectFiberControlledHostComponent(N);Dh._injectFiber(function(a){return Xj.findHostInstance(a)});var Yj=null,Zj=null;function ak(a){return!(!a||a.nodeType!==Dj&&a.nodeType!==Gj&&a.nodeType!==Hj&&(a.nodeType!==Fj||\" react-mount-point-unstable \"!==a.nodeValue))}function bk(a){a=a?a.nodeType===Gj?a.documentElement:a.firstChild:null;return!(!a||a.nodeType!==Dj||!a.hasAttribute(Ij))}\nvar Xj=function(a){var b=a.getPublicInstance;a=hh(a);var c=a.scheduleUpdate,d=a.getPriorityContext;return{createContainer:function(a){var b=ee();a={current:b,containerInfo:a,isScheduled:!1,nextScheduledRoot:null,context:null,pendingContext:null};return b.stateNode=a},updateContainer:function(a,b,g,h){var e=b.current;g=jh(g);null===b.context?b.context=g:b.pendingContext=g;b=h;h=d(e,ed.enableAsyncSubtreeAPI&&null!=a&&null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent);\na={element:a};kh(e,a,void 0===b?null:b,h);c(e,h)},batchedUpdates:a.batchedUpdates,unbatchedUpdates:a.unbatchedUpdates,deferredUpdates:a.deferredUpdates,flushSync:a.flushSync,getPublicRootInstance:function(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case oh:return b(a.child.stateNode);default:return a.child.stateNode}},findHostInstance:function(a){a=ph(a);return null===a?null:a.stateNode},findHostInstanceWithNoPortals:function(a){a=qh(a);return null===a?null:a.stateNode}}}({getRootHostContext:function(a){if(a.nodeType===\nGj)a=(a=a.documentElement)?a.namespaceURI:Jj(null,\"\");else{var b=a.nodeType===Fj?a.parentNode:a;a=b.namespaceURI||null;b=b.tagName;a=Jj(a,b)}return a},getChildHostContext:function(a,b){return Jj(a,b)},getPublicInstance:function(a){return a},prepareForCommit:function(){Yj=M.isEnabled();Zj=zh.getSelectionInformation();M.setEnabled(!1)},resetAfterCommit:function(){zh.restoreSelection(Zj);Zj=null;M.setEnabled(Yj);Yj=null},createInstance:function(a,b,c,d,e){a=Kj(a,b,c,d);Vj(e,a);Wj(a,b);return a},appendInitialChild:function(a,\nb){a.appendChild(b)},finalizeInitialChildren:function(a,b,c,d){Mj(a,b,c,d);a:{switch(b){case \"button\":case \"input\":case \"select\":case \"textarea\":a=!!c.autoFocus;break a}a=!1}return a},prepareUpdate:function(a,b,c,d,e){return Nj(a,b,c,d,e)},commitMount:function(a){a.focus()},commitUpdate:function(a,b,c,d,e){Wj(a,e);Oj(a,b,c,d,e)},shouldSetTextContent:function(a,b){return\"textarea\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&\n\"string\"===typeof b.dangerouslySetInnerHTML.__html},resetTextContent:function(a){a.textContent=\"\"},shouldDeprioritizeSubtree:function(a,b){return!!b.hidden},createTextInstance:function(a,b,c,d){a=Lj(a,b);Vj(d,a);return a},commitTextUpdate:function(a,b,c){a.nodeValue=c},appendChild:function(a,b){a.appendChild(b)},appendChildToContainer:function(a,b){a.nodeType===Fj?a.parentNode.insertBefore(b,a):a.appendChild(b)},insertBefore:function(a,b,c){a.insertBefore(b,c)},insertInContainerBefore:function(a,\nb,c){a.nodeType===Fj?a.parentNode.insertBefore(b,c):a.insertBefore(b,c)},removeChild:function(a,b){a.removeChild(b)},removeChildFromContainer:function(a,b){a.nodeType===Fj?a.parentNode.removeChild(b):a.removeChild(b)},canHydrateInstance:function(a,b){return a.nodeType===Dj&&b===a.nodeName.toLowerCase()},canHydrateTextInstance:function(a,b){return\"\"===b?!1:a.nodeType===Ej},getNextHydratableSibling:function(a){for(a=a.nextSibling;a&&a.nodeType!==Dj&&a.nodeType!==Ej;)a=a.nextSibling;return a},getFirstHydratableChild:function(a){for(a=\na.firstChild;a&&a.nodeType!==Dj&&a.nodeType!==Ej;)a=a.nextSibling;return a},hydrateInstance:function(a,b,c,d,e,f){Vj(f,a);Wj(a,c);return Pj(a,b,c,e,d)},hydrateTextInstance:function(a,b,c){Vj(c,a);return Qj(a,b)},didNotHydrateInstance:function(a,b){1===b.nodeType?Rj(a,b):Sj(a,b)},didNotFindHydratableInstance:function(a,b,c){Tj(a,b,c)},didNotFindHydratableTextInstance:function(a,b){Uj(a,b)},scheduleDeferredCallback:dd.rIC,useSyncScheduling:!0});sb.injection.injectFiberBatchedUpdates(Xj.batchedUpdates);\nfunction ck(a,b,c,d,e){ak(c)?void 0:w(\"200\");var f=c._reactRootContainer;if(f)Xj.updateContainer(b,f,a,e);else{if(!d&&!bk(c))for(d=void 0;d=c.lastChild;)c.removeChild(d);var g=Xj.createContainer(c);f=c._reactRootContainer=g;Xj.unbatchedUpdates(function(){Xj.updateContainer(b,g,a,e)})}return Xj.getPublicRootInstance(f)}function dk(a,b){var c=21){addWordHelper(node.children[str[0]],str.slice(1));}};addWordHelper(this,word);}}]);return PrefixTree;}(PrefixTreeNode);/* harmony default export */ __webpack_exports__[\"a\"] = (PrefixTree);\n\n/***/ }),\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_guid__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_guid___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_guid__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0){newObj.children=childrenArray.map(function(key,index){return mapNode(node.children[key],newObj);});}return newObj;};var treeForReactD3Tree=mapNode(prefixTrie,null);this.name=treeForReactD3Tree.name;this.attributes=treeForReactD3Tree.attributes;this.guid=treeForReactD3Tree.guid;this.children=treeForReactD3Tree.children;}_createClass(D3CompatibleTree,[{key:\"getPriorNodes\",value:function getPriorNodes(node){var correctPriorNodesForCurrentNode;var traverse=function traverse(n,priorNodes){if(n.guid===node.guid){correctPriorNodesForCurrentNode=priorNodes;return;}if(n.name&&n.name!==null)priorNodes.push(n);if(n.children){n.children.forEach(function(cn){traverse(cn,priorNodes.slice());//use slice to copy to a new array, this is required for seperate/distinct prior node paths and this method to work correctly\n});}};traverse(this,[]);return correctPriorNodesForCurrentNode;}},{key:\"getFollowingNodePaths\",value:function getFollowingNodePaths(node){var nodePaths=[];var traverse=function traverse(n,nodesOnThisPath){if(!n||!n.name||n.name===null)return;nodesOnThisPath.push(n);if(n.attributes&&n.attributes.endWord){nodePaths.push(nodesOnThisPath);nodesOnThisPath=nodesOnThisPath.slice();//copy to new array, to not mutate the previous word found (one already pushed)\n}if(n.children){n.children.forEach(function(cn){traverse(cn,nodesOnThisPath.slice());});}};traverse(node,[]);return nodePaths;}}]);return D3CompatibleTree;}();/* harmony default export */ __webpack_exports__[\"a\"] = (D3CompatibleTree);\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\n(function () {\n var validator = new RegExp(\"^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$\", \"i\");\n\n function gen(count) {\n var out = \"\";\n for (var i=0; i=0&&g.splice(t,1)}function s(e){var t=document.createElement(\"style\");return e.attrs.type=\"text/css\",l(t,e.attrs),a(e,t),t}function u(e){var t=document.createElement(\"link\");return e.attrs.type=\"text/css\",e.attrs.rel=\"stylesheet\",l(t,e.attrs),a(e,t),t}function l(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function c(e,t){var n,r,o,a;if(t.transform&&e.css){if(!(a=t.transform(e.css)))return function(){};e.css=a}if(t.singleton){var l=m++;n=v||(v=s(t)),r=f.bind(null,n,l,!1),o=f.bind(null,n,l,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=u(t),r=p.bind(null,n,t),o=function(){i(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=d.bind(null,n),o=function(){i(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}function f(e,t,n,r){var o=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=k(t,o);else{var a=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function d(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute(\"media\",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function p(e,t,n){var r=n.css,o=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||a)&&(r=x(r)),o&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var i=new Blob([r],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(i),s&&URL.revokeObjectURL(s)}var h={},y=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),b=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e.call(this,n)),t[n]}}(function(e){return document.querySelector(e)}),v=null,m=0,g=[],x=n(14);e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");t=t||{},t.attrs=\"object\"==typeof t.attrs?t.attrs:{},void 0===t.singleton&&(t.singleton=y()),void 0===t.insertInto&&(t.insertInto=\"head\"),void 0===t.insertAt&&(t.insertAt=\"bottom\");var n=o(e,t);return r(n,t),function(e){for(var a=[],i=0;i=t})}},{key:\"bindZoomListener\",value:function(e){var t=e.zoomable,n=e.scaleExtent,r=e.translate,o=(0,h.select)(\".rd3t-svg\"),a=(0,h.select)(\".rd3t-g\");t&&o.call(h.behavior.zoom().scaleExtent([n.min,n.max]).on(\"zoom\",function(){a.attr(\"transform\",\"translate(\"+h.event.translate+\") scale(\"+h.event.scale+\")\")}).translate([r.x,r.y]))}},{key:\"assignInternalProperties\",value:function(e){var t=this;return e.map(function(e){return e.id=x.default.v4(),e._collapsed=!1,e.children&&e.children.length>0&&(e.children=t.assignInternalProperties(e.children),e._children=e.children),e})}},{key:\"findNodesById\",value:function(e,t,n){var r=this;return n.length>0?n:(n=n.concat(t.filter(function(t){return t.id===e})),t.forEach(function(t){return t._children&&t._children.length>0?n=r.findNodesById(e,t._children,n):n}),n)}},{key:\"collapseNode\",value:function(e){var t=this;e._collapsed=!0,e._children&&e._children.length>0&&e._children.forEach(function(e){t.collapseNode(e)})}},{key:\"expandNode\",value:function(e){e._collapsed=!1}},{key:\"handleNodeToggle\",value:function(e){var t=this,n=(0,b.default)(this.state.data),r=this.findNodesById(e,n,[]),o=r[0];this.props.collapsible?(o._collapsed?this.expandNode(o):this.collapseNode(o),this.setState({data:n},function(){return t.handleOnClickCb(o)})):this.handleOnClickCb(o)}},{key:\"handleOnClickCb\",value:function(e){var t=this.props.onClick;t&&\"function\"==typeof t&&t((0,b.default)(e))}},{key:\"generateTree\",value:function(){var e=this.props,t=e.initialDepth,n=e.depthFactor,r=e.separation,o=e.nodeSize,a=e.orientation,i=h.layout.tree().nodeSize(\"horizontal\"===a?[o.y,o.x]:[o.x,o.y]).separation(function(e,t){return(0,m.default)(e.parent,t.parent)?r.siblings:r.nonSiblings}).children(function(e){return e._collapsed?null:e._children}),s=this.state.data[0],u=i.nodes(s),l=i.links(u);return void 0!==t&&this.state.initialRender&&this.setInitialTreeDepth(u,t),n&&u.forEach(function(e){e.y=e.depth*n}),{nodes:u,links:l}}},{key:\"render\",value:function(){var e=this,t=this.generateTree(),n=t.nodes,r=t.links,o=this.props,a=o.nodeSvgShape,i=o.orientation,u=o.translate,l=o.pathFunc,f=o.transitionDuration,d=o.zoomable,h=o.textLayout,y=o.nodeSize,b=o.depthFactor,v=o.initialDepth,m=o.separation,g=o.circleRadius,k=o.styles,_=s({},y,m,{depthFactor:b,initialDepth:v});return c.default.createElement(\"div\",{className:\"rd3t-tree-container \"+(d?\"rd3t-grabbable\":void 0)},c.default.createElement(\"svg\",{className:\"rd3t-svg\",width:\"100%\",height:\"100%\"},c.default.createElement(p.TransitionGroup,{component:\"g\",className:\"rd3t-g\",transform:\"translate(\"+u.x+\",\"+u.y+\")\"},r.map(function(e){return c.default.createElement(w.default,{key:x.default.v4(),orientation:i,pathFunc:l,linkData:e,transitionDuration:f,styles:k.links})}),n.map(function(t){return c.default.createElement(O.default,{key:t.id,nodeSvgShape:a,orientation:i,transitionDuration:f,nodeData:t,name:t.name,attributes:t.attributes,onClick:e.handleNodeToggle,textLayout:h,circleRadius:g,subscriptions:_,styles:k.nodes})}))))}}]),t}(c.default.Component);t.default=j,j.defaultProps={nodeSvgShape:{shape:\"circle\",shapeProps:{r:10}},onClick:void 0,orientation:\"horizontal\",translate:{x:0,y:0},pathFunc:\"diagonal\",transitionDuration:500,depthFactor:void 0,collapsible:!0,initialDepth:void 0,zoomable:!0,scaleExtent:{min:.1,max:1},nodeSize:{x:140,y:140},separation:{siblings:1,nonSiblings:2},textLayout:{textAnchor:\"start\",x:10,y:-10},circleRadius:void 0,styles:{}},j.propTypes={data:d.default.array.isRequired,nodeSvgShape:d.default.shape({shape:d.default.string,shapeProps:d.default.object}),onClick:d.default.func,orientation:d.default.oneOf([\"horizontal\",\"vertical\"]),translate:d.default.shape({x:d.default.number,y:d.default.number}),pathFunc:d.default.oneOfType([d.default.oneOf([\"diagonal\",\"elbow\",\"straight\"]),d.default.func]),transitionDuration:d.default.number,depthFactor:d.default.number,collapsible:d.default.bool,initialDepth:d.default.number,zoomable:d.default.bool,scaleExtent:d.default.shape({min:d.default.number,max:d.default.number}),nodeSize:d.default.shape({x:d.default.number,y:d.default.number}),separation:d.default.shape({siblings:d.default.number,nonSiblings:d.default.number}),textLayout:d.default.object,circleRadius:d.default.number,styles:d.default.shape({nodes:d.default.object,links:d.default.object})},e.exports=t.default},function(e,t){e.exports=o},function(e,t){e.exports=a},function(e,t){e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function i(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){};0===t?((0,y.select)(this.node).attr(\"transform\",e).style(\"opacity\",n),r()):(0,y.select)(this.node).transition().duration(t).attr(\"transform\",e).style(\"opacity\",n).each(\"end\",r)}},{key:\"handleClick\",value:function(){this.props.onClick(this.props.nodeData.id)}},{key:\"componentWillLeave\",value:function(e){var t=this.props,n=t.nodeData.parent,r=t.orientation,o=t.transitionDuration,a=n?n.x:0,i=n?n.y:0,s=this.setTransformOrientation(a,i,r);this.applyTransform(s,o,0,e)}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.nodeData,r=t.nodeSvgShape,o=t.textLayout,a=t.styles,i=n._children?s({},a.node):s({},a.leafNode);return c.default.createElement(\"g\",{id:n.id,ref:function(t){e.node=t},style:this.state.initialStyle,className:n._children?\"nodeBase\":\"leafNodeBase\",transform:this.state.transform,onClick:this.handleClick},this.props.circleRadius?c.default.createElement(\"circle\",{r:this.props.circleRadius,style:i.circle}):c.default.createElement(r.shape,s({},r.shapeProps,i.circle)),c.default.createElement(\"text\",{className:\"nodeNameBase\",style:i.name,textAnchor:o.textAnchor,x:o.x,y:o.y,dy:\".35em\"},this.props.name),c.default.createElement(\"text\",{className:\"nodeAttributesBase\",y:o.y+10,textAnchor:o.textAnchor,style:i.attributes},this.props.attributes&&Object.keys(this.props.attributes).map(function(t){return c.default.createElement(\"tspan\",{x:o.x,dy:\"1.2em\",key:h.default.v4()},t,\": \",e.props.attributes[t])})))}}]),t}(c.default.Component);t.default=b,b.defaultProps={textAnchor:\"start\",attributes:void 0,circleRadius:void 0,styles:{node:{circle:{},name:{},attributes:{}},leafNode:{circle:{},name:{},attributes:{}}}},b.propTypes={nodeData:d.default.object.isRequired,nodeSvgShape:d.default.object.isRequired,orientation:d.default.oneOf([\"horizontal\",\"vertical\"]).isRequired,transitionDuration:d.default.number.isRequired,onClick:d.default.func.isRequired,name:d.default.string.isRequired,attributes:d.default.object,textLayout:d.default.object.isRequired,subscriptions:d.default.object.isRequired,circleRadius:d.default.number,styles:d.default.object},e.exports=t.default},function(e,t,n){var r=n(13);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={};o.transform=void 0;n(5)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(4)(void 0),t.push([e.i,\".nodeBase {\\n cursor: pointer;\\n fill: #777;\\n stroke: #000;\\n stroke-width: 2;\\n}\\n\\n.leafNodeBase {\\n cursor: pointer;\\n fill: transparent;\\n stroke: #000;\\n stroke-width: 2;\\n}\\n\\n.nodeNameBase {\\n fill: #000;\\n stroke: #000;\\n stroke-width: 1;\\n}\\n\\n.nodeAttributesBase {\\n fill: #777;\\n stroke: #777;\\n stroke-width: 1;\\n font-size: smaller;\\n}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,r=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,function(e,t){var o=t.trim().replace(/^\"(.*)\"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});if(/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(o))return e;var a;return a=0===o.indexOf(\"//\")?o:0===o.indexOf(\"/\")?n+o:r+o.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(a)+\")\"})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function i(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:function(){};0===t?((0,p.select)(this.link).style(\"opacity\",e),n()):(0,p.select)(this.link).transition().duration(t).style(\"opacity\",e).each(\"end\",n)}},{key:\"diagonalPath\",value:function(e,t){return p.svg.diagonal().projection(function(e){return\"horizontal\"===t?[e.y,e.x]:[e.x,e.y]})(e)}},{key:\"straightPath\",value:function(e,t){var n=p.svg.line().interpolate(\"basis\").x(function(e){return e.x}).y(function(e){return e.y}),r=[{x:e.source.x,y:e.source.y},{x:e.target.x,y:e.target.y}];return\"horizontal\"===t&&(r=[{x:e.source.y,y:e.source.x},{x:e.target.y,y:e.target.x}]),n(r)}},{key:\"elbowPath\",value:function(e,t){return\"horizontal\"===t?\"M\"+e.source.y+\",\"+e.source.x+\"V\"+e.target.x+\"H\"+e.target.y:\"M\"+e.source.x+\",\"+e.source.y+\"V\"+e.target.y+\"H\"+e.target.x}},{key:\"drawPath\",value:function(){var e=this.props,t=e.linkData,n=e.orientation,r=e.pathFunc;return\"function\"==typeof r?r(t,n):\"elbow\"===r?this.elbowPath(t,n):\"straight\"===r?this.straightPath(t,n):this.diagonalPath(t,n)}},{key:\"render\",value:function(){var e=this,t=this.props.styles;return c.default.createElement(\"path\",{ref:function(t){e.link=t},style:s({},this.state.initialStyle,t),className:\"linkBase\",d:this.drawPath()})}}]),t}(c.default.PureComponent);t.default=h,h.defaultProps={styles:{}},h.propTypes={linkData:d.default.object.isRequired,orientation:d.default.oneOf([\"horizontal\",\"vertical\"]).isRequired,pathFunc:d.default.oneOfType([d.default.oneOf([\"diagonal\",\"elbow\",\"straight\"]),d.default.func]).isRequired,transitionDuration:d.default.number.isRequired,styles:d.default.object},e.exports=t.default},function(e,t,n){var r=n(17);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={};o.transform=void 0;n(5)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(4)(void 0),t.push([e.i,\".linkBase {\\n fill: none;\\n stroke: #000;\\n}\",\"\"])},function(e,t,n){var r=n(19);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={};o.transform=void 0;n(5)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(4)(void 0),t.push([e.i,\".rd3t-tree-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.rd3t-grabbable {\\n cursor: move; /* fallback if grab cursor is unsupported */\\n cursor: grab;\\n cursor: -moz-grab;\\n cursor: -webkit-grab;\\n}\\n.rd3t-grabbable:active {\\n cursor: grabbing;\\n cursor: -moz-grabbing;\\n cursor: -webkit-grabbing;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";function r(e,t){var n={},r=function(e){return n[e]||(n[e]={name:e}),n[e]},o=function(e,t){return n[e]||(n[e]={name:e,attributes:t}),n[e]};return e.forEach(function(e){if(t){var n={};t.forEach(function(t){n[t]=e[t]}),e.attributes=n}e.source=r(e.parent),e.target=o(e.child,e.attributes);var a=e.source,i=e.target;a.id=c.default.v4(),i.id=c.default.v4(),i.parent=a.name||null,a._collapsed=i._collapsed=!1,a._children?a._children.push(i):a._children=[i]}),[e.filter(function(e){return!e.source.parent})[0].source]}function o(e,t){return new Promise(function(n,o){try{(0,u.csv)(e,function(e){return n(r(e,t))})}catch(e){o(e)}})}function a(e){return new Promise(function(t,n){try{(0,u.json)(e,function(e){return t([e])})}catch(e){n(e)}})}function i(e,t){return new Promise(function(n,o){try{(0,u.json)(e,function(e){return n(r(e,t))})}catch(e){o(e)}})}function s(e){return r(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=n(0),l=n(3),c=function(e){return e&&e.__esModule?e:{default:e}}(l);t.default={parseCSV:o,parseJSON:a,parseFlatJSON:i,generateHierarchy:s},e.exports=t.default}])});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;!function() {\n var d3 = {\n version: \"3.5.17\"\n };\n var d3_arraySlice = [].slice, d3_array = function(list) {\n return d3_arraySlice.call(list);\n };\n var d3_document = this.document;\n function d3_documentElement(node) {\n return node && (node.ownerDocument || node.document || node).documentElement;\n }\n function d3_window(node) {\n return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView);\n }\n if (d3_document) {\n try {\n d3_array(d3_document.documentElement.childNodes)[0].nodeType;\n } catch (e) {\n d3_array = function(list) {\n var i = list.length, array = new Array(i);\n while (i--) array[i] = list[i];\n return array;\n };\n }\n }\n if (!Date.now) Date.now = function() {\n return +new Date();\n };\n if (d3_document) {\n try {\n d3_document.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n } catch (error) {\n var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;\n d3_element_prototype.setAttribute = function(name, value) {\n d3_element_setAttribute.call(this, name, value + \"\");\n };\n d3_element_prototype.setAttributeNS = function(space, local, value) {\n d3_element_setAttributeNS.call(this, space, local, value + \"\");\n };\n d3_style_prototype.setProperty = function(name, value, priority) {\n d3_style_setProperty.call(this, name, value + \"\", priority);\n };\n }\n }\n d3.ascending = d3_ascending;\n function d3_ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n }\n d3.descending = function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n };\n d3.min = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && a > b) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;\n }\n return a;\n };\n d3.max = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && b > a) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;\n }\n return a;\n };\n d3.extent = function(array, f) {\n var i = -1, n = array.length, a, b, c;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n }\n return [ a, c ];\n };\n function d3_number(x) {\n return x === null ? NaN : +x;\n }\n function d3_numeric(x) {\n return !isNaN(x);\n }\n d3.sum = function(array, f) {\n var s = 0, n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = +array[i])) s += a;\n } else {\n while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;\n }\n return s;\n };\n d3.mean = function(array, f) {\n var s = 0, n = array.length, a, i = -1, j = n;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;\n }\n if (j) return s / j;\n };\n d3.quantile = function(values, p) {\n var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;\n return e ? v + e * (values[h] - v) : v;\n };\n d3.median = function(array, f) {\n var numbers = [], n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);\n }\n if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);\n };\n d3.variance = function(array, f) {\n var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0;\n if (arguments.length === 1) {\n while (++i < n) {\n if (d3_numeric(a = d3_number(array[i]))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n } else {\n while (++i < n) {\n if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n }\n if (j > 1) return s / (j - 1);\n };\n d3.deviation = function() {\n var v = d3.variance.apply(this, arguments);\n return v ? Math.sqrt(v) : v;\n };\n function d3_bisector(compare) {\n return {\n left: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;\n }\n return lo;\n }\n };\n }\n var d3_bisect = d3_bisector(d3_ascending);\n d3.bisectLeft = d3_bisect.left;\n d3.bisect = d3.bisectRight = d3_bisect.right;\n d3.bisector = function(f) {\n return d3_bisector(f.length === 1 ? function(d, x) {\n return d3_ascending(f(d), x);\n } : f);\n };\n d3.shuffle = function(array, i0, i1) {\n if ((m = arguments.length) < 3) {\n i1 = array.length;\n if (m < 2) i0 = 0;\n }\n var m = i1 - i0, t, i;\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;\n }\n return array;\n };\n d3.permute = function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n };\n d3.pairs = function(array) {\n var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ];\n return pairs;\n };\n d3.transpose = function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = d3.min(matrix, d3_transposeLength), transpose = new Array(m); ++i < m; ) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n; ) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n };\n function d3_transposeLength(d) {\n return d.length;\n }\n d3.zip = function() {\n return d3.transpose(arguments);\n };\n d3.keys = function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n };\n d3.values = function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n };\n d3.entries = function(map) {\n var entries = [];\n for (var key in map) entries.push({\n key: key,\n value: map[key]\n });\n return entries;\n };\n d3.merge = function(arrays) {\n var n = arrays.length, m, i = -1, j = 0, merged, array;\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n return merged;\n };\n var abs = Math.abs;\n d3.range = function(start, stop, step) {\n if (arguments.length < 3) {\n step = 1;\n if (arguments.length < 2) {\n stop = start;\n start = 0;\n }\n }\n if ((stop - start) / step === Infinity) throw new Error(\"infinite range\");\n var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;\n start *= k, stop *= k, step *= k;\n if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);\n return range;\n };\n function d3_range_integerScale(x) {\n var k = 1;\n while (x * k % 1) k *= 10;\n return k;\n }\n function d3_class(ctor, properties) {\n for (var key in properties) {\n Object.defineProperty(ctor.prototype, key, {\n value: properties[key],\n enumerable: false\n });\n }\n }\n d3.map = function(object, f) {\n var map = new d3_Map();\n if (object instanceof d3_Map) {\n object.forEach(function(key, value) {\n map.set(key, value);\n });\n } else if (Array.isArray(object)) {\n var i = -1, n = object.length, o;\n if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o);\n } else {\n for (var key in object) map.set(key, object[key]);\n }\n return map;\n };\n function d3_Map() {\n this._ = Object.create(null);\n }\n var d3_map_proto = \"__proto__\", d3_map_zero = \"\\x00\";\n d3_class(d3_Map, {\n has: d3_map_has,\n get: function(key) {\n return this._[d3_map_escape(key)];\n },\n set: function(key, value) {\n return this._[d3_map_escape(key)] = value;\n },\n remove: d3_map_remove,\n keys: d3_map_keys,\n values: function() {\n var values = [];\n for (var key in this._) values.push(this._[key]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var key in this._) entries.push({\n key: d3_map_unescape(key),\n value: this._[key]\n });\n return entries;\n },\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);\n }\n });\n function d3_map_escape(key) {\n return (key += \"\") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;\n }\n function d3_map_unescape(key) {\n return (key += \"\")[0] === d3_map_zero ? key.slice(1) : key;\n }\n function d3_map_has(key) {\n return d3_map_escape(key) in this._;\n }\n function d3_map_remove(key) {\n return (key = d3_map_escape(key)) in this._ && delete this._[key];\n }\n function d3_map_keys() {\n var keys = [];\n for (var key in this._) keys.push(d3_map_unescape(key));\n return keys;\n }\n function d3_map_size() {\n var size = 0;\n for (var key in this._) ++size;\n return size;\n }\n function d3_map_empty() {\n for (var key in this._) return false;\n return true;\n }\n d3.nest = function() {\n var nest = {}, keys = [], sortKeys = [], sortValues, rollup;\n function map(mapType, array, depth) {\n if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;\n var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(object = array[i]))) {\n values.push(object);\n } else {\n valuesByKey.set(keyValue, [ object ]);\n }\n }\n if (mapType) {\n object = mapType();\n setter = function(keyValue, values) {\n object.set(keyValue, map(mapType, values, depth));\n };\n } else {\n object = {};\n setter = function(keyValue, values) {\n object[keyValue] = map(mapType, values, depth);\n };\n }\n valuesByKey.forEach(setter);\n return object;\n }\n function entries(map, depth) {\n if (depth >= keys.length) return map;\n var array = [], sortKey = sortKeys[depth++];\n map.forEach(function(key, keyMap) {\n array.push({\n key: key,\n values: entries(keyMap, depth)\n });\n });\n return sortKey ? array.sort(function(a, b) {\n return sortKey(a.key, b.key);\n }) : array;\n }\n nest.map = function(array, mapType) {\n return map(mapType, array, 0);\n };\n nest.entries = function(array) {\n return entries(map(d3.map, array, 0), 0);\n };\n nest.key = function(d) {\n keys.push(d);\n return nest;\n };\n nest.sortKeys = function(order) {\n sortKeys[keys.length - 1] = order;\n return nest;\n };\n nest.sortValues = function(order) {\n sortValues = order;\n return nest;\n };\n nest.rollup = function(f) {\n rollup = f;\n return nest;\n };\n return nest;\n };\n d3.set = function(array) {\n var set = new d3_Set();\n if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);\n return set;\n };\n function d3_Set() {\n this._ = Object.create(null);\n }\n d3_class(d3_Set, {\n has: d3_map_has,\n add: function(key) {\n this._[d3_map_escape(key += \"\")] = true;\n return key;\n },\n remove: d3_map_remove,\n values: d3_map_keys,\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key));\n }\n });\n d3.behavior = {};\n function d3_identity(d) {\n return d;\n }\n d3.rebind = function(target, source) {\n var i = 1, n = arguments.length, method;\n while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);\n return target;\n };\n function d3_rebind(target, source, method) {\n return function() {\n var value = method.apply(source, arguments);\n return value === source ? target : value;\n };\n }\n function d3_vendorSymbol(object, name) {\n if (name in object) return name;\n name = name.charAt(0).toUpperCase() + name.slice(1);\n for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {\n var prefixName = d3_vendorPrefixes[i] + name;\n if (prefixName in object) return prefixName;\n }\n }\n var d3_vendorPrefixes = [ \"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\" ];\n function d3_noop() {}\n d3.dispatch = function() {\n var dispatch = new d3_dispatch(), i = -1, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n return dispatch;\n };\n function d3_dispatch() {}\n d3_dispatch.prototype.on = function(type, listener) {\n var i = type.indexOf(\".\"), name = \"\";\n if (i >= 0) {\n name = type.slice(i + 1);\n type = type.slice(0, i);\n }\n if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);\n if (arguments.length === 2) {\n if (listener == null) for (type in this) {\n if (this.hasOwnProperty(type)) this[type].on(name, null);\n }\n return this;\n }\n };\n function d3_dispatch_event(dispatch) {\n var listeners = [], listenerByName = new d3_Map();\n function event() {\n var z = listeners, i = -1, n = z.length, l;\n while (++i < n) if (l = z[i].on) l.apply(this, arguments);\n return dispatch;\n }\n event.on = function(name, listener) {\n var l = listenerByName.get(name), i;\n if (arguments.length < 2) return l && l.on;\n if (l) {\n l.on = null;\n listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));\n listenerByName.remove(name);\n }\n if (listener) listeners.push(listenerByName.set(name, {\n on: listener\n }));\n return dispatch;\n };\n return event;\n }\n d3.event = null;\n function d3_eventPreventDefault() {\n d3.event.preventDefault();\n }\n function d3_eventSource() {\n var e = d3.event, s;\n while (s = e.sourceEvent) e = s;\n return e;\n }\n function d3_eventDispatch(target) {\n var dispatch = new d3_dispatch(), i = 0, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n dispatch.of = function(thiz, argumentz) {\n return function(e1) {\n try {\n var e0 = e1.sourceEvent = d3.event;\n e1.target = target;\n d3.event = e1;\n dispatch[e1.type].apply(thiz, argumentz);\n } finally {\n d3.event = e0;\n }\n };\n };\n return dispatch;\n }\n d3.requote = function(s) {\n return s.replace(d3_requote_re, \"\\\\$&\");\n };\n var d3_requote_re = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n var d3_subclass = {}.__proto__ ? function(object, prototype) {\n object.__proto__ = prototype;\n } : function(object, prototype) {\n for (var property in prototype) object[property] = prototype[property];\n };\n function d3_selection(groups) {\n d3_subclass(groups, d3_selectionPrototype);\n return groups;\n }\n var d3_select = function(s, n) {\n return n.querySelector(s);\n }, d3_selectAll = function(s, n) {\n return n.querySelectorAll(s);\n }, d3_selectMatches = function(n, s) {\n var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, \"matchesSelector\")];\n d3_selectMatches = function(n, s) {\n return d3_selectMatcher.call(n, s);\n };\n return d3_selectMatches(n, s);\n };\n if (typeof Sizzle === \"function\") {\n d3_select = function(s, n) {\n return Sizzle(s, n)[0] || null;\n };\n d3_selectAll = Sizzle;\n d3_selectMatches = Sizzle.matchesSelector;\n }\n d3.selection = function() {\n return d3.select(d3_document.documentElement);\n };\n var d3_selectionPrototype = d3.selection.prototype = [];\n d3_selectionPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, group, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(subnode = selector.call(node, node.__data__, i, j));\n if (subnode && \"__data__\" in node) subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selector(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_select(selector, this);\n };\n }\n d3_selectionPrototype.selectAll = function(selector) {\n var subgroups = [], subgroup, node;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));\n subgroup.parentNode = node;\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selectorAll(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_selectAll(selector, this);\n };\n }\n var d3_nsXhtml = \"http://www.w3.org/1999/xhtml\";\n var d3_nsPrefix = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: d3_nsXhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n };\n d3.ns = {\n prefix: d3_nsPrefix,\n qualify: function(name) {\n var i = name.indexOf(\":\"), prefix = name;\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return d3_nsPrefix.hasOwnProperty(prefix) ? {\n space: d3_nsPrefix[prefix],\n local: name\n } : name;\n }\n };\n d3_selectionPrototype.attr = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node();\n name = d3.ns.qualify(name);\n return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);\n }\n for (value in name) this.each(d3_selection_attr(value, name[value]));\n return this;\n }\n return this.each(d3_selection_attr(name, value));\n };\n function d3_selection_attr(name, value) {\n name = d3.ns.qualify(name);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrConstant() {\n this.setAttribute(name, value);\n }\n function attrConstantNS() {\n this.setAttributeNS(name.space, name.local, value);\n }\n function attrFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);\n }\n function attrFunctionNS() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);\n }\n return value == null ? name.local ? attrNullNS : attrNull : typeof value === \"function\" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;\n }\n function d3_collapse(s) {\n return s.trim().replace(/\\s+/g, \" \");\n }\n d3_selectionPrototype.classed = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;\n if (value = node.classList) {\n while (++i < n) if (!value.contains(name[i])) return false;\n } else {\n value = node.getAttribute(\"class\");\n while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;\n }\n return true;\n }\n for (value in name) this.each(d3_selection_classed(value, name[value]));\n return this;\n }\n return this.each(d3_selection_classed(name, value));\n };\n function d3_selection_classedRe(name) {\n return new RegExp(\"(?:^|\\\\s+)\" + d3.requote(name) + \"(?:\\\\s+|$)\", \"g\");\n }\n function d3_selection_classes(name) {\n return (name + \"\").trim().split(/^|\\s+/);\n }\n function d3_selection_classed(name, value) {\n name = d3_selection_classes(name).map(d3_selection_classedName);\n var n = name.length;\n function classedConstant() {\n var i = -1;\n while (++i < n) name[i](this, value);\n }\n function classedFunction() {\n var i = -1, x = value.apply(this, arguments);\n while (++i < n) name[i](this, x);\n }\n return typeof value === \"function\" ? classedFunction : classedConstant;\n }\n function d3_selection_classedName(name) {\n var re = d3_selection_classedRe(name);\n return function(node, value) {\n if (c = node.classList) return value ? c.add(name) : c.remove(name);\n var c = node.getAttribute(\"class\") || \"\";\n if (value) {\n re.lastIndex = 0;\n if (!re.test(c)) node.setAttribute(\"class\", d3_collapse(c + \" \" + name));\n } else {\n node.setAttribute(\"class\", d3_collapse(c.replace(re, \" \")));\n }\n };\n }\n d3_selectionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.each(d3_selection_style(priority, name[priority], value));\n return this;\n }\n if (n < 2) {\n var node = this.node();\n return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);\n }\n priority = \"\";\n }\n return this.each(d3_selection_style(name, value, priority));\n };\n function d3_selection_style(name, value, priority) {\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleConstant() {\n this.style.setProperty(name, value, priority);\n }\n function styleFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);\n }\n return value == null ? styleNull : typeof value === \"function\" ? styleFunction : styleConstant;\n }\n d3_selectionPrototype.property = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") return this.node()[name];\n for (value in name) this.each(d3_selection_property(value, name[value]));\n return this;\n }\n return this.each(d3_selection_property(name, value));\n };\n function d3_selection_property(name, value) {\n function propertyNull() {\n delete this[name];\n }\n function propertyConstant() {\n this[name] = value;\n }\n function propertyFunction() {\n var x = value.apply(this, arguments);\n if (x == null) delete this[name]; else this[name] = x;\n }\n return value == null ? propertyNull : typeof value === \"function\" ? propertyFunction : propertyConstant;\n }\n d3_selectionPrototype.text = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n } : value == null ? function() {\n this.textContent = \"\";\n } : function() {\n this.textContent = value;\n }) : this.node().textContent;\n };\n d3_selectionPrototype.html = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n } : value == null ? function() {\n this.innerHTML = \"\";\n } : function() {\n this.innerHTML = value;\n }) : this.node().innerHTML;\n };\n d3_selectionPrototype.append = function(name) {\n name = d3_selection_creator(name);\n return this.select(function() {\n return this.appendChild(name.apply(this, arguments));\n });\n };\n function d3_selection_creator(name) {\n function create() {\n var document = this.ownerDocument, namespace = this.namespaceURI;\n return namespace === d3_nsXhtml && document.documentElement.namespaceURI === d3_nsXhtml ? document.createElement(name) : document.createElementNS(namespace, name);\n }\n function createNS() {\n return this.ownerDocument.createElementNS(name.space, name.local);\n }\n return typeof name === \"function\" ? name : (name = d3.ns.qualify(name)).local ? createNS : create;\n }\n d3_selectionPrototype.insert = function(name, before) {\n name = d3_selection_creator(name);\n before = d3_selection_selector(before);\n return this.select(function() {\n return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);\n });\n };\n d3_selectionPrototype.remove = function() {\n return this.each(d3_selectionRemove);\n };\n function d3_selectionRemove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n }\n d3_selectionPrototype.data = function(value, key) {\n var i = -1, n = this.length, group, node;\n if (!arguments.length) {\n value = new Array(n = (group = this[0]).length);\n while (++i < n) {\n if (node = group[i]) {\n value[i] = node.__data__;\n }\n }\n return value;\n }\n function bind(group, groupData) {\n var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;\n if (key) {\n var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;\n for (i = -1; ++i < n; ) {\n if (node = group[i]) {\n if (nodeByKeyValue.has(keyValue = key.call(node, node.__data__, i))) {\n exitNodes[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n keyValues[i] = keyValue;\n }\n }\n for (i = -1; ++i < m; ) {\n if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n } else if (node !== true) {\n updateNodes[i] = node;\n node.__data__ = nodeData;\n }\n nodeByKeyValue.set(keyValue, true);\n }\n for (i = -1; ++i < n; ) {\n if (i in keyValues && nodeByKeyValue.get(keyValues[i]) !== true) {\n exitNodes[i] = group[i];\n }\n }\n } else {\n for (i = -1; ++i < n0; ) {\n node = group[i];\n nodeData = groupData[i];\n if (node) {\n node.__data__ = nodeData;\n updateNodes[i] = node;\n } else {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n }\n }\n for (;i < m; ++i) {\n enterNodes[i] = d3_selection_dataNode(groupData[i]);\n }\n for (;i < n; ++i) {\n exitNodes[i] = group[i];\n }\n }\n enterNodes.update = updateNodes;\n enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;\n enter.push(enterNodes);\n update.push(updateNodes);\n exit.push(exitNodes);\n }\n var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);\n if (typeof value === \"function\") {\n while (++i < n) {\n bind(group = this[i], value.call(group, group.parentNode.__data__, i));\n }\n } else {\n while (++i < n) {\n bind(group = this[i], value);\n }\n }\n update.enter = function() {\n return enter;\n };\n update.exit = function() {\n return exit;\n };\n return update;\n };\n function d3_selection_dataNode(data) {\n return {\n __data__: data\n };\n }\n d3_selectionPrototype.datum = function(value) {\n return arguments.length ? this.property(\"__data__\", value) : this.property(\"__data__\");\n };\n d3_selectionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_filter(selector) {\n return function() {\n return d3_selectMatches(this, selector);\n };\n }\n d3_selectionPrototype.order = function() {\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n return this;\n };\n d3_selectionPrototype.sort = function(comparator) {\n comparator = d3_selection_sortComparator.apply(this, arguments);\n for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);\n return this.order();\n };\n function d3_selection_sortComparator(comparator) {\n if (!arguments.length) comparator = d3_ascending;\n return function(a, b) {\n return a && b ? comparator(a.__data__, b.__data__) : !a - !b;\n };\n }\n d3_selectionPrototype.each = function(callback) {\n return d3_selection_each(this, function(node, i, j) {\n callback.call(node, node.__data__, i, j);\n });\n };\n function d3_selection_each(groups, callback) {\n for (var j = 0, m = groups.length; j < m; j++) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {\n if (node = group[i]) callback(node, i, j);\n }\n }\n return groups;\n }\n d3_selectionPrototype.call = function(callback) {\n var args = d3_array(arguments);\n callback.apply(args[0] = this, args);\n return this;\n };\n d3_selectionPrototype.empty = function() {\n return !this.node();\n };\n d3_selectionPrototype.node = function() {\n for (var j = 0, m = this.length; j < m; j++) {\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n var node = group[i];\n if (node) return node;\n }\n }\n return null;\n };\n d3_selectionPrototype.size = function() {\n var n = 0;\n d3_selection_each(this, function() {\n ++n;\n });\n return n;\n };\n function d3_selection_enter(selection) {\n d3_subclass(selection, d3_selection_enterPrototype);\n return selection;\n }\n var d3_selection_enterPrototype = [];\n d3.selection.enter = d3_selection_enter;\n d3.selection.enter.prototype = d3_selection_enterPrototype;\n d3_selection_enterPrototype.append = d3_selectionPrototype.append;\n d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;\n d3_selection_enterPrototype.node = d3_selectionPrototype.node;\n d3_selection_enterPrototype.call = d3_selectionPrototype.call;\n d3_selection_enterPrototype.size = d3_selectionPrototype.size;\n d3_selection_enterPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, upgroup, group, node;\n for (var j = -1, m = this.length; ++j < m; ) {\n upgroup = (group = this[j]).update;\n subgroups.push(subgroup = []);\n subgroup.parentNode = group.parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));\n subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n d3_selection_enterPrototype.insert = function(name, before) {\n if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);\n return d3_selectionPrototype.insert.call(this, name, before);\n };\n function d3_selection_enterInsertBefore(enter) {\n var i0, j0;\n return function(d, i, j) {\n var group = enter[j].update, n = group.length, node;\n if (j != j0) j0 = j, i0 = 0;\n if (i >= i0) i0 = i + 1;\n while (!(node = group[i0]) && ++i0 < n) ;\n return node;\n };\n }\n d3.select = function(node) {\n var group;\n if (typeof node === \"string\") {\n group = [ d3_select(node, d3_document) ];\n group.parentNode = d3_document.documentElement;\n } else {\n group = [ node ];\n group.parentNode = d3_documentElement(node);\n }\n return d3_selection([ group ]);\n };\n d3.selectAll = function(nodes) {\n var group;\n if (typeof nodes === \"string\") {\n group = d3_array(d3_selectAll(nodes, d3_document));\n group.parentNode = d3_document.documentElement;\n } else {\n group = d3_array(nodes);\n group.parentNode = null;\n }\n return d3_selection([ group ]);\n };\n d3_selectionPrototype.on = function(type, listener, capture) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof type !== \"string\") {\n if (n < 2) listener = false;\n for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));\n return this;\n }\n if (n < 2) return (n = this.node()[\"__on\" + type]) && n._;\n capture = false;\n }\n return this.each(d3_selection_on(type, listener, capture));\n };\n function d3_selection_on(type, listener, capture) {\n var name = \"__on\" + type, i = type.indexOf(\".\"), wrap = d3_selection_onListener;\n if (i > 0) type = type.slice(0, i);\n var filter = d3_selection_onFilters.get(type);\n if (filter) type = filter, wrap = d3_selection_onFilter;\n function onRemove() {\n var l = this[name];\n if (l) {\n this.removeEventListener(type, l, l.$);\n delete this[name];\n }\n }\n function onAdd() {\n var l = wrap(listener, d3_array(arguments));\n onRemove.call(this);\n this.addEventListener(type, this[name] = l, l.$ = capture);\n l._ = listener;\n }\n function removeAll() {\n var re = new RegExp(\"^__on([^.]+)\" + d3.requote(type) + \"$\"), match;\n for (var name in this) {\n if (match = name.match(re)) {\n var l = this[name];\n this.removeEventListener(match[1], l, l.$);\n delete this[name];\n }\n }\n }\n return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;\n }\n var d3_selection_onFilters = d3.map({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\"\n });\n if (d3_document) {\n d3_selection_onFilters.forEach(function(k) {\n if (\"on\" + k in d3_document) d3_selection_onFilters.remove(k);\n });\n }\n function d3_selection_onListener(listener, argumentz) {\n return function(e) {\n var o = d3.event;\n d3.event = e;\n argumentz[0] = this.__data__;\n try {\n listener.apply(this, argumentz);\n } finally {\n d3.event = o;\n }\n };\n }\n function d3_selection_onFilter(listener, argumentz) {\n var l = d3_selection_onListener(listener, argumentz);\n return function(e) {\n var target = this, related = e.relatedTarget;\n if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {\n l.call(target, e);\n }\n };\n }\n var d3_event_dragSelect, d3_event_dragId = 0;\n function d3_event_dragSuppress(node) {\n var name = \".dragsuppress-\" + ++d3_event_dragId, click = \"click\" + name, w = d3.select(d3_window(node)).on(\"touchmove\" + name, d3_eventPreventDefault).on(\"dragstart\" + name, d3_eventPreventDefault).on(\"selectstart\" + name, d3_eventPreventDefault);\n if (d3_event_dragSelect == null) {\n d3_event_dragSelect = \"onselectstart\" in node ? false : d3_vendorSymbol(node.style, \"userSelect\");\n }\n if (d3_event_dragSelect) {\n var style = d3_documentElement(node).style, select = style[d3_event_dragSelect];\n style[d3_event_dragSelect] = \"none\";\n }\n return function(suppressClick) {\n w.on(name, null);\n if (d3_event_dragSelect) style[d3_event_dragSelect] = select;\n if (suppressClick) {\n var off = function() {\n w.on(click, null);\n };\n w.on(click, function() {\n d3_eventPreventDefault();\n off();\n }, true);\n setTimeout(off, 0);\n }\n };\n }\n d3.mouse = function(container) {\n return d3_mousePoint(container, d3_eventSource());\n };\n var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n function d3_mousePoint(container, e) {\n if (e.changedTouches) e = e.changedTouches[0];\n var svg = container.ownerSVGElement || container;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n if (d3_mouse_bug44083 < 0) {\n var window = d3_window(container);\n if (window.scrollX || window.scrollY) {\n svg = d3.select(\"body\").append(\"svg\").style({\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n border: \"none\"\n }, \"important\");\n var ctm = svg[0][0].getScreenCTM();\n d3_mouse_bug44083 = !(ctm.f || ctm.e);\n svg.remove();\n }\n }\n if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, \n point.y = e.clientY;\n point = point.matrixTransform(container.getScreenCTM().inverse());\n return [ point.x, point.y ];\n }\n var rect = container.getBoundingClientRect();\n return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];\n }\n d3.touch = function(container, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;\n if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return d3_mousePoint(container, touch);\n }\n }\n };\n d3.behavior.drag = function() {\n var event = d3_eventDispatch(drag, \"drag\", \"dragstart\", \"dragend\"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, \"mousemove\", \"mouseup\"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, \"touchmove\", \"touchend\");\n function drag() {\n this.on(\"mousedown.drag\", mousedown).on(\"touchstart.drag\", touchstart);\n }\n function dragstart(id, position, subject, move, end) {\n return function() {\n var that = this, target = d3.event.target.correspondingElement || d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = \".drag\" + (dragId == null ? \"\" : \"-\" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId);\n if (origin) {\n dragOffset = origin.apply(that, arguments);\n dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];\n } else {\n dragOffset = [ 0, 0 ];\n }\n dispatch({\n type: \"dragstart\"\n });\n function moved() {\n var position1 = position(parent, dragId), dx, dy;\n if (!position1) return;\n dx = position1[0] - position0[0];\n dy = position1[1] - position0[1];\n dragged |= dx | dy;\n position0 = position1;\n dispatch({\n type: \"drag\",\n x: position1[0] + dragOffset[0],\n y: position1[1] + dragOffset[1],\n dx: dx,\n dy: dy\n });\n }\n function ended() {\n if (!position(parent, dragId)) return;\n dragSubject.on(move + dragName, null).on(end + dragName, null);\n dragRestore(dragged);\n dispatch({\n type: \"dragend\"\n });\n }\n };\n }\n drag.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return drag;\n };\n return d3.rebind(drag, event, \"on\");\n };\n function d3_behavior_dragTouchId() {\n return d3.event.changedTouches[0].identifier;\n }\n d3.touches = function(container, touches) {\n if (arguments.length < 2) touches = d3_eventSource().touches;\n return touches ? d3_array(touches).map(function(touch) {\n var point = d3_mousePoint(container, touch);\n point.identifier = touch.identifier;\n return point;\n }) : [];\n };\n var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;\n function d3_sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function d3_cross2d(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n }\n function d3_acos(x) {\n return x > 1 ? 0 : x < -1 ? π : Math.acos(x);\n }\n function d3_asin(x) {\n return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);\n }\n function d3_sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n }\n function d3_cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n }\n function d3_tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n }\n function d3_haversin(x) {\n return (x = Math.sin(x / 2)) * x;\n }\n var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4;\n d3.interpolateZoom = function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;\n if (d2 < ε2) {\n S = Math.log(w1 / w0) / ρ;\n i = function(t) {\n return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * t * S) ];\n };\n } else {\n var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / ρ;\n i = function(t) {\n var s = t * S, coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));\n return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ];\n };\n }\n i.duration = S * 1e3;\n return i;\n };\n d3.behavior.zoom = function() {\n var view = {\n x: 0,\n y: 0,\n k: 1\n }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = \"mousedown.zoom\", mousemove = \"mousemove.zoom\", mouseup = \"mouseup.zoom\", mousewheelTimer, touchstart = \"touchstart.zoom\", touchtime, event = d3_eventDispatch(zoom, \"zoomstart\", \"zoom\", \"zoomend\"), x0, x1, y0, y1;\n if (!d3_behavior_zoomWheel) {\n d3_behavior_zoomWheel = \"onwheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);\n }, \"wheel\") : \"onmousewheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return d3.event.wheelDelta;\n }, \"mousewheel\") : (d3_behavior_zoomDelta = function() {\n return -d3.event.detail;\n }, \"MozMousePixelScroll\");\n }\n function zoom(g) {\n g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + \".zoom\", mousewheeled).on(\"dblclick.zoom\", dblclicked).on(touchstart, touchstarted);\n }\n zoom.event = function(g) {\n g.each(function() {\n var dispatch = event.of(this, arguments), view1 = view;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.zoom\", function() {\n view = this.__chart__ || {\n x: 0,\n y: 0,\n k: 1\n };\n zoomstarted(dispatch);\n }).tween(\"zoom:zoom\", function() {\n var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);\n return function(t) {\n var l = i(t), k = dx / l[2];\n this.__chart__ = view = {\n x: cx - l[0] * k,\n y: cy - l[1] * k,\n k: k\n };\n zoomed(dispatch);\n };\n }).each(\"interrupt.zoom\", function() {\n zoomended(dispatch);\n }).each(\"end.zoom\", function() {\n zoomended(dispatch);\n });\n } else {\n this.__chart__ = view;\n zoomstarted(dispatch);\n zoomed(dispatch);\n zoomended(dispatch);\n }\n });\n };\n zoom.translate = function(_) {\n if (!arguments.length) return [ view.x, view.y ];\n view = {\n x: +_[0],\n y: +_[1],\n k: view.k\n };\n rescale();\n return zoom;\n };\n zoom.scale = function(_) {\n if (!arguments.length) return view.k;\n view = {\n x: view.x,\n y: view.y,\n k: null\n };\n scaleTo(+_);\n rescale();\n return zoom;\n };\n zoom.scaleExtent = function(_) {\n if (!arguments.length) return scaleExtent;\n scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.center = function(_) {\n if (!arguments.length) return center;\n center = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.size = function(_) {\n if (!arguments.length) return size;\n size = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.duration = function(_) {\n if (!arguments.length) return duration;\n duration = +_;\n return zoom;\n };\n zoom.x = function(z) {\n if (!arguments.length) return x1;\n x1 = z;\n x0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n zoom.y = function(z) {\n if (!arguments.length) return y1;\n y1 = z;\n y0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n function location(p) {\n return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];\n }\n function point(l) {\n return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];\n }\n function scaleTo(s) {\n view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));\n }\n function translateTo(p, l) {\n l = point(l);\n view.x += p[0] - l[0];\n view.y += p[1] - l[1];\n }\n function zoomTo(that, p, l, k) {\n that.__chart__ = {\n x: view.x,\n y: view.y,\n k: view.k\n };\n scaleTo(Math.pow(2, k));\n translateTo(center0 = p, l);\n that = d3.select(that);\n if (duration > 0) that = that.transition().duration(duration);\n that.call(zoom.event);\n }\n function rescale() {\n if (x1) x1.domain(x0.range().map(function(x) {\n return (x - view.x) / view.k;\n }).map(x0.invert));\n if (y1) y1.domain(y0.range().map(function(y) {\n return (y - view.y) / view.k;\n }).map(y0.invert));\n }\n function zoomstarted(dispatch) {\n if (!zooming++) dispatch({\n type: \"zoomstart\"\n });\n }\n function zoomed(dispatch) {\n rescale();\n dispatch({\n type: \"zoom\",\n scale: view.k,\n translate: [ view.x, view.y ]\n });\n }\n function zoomended(dispatch) {\n if (!--zooming) dispatch({\n type: \"zoomend\"\n }), center0 = null;\n }\n function mousedowned() {\n var that = this, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that);\n d3_selection_interrupt.call(that);\n zoomstarted(dispatch);\n function moved() {\n dragged = 1;\n translateTo(d3.mouse(that), location0);\n zoomed(dispatch);\n }\n function ended() {\n subject.on(mousemove, null).on(mouseup, null);\n dragRestore(dragged);\n zoomended(dispatch);\n }\n }\n function touchstarted() {\n var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = \".zoom-\" + d3.event.changedTouches[0].identifier, touchmove = \"touchmove\" + zoomName, touchend = \"touchend\" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that);\n started();\n zoomstarted(dispatch);\n subject.on(mousedown, null).on(touchstart, started);\n function relocate() {\n var touches = d3.touches(that);\n scale0 = view.k;\n touches.forEach(function(t) {\n if (t.identifier in locations0) locations0[t.identifier] = location(t);\n });\n return touches;\n }\n function started() {\n var target = d3.event.target;\n d3.select(target).on(touchmove, moved).on(touchend, ended);\n targets.push(target);\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n locations0[changed[i].identifier] = null;\n }\n var touches = relocate(), now = Date.now();\n if (touches.length === 1) {\n if (now - touchtime < 500) {\n var p = touches[0];\n zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);\n d3_eventPreventDefault();\n }\n touchtime = now;\n } else if (touches.length > 1) {\n var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];\n distance0 = dx * dx + dy * dy;\n }\n }\n function moved() {\n var touches = d3.touches(that), p0, l0, p1, l1;\n d3_selection_interrupt.call(that);\n for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {\n p1 = touches[i];\n if (l1 = locations0[p1.identifier]) {\n if (l0) break;\n p0 = p1, l0 = l1;\n }\n }\n if (l1) {\n var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0);\n p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];\n l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];\n scaleTo(scale1 * scale0);\n }\n touchtime = null;\n translateTo(p0, l0);\n zoomed(dispatch);\n }\n function ended() {\n if (d3.event.touches.length) {\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n delete locations0[changed[i].identifier];\n }\n for (var identifier in locations0) {\n return void relocate();\n }\n }\n d3.selectAll(targets).on(zoomName, null);\n subject.on(mousedown, mousedowned).on(touchstart, touchstarted);\n dragRestore();\n zoomended(dispatch);\n }\n }\n function mousewheeled() {\n var dispatch = event.of(this, arguments);\n if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), \n translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);\n mousewheelTimer = setTimeout(function() {\n mousewheelTimer = null;\n zoomended(dispatch);\n }, 50);\n d3_eventPreventDefault();\n scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);\n translateTo(center0, translate0);\n zoomed(dispatch);\n }\n function dblclicked() {\n var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2;\n zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);\n }\n return d3.rebind(zoom, event, \"on\");\n };\n var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel;\n d3.color = d3_color;\n function d3_color() {}\n d3_color.prototype.toString = function() {\n return this.rgb() + \"\";\n };\n d3.hsl = d3_hsl;\n function d3_hsl(h, s, l) {\n return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse(\"\" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l);\n }\n var d3_hslPrototype = d3_hsl.prototype = new d3_color();\n d3_hslPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, this.l / k);\n };\n d3_hslPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, k * this.l);\n };\n d3_hslPrototype.rgb = function() {\n return d3_hsl_rgb(this.h, this.s, this.l);\n };\n function d3_hsl_rgb(h, s, l) {\n var m1, m2;\n h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;\n s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n m2 = l <= .5 ? l * (1 + s) : l + s - l * s;\n m1 = 2 * l - m2;\n function v(h) {\n if (h > 360) h -= 360; else if (h < 0) h += 360;\n if (h < 60) return m1 + (m2 - m1) * h / 60;\n if (h < 180) return m2;\n if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;\n return m1;\n }\n function vv(h) {\n return Math.round(v(h) * 255);\n }\n return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));\n }\n d3.hcl = d3_hcl;\n function d3_hcl(h, c, l) {\n return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l);\n }\n var d3_hclPrototype = d3_hcl.prototype = new d3_color();\n d3_hclPrototype.brighter = function(k) {\n return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.darker = function(k) {\n return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.rgb = function() {\n return d3_hcl_lab(this.h, this.c, this.l).rgb();\n };\n function d3_hcl_lab(h, c, l) {\n if (isNaN(h)) h = 0;\n if (isNaN(c)) c = 0;\n return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);\n }\n d3.lab = d3_lab;\n function d3_lab(l, a, b) {\n return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);\n }\n var d3_lab_K = 18;\n var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;\n var d3_labPrototype = d3_lab.prototype = new d3_color();\n d3_labPrototype.brighter = function(k) {\n return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.darker = function(k) {\n return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.rgb = function() {\n return d3_lab_rgb(this.l, this.a, this.b);\n };\n function d3_lab_rgb(l, a, b) {\n var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;\n x = d3_lab_xyz(x) * d3_lab_X;\n y = d3_lab_xyz(y) * d3_lab_Y;\n z = d3_lab_xyz(z) * d3_lab_Z;\n return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));\n }\n function d3_lab_hcl(l, a, b) {\n return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l);\n }\n function d3_lab_xyz(x) {\n return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;\n }\n function d3_xyz_lab(x) {\n return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;\n }\n function d3_xyz_rgb(r) {\n return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));\n }\n d3.rgb = d3_rgb;\n function d3_rgb(r, g, b) {\n return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse(\"\" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b);\n }\n function d3_rgbNumber(value) {\n return new d3_rgb(value >> 16, value >> 8 & 255, value & 255);\n }\n function d3_rgbString(value) {\n return d3_rgbNumber(value) + \"\";\n }\n var d3_rgbPrototype = d3_rgb.prototype = new d3_color();\n d3_rgbPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n var r = this.r, g = this.g, b = this.b, i = 30;\n if (!r && !g && !b) return new d3_rgb(i, i, i);\n if (r && r < i) r = i;\n if (g && g < i) g = i;\n if (b && b < i) b = i;\n return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));\n };\n d3_rgbPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_rgb(k * this.r, k * this.g, k * this.b);\n };\n d3_rgbPrototype.hsl = function() {\n return d3_rgb_hsl(this.r, this.g, this.b);\n };\n d3_rgbPrototype.toString = function() {\n return \"#\" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);\n };\n function d3_rgb_hex(v) {\n return v < 16 ? \"0\" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);\n }\n function d3_rgb_parse(format, rgb, hsl) {\n var r = 0, g = 0, b = 0, m1, m2, color;\n m1 = /([a-z]+)\\((.*)\\)/.exec(format = format.toLowerCase());\n if (m1) {\n m2 = m1[2].split(\",\");\n switch (m1[1]) {\n case \"hsl\":\n {\n return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);\n }\n\n case \"rgb\":\n {\n return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));\n }\n }\n }\n if (color = d3_rgb_names.get(format)) {\n return rgb(color.r, color.g, color.b);\n }\n if (format != null && format.charAt(0) === \"#\" && !isNaN(color = parseInt(format.slice(1), 16))) {\n if (format.length === 4) {\n r = (color & 3840) >> 4;\n r = r >> 4 | r;\n g = color & 240;\n g = g >> 4 | g;\n b = color & 15;\n b = b << 4 | b;\n } else if (format.length === 7) {\n r = (color & 16711680) >> 16;\n g = (color & 65280) >> 8;\n b = color & 255;\n }\n }\n return rgb(r, g, b);\n }\n function d3_rgb_hsl(r, g, b) {\n var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;\n if (d) {\n s = l < .5 ? d / (max + min) : d / (2 - max - min);\n if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;\n h *= 60;\n } else {\n h = NaN;\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new d3_hsl(h, s, l);\n }\n function d3_rgb_lab(r, g, b) {\n r = d3_rgb_xyz(r);\n g = d3_rgb_xyz(g);\n b = d3_rgb_xyz(b);\n var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);\n return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));\n }\n function d3_rgb_xyz(r) {\n return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);\n }\n function d3_rgb_parseNumber(c) {\n var f = parseFloat(c);\n return c.charAt(c.length - 1) === \"%\" ? Math.round(f * 2.55) : f;\n }\n var d3_rgb_names = d3.map({\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n });\n d3_rgb_names.forEach(function(key, value) {\n d3_rgb_names.set(key, d3_rgbNumber(value));\n });\n function d3_functor(v) {\n return typeof v === \"function\" ? v : function() {\n return v;\n };\n }\n d3.functor = d3_functor;\n d3.xhr = d3_xhrType(d3_identity);\n function d3_xhrType(response) {\n return function(url, mimeType, callback) {\n if (arguments.length === 2 && typeof mimeType === \"function\") callback = mimeType, \n mimeType = null;\n return d3_xhr(url, mimeType, response, callback);\n };\n }\n function d3_xhr(url, mimeType, response, callback) {\n var xhr = {}, dispatch = d3.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), headers = {}, request = new XMLHttpRequest(), responseType = null;\n if (this.XDomainRequest && !(\"withCredentials\" in request) && /^(http(s)?:)?\\/\\//.test(url)) request = new XDomainRequest();\n \"onload\" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {\n request.readyState > 3 && respond();\n };\n function respond() {\n var status = request.status, result;\n if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {\n try {\n result = response.call(xhr, request);\n } catch (e) {\n dispatch.error.call(xhr, e);\n return;\n }\n dispatch.load.call(xhr, result);\n } else {\n dispatch.error.call(xhr, request);\n }\n }\n request.onprogress = function(event) {\n var o = d3.event;\n d3.event = event;\n try {\n dispatch.progress.call(xhr, request);\n } finally {\n d3.event = o;\n }\n };\n xhr.header = function(name, value) {\n name = (name + \"\").toLowerCase();\n if (arguments.length < 2) return headers[name];\n if (value == null) delete headers[name]; else headers[name] = value + \"\";\n return xhr;\n };\n xhr.mimeType = function(value) {\n if (!arguments.length) return mimeType;\n mimeType = value == null ? null : value + \"\";\n return xhr;\n };\n xhr.responseType = function(value) {\n if (!arguments.length) return responseType;\n responseType = value;\n return xhr;\n };\n xhr.response = function(value) {\n response = value;\n return xhr;\n };\n [ \"get\", \"post\" ].forEach(function(method) {\n xhr[method] = function() {\n return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));\n };\n });\n xhr.send = function(method, data, callback) {\n if (arguments.length === 2 && typeof data === \"function\") callback = data, data = null;\n request.open(method, url, true);\n if (mimeType != null && !(\"accept\" in headers)) headers[\"accept\"] = mimeType + \",*/*\";\n if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);\n if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);\n if (responseType != null) request.responseType = responseType;\n if (callback != null) xhr.on(\"error\", callback).on(\"load\", function(request) {\n callback(null, request);\n });\n dispatch.beforesend.call(xhr, request);\n request.send(data == null ? null : data);\n return xhr;\n };\n xhr.abort = function() {\n request.abort();\n return xhr;\n };\n d3.rebind(xhr, dispatch, \"on\");\n return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));\n }\n function d3_xhr_fixCallback(callback) {\n return callback.length === 1 ? function(error, request) {\n callback(error == null ? request : null);\n } : callback;\n }\n function d3_xhrHasResponse(request) {\n var type = request.responseType;\n return type && type !== \"text\" ? request.response : request.responseText;\n }\n d3.dsv = function(delimiter, mimeType) {\n var reFormat = new RegExp('[\"' + delimiter + \"\\n]\"), delimiterCode = delimiter.charCodeAt(0);\n function dsv(url, row, callback) {\n if (arguments.length < 3) callback = row, row = null;\n var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);\n xhr.row = function(_) {\n return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;\n };\n return xhr;\n }\n function response(request) {\n return dsv.parse(request.responseText);\n }\n function typedResponse(f) {\n return function(request) {\n return dsv.parse(request.responseText, f);\n };\n }\n dsv.parse = function(text, f) {\n var o;\n return dsv.parseRows(text, function(row, i) {\n if (o) return o(row, i - 1);\n var a = new Function(\"d\", \"return {\" + row.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n o = f ? function(row, i) {\n return f(a(row), i);\n } : a;\n });\n };\n dsv.parseRows = function(text, f) {\n var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;\n function token() {\n if (I >= N) return EOF;\n if (eol) return eol = false, EOL;\n var j = I;\n if (text.charCodeAt(j) === 34) {\n var i = j;\n while (i++ < N) {\n if (text.charCodeAt(i) === 34) {\n if (text.charCodeAt(i + 1) !== 34) break;\n ++i;\n }\n }\n I = i + 2;\n var c = text.charCodeAt(i + 1);\n if (c === 13) {\n eol = true;\n if (text.charCodeAt(i + 2) === 10) ++I;\n } else if (c === 10) {\n eol = true;\n }\n return text.slice(j + 1, i).replace(/\"\"/g, '\"');\n }\n while (I < N) {\n var c = text.charCodeAt(I++), k = 1;\n if (c === 10) eol = true; else if (c === 13) {\n eol = true;\n if (text.charCodeAt(I) === 10) ++I, ++k;\n } else if (c !== delimiterCode) continue;\n return text.slice(j, I - k);\n }\n return text.slice(j);\n }\n while ((t = token()) !== EOF) {\n var a = [];\n while (t !== EOL && t !== EOF) {\n a.push(t);\n t = token();\n }\n if (f && (a = f(a, n++)) == null) continue;\n rows.push(a);\n }\n return rows;\n };\n dsv.format = function(rows) {\n if (Array.isArray(rows[0])) return dsv.formatRows(rows);\n var fieldSet = new d3_Set(), fields = [];\n rows.forEach(function(row) {\n for (var field in row) {\n if (!fieldSet.has(field)) {\n fields.push(fieldSet.add(field));\n }\n }\n });\n return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {\n return fields.map(function(field) {\n return formatValue(row[field]);\n }).join(delimiter);\n })).join(\"\\n\");\n };\n dsv.formatRows = function(rows) {\n return rows.map(formatRow).join(\"\\n\");\n };\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n function formatValue(text) {\n return reFormat.test(text) ? '\"' + text.replace(/\\\"/g, '\"\"') + '\"' : text;\n }\n return dsv;\n };\n d3.csv = d3.dsv(\",\", \"text/csv\");\n d3.tsv = d3.dsv(\"\t\", \"text/tab-separated-values\");\n var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_frame = this[d3_vendorSymbol(this, \"requestAnimationFrame\")] || function(callback) {\n setTimeout(callback, 17);\n };\n d3.timer = function() {\n d3_timer.apply(this, arguments);\n };\n function d3_timer(callback, delay, then) {\n var n = arguments.length;\n if (n < 2) delay = 0;\n if (n < 3) then = Date.now();\n var time = then + delay, timer = {\n c: callback,\n t: time,\n n: null\n };\n if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer;\n d3_timer_queueTail = timer;\n if (!d3_timer_interval) {\n d3_timer_timeout = clearTimeout(d3_timer_timeout);\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n return timer;\n }\n function d3_timer_step() {\n var now = d3_timer_mark(), delay = d3_timer_sweep() - now;\n if (delay > 24) {\n if (isFinite(delay)) {\n clearTimeout(d3_timer_timeout);\n d3_timer_timeout = setTimeout(d3_timer_step, delay);\n }\n d3_timer_interval = 0;\n } else {\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n }\n d3.timer.flush = function() {\n d3_timer_mark();\n d3_timer_sweep();\n };\n function d3_timer_mark() {\n var now = Date.now(), timer = d3_timer_queueHead;\n while (timer) {\n if (now >= timer.t && timer.c(now - timer.t)) timer.c = null;\n timer = timer.n;\n }\n return now;\n }\n function d3_timer_sweep() {\n var t0, t1 = d3_timer_queueHead, time = Infinity;\n while (t1) {\n if (t1.c) {\n if (t1.t < time) time = t1.t;\n t1 = (t0 = t1).n;\n } else {\n t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;\n }\n }\n d3_timer_queueTail = t0;\n return time;\n }\n function d3_format_precision(x, p) {\n return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);\n }\n d3.round = function(x, n) {\n return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n };\n var d3_formatPrefixes = [ \"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\" ].map(d3_formatPrefix);\n d3.formatPrefix = function(value, precision) {\n var i = 0;\n if (value = +value) {\n if (value < 0) value *= -1;\n if (precision) value = d3.round(value, d3_format_precision(value, precision));\n i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);\n i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));\n }\n return d3_formatPrefixes[8 + i / 3];\n };\n function d3_formatPrefix(d, i) {\n var k = Math.pow(10, abs(8 - i) * 3);\n return {\n scale: i > 8 ? function(d) {\n return d / k;\n } : function(d) {\n return d * k;\n },\n symbol: d\n };\n }\n function d3_locale_numberFormat(locale) {\n var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {\n var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = locale_grouping[j = (j + 1) % locale_grouping.length];\n }\n return t.reverse().join(locale_thousands);\n } : d3_identity;\n return function(specifier) {\n var match = d3_format_re.exec(specifier), fill = match[1] || \" \", align = match[2] || \">\", sign = match[3] || \"-\", symbol = match[4] || \"\", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = \"\", suffix = \"\", integer = false, exponent = true;\n if (precision) precision = +precision.substring(1);\n if (zfill || fill === \"0\" && align === \"=\") {\n zfill = fill = \"0\";\n align = \"=\";\n }\n switch (type) {\n case \"n\":\n comma = true;\n type = \"g\";\n break;\n\n case \"%\":\n scale = 100;\n suffix = \"%\";\n type = \"f\";\n break;\n\n case \"p\":\n scale = 100;\n suffix = \"%\";\n type = \"r\";\n break;\n\n case \"b\":\n case \"o\":\n case \"x\":\n case \"X\":\n if (symbol === \"#\") prefix = \"0\" + type.toLowerCase();\n\n case \"c\":\n exponent = false;\n\n case \"d\":\n integer = true;\n precision = 0;\n break;\n\n case \"s\":\n scale = -1;\n type = \"r\";\n break;\n }\n if (symbol === \"$\") prefix = locale_currency[0], suffix = locale_currency[1];\n if (type == \"r\" && !precision) type = \"g\";\n if (precision != null) {\n if (type == \"g\") precision = Math.max(1, Math.min(21, precision)); else if (type == \"e\" || type == \"f\") precision = Math.max(0, Math.min(20, precision));\n }\n type = d3_format_types.get(type) || d3_format_typeDefault;\n var zcomma = zfill && comma;\n return function(value) {\n var fullSuffix = suffix;\n if (integer && value % 1) return \"\";\n var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, \"-\") : sign === \"-\" ? \"\" : sign;\n if (scale < 0) {\n var unit = d3.formatPrefix(value, precision);\n value = unit.scale(value);\n fullSuffix = unit.symbol + suffix;\n } else {\n value *= scale;\n }\n value = type(value, precision);\n var i = value.lastIndexOf(\".\"), before, after;\n if (i < 0) {\n var j = exponent ? value.lastIndexOf(\"e\") : -1;\n if (j < 0) before = value, after = \"\"; else before = value.substring(0, j), after = value.substring(j);\n } else {\n before = value.substring(0, i);\n after = locale_decimal + value.substring(i + 1);\n }\n if (!zfill && comma) before = formatGroup(before, Infinity);\n var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : \"\";\n if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);\n negative += prefix;\n value = before + after;\n return (align === \"<\" ? negative + value + padding : align === \">\" ? padding + negative + value : align === \"^\" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;\n };\n };\n }\n var d3_format_re = /(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i;\n var d3_format_types = d3.map({\n b: function(x) {\n return x.toString(2);\n },\n c: function(x) {\n return String.fromCharCode(x);\n },\n o: function(x) {\n return x.toString(8);\n },\n x: function(x) {\n return x.toString(16);\n },\n X: function(x) {\n return x.toString(16).toUpperCase();\n },\n g: function(x, p) {\n return x.toPrecision(p);\n },\n e: function(x, p) {\n return x.toExponential(p);\n },\n f: function(x, p) {\n return x.toFixed(p);\n },\n r: function(x, p) {\n return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));\n }\n });\n function d3_format_typeDefault(x) {\n return x + \"\";\n }\n var d3_time = d3.time = {}, d3_date = Date;\n function d3_date_utc() {\n this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);\n }\n d3_date_utc.prototype = {\n getDate: function() {\n return this._.getUTCDate();\n },\n getDay: function() {\n return this._.getUTCDay();\n },\n getFullYear: function() {\n return this._.getUTCFullYear();\n },\n getHours: function() {\n return this._.getUTCHours();\n },\n getMilliseconds: function() {\n return this._.getUTCMilliseconds();\n },\n getMinutes: function() {\n return this._.getUTCMinutes();\n },\n getMonth: function() {\n return this._.getUTCMonth();\n },\n getSeconds: function() {\n return this._.getUTCSeconds();\n },\n getTime: function() {\n return this._.getTime();\n },\n getTimezoneOffset: function() {\n return 0;\n },\n valueOf: function() {\n return this._.valueOf();\n },\n setDate: function() {\n d3_time_prototype.setUTCDate.apply(this._, arguments);\n },\n setDay: function() {\n d3_time_prototype.setUTCDay.apply(this._, arguments);\n },\n setFullYear: function() {\n d3_time_prototype.setUTCFullYear.apply(this._, arguments);\n },\n setHours: function() {\n d3_time_prototype.setUTCHours.apply(this._, arguments);\n },\n setMilliseconds: function() {\n d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);\n },\n setMinutes: function() {\n d3_time_prototype.setUTCMinutes.apply(this._, arguments);\n },\n setMonth: function() {\n d3_time_prototype.setUTCMonth.apply(this._, arguments);\n },\n setSeconds: function() {\n d3_time_prototype.setUTCSeconds.apply(this._, arguments);\n },\n setTime: function() {\n d3_time_prototype.setTime.apply(this._, arguments);\n }\n };\n var d3_time_prototype = Date.prototype;\n function d3_time_interval(local, step, number) {\n function round(date) {\n var d0 = local(date), d1 = offset(d0, 1);\n return date - d0 < d1 - date ? d0 : d1;\n }\n function ceil(date) {\n step(date = local(new d3_date(date - 1)), 1);\n return date;\n }\n function offset(date, k) {\n step(date = new d3_date(+date), k);\n return date;\n }\n function range(t0, t1, dt) {\n var time = ceil(t0), times = [];\n if (dt > 1) {\n while (time < t1) {\n if (!(number(time) % dt)) times.push(new Date(+time));\n step(time, 1);\n }\n } else {\n while (time < t1) times.push(new Date(+time)), step(time, 1);\n }\n return times;\n }\n function range_utc(t0, t1, dt) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = t0;\n return range(utc, t1, dt);\n } finally {\n d3_date = Date;\n }\n }\n local.floor = local;\n local.round = round;\n local.ceil = ceil;\n local.offset = offset;\n local.range = range;\n var utc = local.utc = d3_time_interval_utc(local);\n utc.floor = utc;\n utc.round = d3_time_interval_utc(round);\n utc.ceil = d3_time_interval_utc(ceil);\n utc.offset = d3_time_interval_utc(offset);\n utc.range = range_utc;\n return local;\n }\n function d3_time_interval_utc(method) {\n return function(date, k) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = date;\n return method(utc, k)._;\n } finally {\n d3_date = Date;\n }\n };\n }\n d3_time.year = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setMonth(0, 1);\n return date;\n }, function(date, offset) {\n date.setFullYear(date.getFullYear() + offset);\n }, function(date) {\n return date.getFullYear();\n });\n d3_time.years = d3_time.year.range;\n d3_time.years.utc = d3_time.year.utc.range;\n d3_time.day = d3_time_interval(function(date) {\n var day = new d3_date(2e3, 0);\n day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n return day;\n }, function(date, offset) {\n date.setDate(date.getDate() + offset);\n }, function(date) {\n return date.getDate() - 1;\n });\n d3_time.days = d3_time.day.range;\n d3_time.days.utc = d3_time.day.utc.range;\n d3_time.dayOfYear = function(date) {\n var year = d3_time.year(date);\n return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);\n };\n [ \"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\" ].forEach(function(day, i) {\n i = 7 - i;\n var interval = d3_time[day] = d3_time_interval(function(date) {\n (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);\n return date;\n }, function(date, offset) {\n date.setDate(date.getDate() + Math.floor(offset) * 7);\n }, function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);\n });\n d3_time[day + \"s\"] = interval.range;\n d3_time[day + \"s\"].utc = interval.utc.range;\n d3_time[day + \"OfYear\"] = function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);\n };\n });\n d3_time.week = d3_time.sunday;\n d3_time.weeks = d3_time.sunday.range;\n d3_time.weeks.utc = d3_time.sunday.utc.range;\n d3_time.weekOfYear = d3_time.sundayOfYear;\n function d3_locale_timeFormat(locale) {\n var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;\n function d3_time_format(template) {\n var n = template.length;\n function format(date) {\n var string = [], i = -1, j = 0, c, p, f;\n while (++i < n) {\n if (template.charCodeAt(i) === 37) {\n string.push(template.slice(j, i));\n if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);\n if (f = d3_time_formats[c]) c = f(date, p == null ? c === \"e\" ? \" \" : \"0\" : p);\n string.push(c);\n j = i + 1;\n }\n }\n string.push(template.slice(j, i));\n return string.join(\"\");\n }\n format.parse = function(string) {\n var d = {\n y: 1900,\n m: 0,\n d: 1,\n H: 0,\n M: 0,\n S: 0,\n L: 0,\n Z: null\n }, i = d3_time_parse(d, template, string, 0);\n if (i != string.length) return null;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();\n if (\"j\" in d) date.setFullYear(d.y, 0, d.j); else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"W\" in d ? 1 : 0;\n date.setFullYear(d.y, 0, 1);\n date.setFullYear(d.y, 0, \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);\n } else date.setFullYear(d.y, d.m, d.d);\n date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);\n return localZ ? date._ : date;\n };\n format.toString = function() {\n return template;\n };\n return format;\n }\n function d3_time_parse(date, template, string, j) {\n var c, p, t, i = 0, n = template.length, m = string.length;\n while (i < n) {\n if (j >= m) return -1;\n c = template.charCodeAt(i++);\n if (c === 37) {\n t = template.charAt(i++);\n p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];\n if (!p || (j = p(date, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n d3_time_format.utc = function(template) {\n var local = d3_time_format(template);\n function format(date) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date();\n utc._ = date;\n return local(utc);\n } finally {\n d3_date = Date;\n }\n }\n format.parse = function(string) {\n try {\n d3_date = d3_date_utc;\n var date = local.parse(string);\n return date && date._;\n } finally {\n d3_date = Date;\n }\n };\n format.toString = local.toString;\n return format;\n };\n d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;\n var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);\n locale_periods.forEach(function(p, i) {\n d3_time_periodLookup.set(p.toLowerCase(), i);\n });\n var d3_time_formats = {\n a: function(d) {\n return locale_shortDays[d.getDay()];\n },\n A: function(d) {\n return locale_days[d.getDay()];\n },\n b: function(d) {\n return locale_shortMonths[d.getMonth()];\n },\n B: function(d) {\n return locale_months[d.getMonth()];\n },\n c: d3_time_format(locale_dateTime),\n d: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n e: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n H: function(d, p) {\n return d3_time_formatPad(d.getHours(), p, 2);\n },\n I: function(d, p) {\n return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);\n },\n j: function(d, p) {\n return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);\n },\n L: function(d, p) {\n return d3_time_formatPad(d.getMilliseconds(), p, 3);\n },\n m: function(d, p) {\n return d3_time_formatPad(d.getMonth() + 1, p, 2);\n },\n M: function(d, p) {\n return d3_time_formatPad(d.getMinutes(), p, 2);\n },\n p: function(d) {\n return locale_periods[+(d.getHours() >= 12)];\n },\n S: function(d, p) {\n return d3_time_formatPad(d.getSeconds(), p, 2);\n },\n U: function(d, p) {\n return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);\n },\n w: function(d) {\n return d.getDay();\n },\n W: function(d, p) {\n return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);\n },\n x: d3_time_format(locale_date),\n X: d3_time_format(locale_time),\n y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 100, p, 2);\n },\n Y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);\n },\n Z: d3_time_zone,\n \"%\": function() {\n return \"%\";\n }\n };\n var d3_time_parsers = {\n a: d3_time_parseWeekdayAbbrev,\n A: d3_time_parseWeekday,\n b: d3_time_parseMonthAbbrev,\n B: d3_time_parseMonth,\n c: d3_time_parseLocaleFull,\n d: d3_time_parseDay,\n e: d3_time_parseDay,\n H: d3_time_parseHour24,\n I: d3_time_parseHour24,\n j: d3_time_parseDayOfYear,\n L: d3_time_parseMilliseconds,\n m: d3_time_parseMonthNumber,\n M: d3_time_parseMinutes,\n p: d3_time_parseAmPm,\n S: d3_time_parseSeconds,\n U: d3_time_parseWeekNumberSunday,\n w: d3_time_parseWeekdayNumber,\n W: d3_time_parseWeekNumberMonday,\n x: d3_time_parseLocaleDate,\n X: d3_time_parseLocaleTime,\n y: d3_time_parseYear,\n Y: d3_time_parseFullYear,\n Z: d3_time_parseZone,\n \"%\": d3_time_parseLiteralPercent\n };\n function d3_time_parseWeekdayAbbrev(date, string, i) {\n d3_time_dayAbbrevRe.lastIndex = 0;\n var n = d3_time_dayAbbrevRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseWeekday(date, string, i) {\n d3_time_dayRe.lastIndex = 0;\n var n = d3_time_dayRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonthAbbrev(date, string, i) {\n d3_time_monthAbbrevRe.lastIndex = 0;\n var n = d3_time_monthAbbrevRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonth(date, string, i) {\n d3_time_monthRe.lastIndex = 0;\n var n = d3_time_monthRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseLocaleFull(date, string, i) {\n return d3_time_parse(date, d3_time_formats.c.toString(), string, i);\n }\n function d3_time_parseLocaleDate(date, string, i) {\n return d3_time_parse(date, d3_time_formats.x.toString(), string, i);\n }\n function d3_time_parseLocaleTime(date, string, i) {\n return d3_time_parse(date, d3_time_formats.X.toString(), string, i);\n }\n function d3_time_parseAmPm(date, string, i) {\n var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());\n return n == null ? -1 : (date.p = n, i);\n }\n return d3_time_format;\n }\n var d3_time_formatPads = {\n \"-\": \"\",\n _: \" \",\n \"0\": \"0\"\n }, d3_time_numberRe = /^\\s*\\d+/, d3_time_percentRe = /^%/;\n function d3_time_formatPad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\", string = (sign ? -value : value) + \"\", length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function d3_time_formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(d3.requote).join(\"|\") + \")\", \"i\");\n }\n function d3_time_formatLookup(names) {\n var map = new d3_Map(), i = -1, n = names.length;\n while (++i < n) map.set(names[i].toLowerCase(), i);\n return map;\n }\n function d3_time_parseWeekdayNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 1));\n return n ? (date.w = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberSunday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.U = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberMonday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.W = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseFullYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 4));\n return n ? (date.y = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;\n }\n function d3_time_parseZone(date, string, i) {\n return /^[+-]\\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, \n i + 5) : -1;\n }\n function d3_time_expandYear(d) {\n return d + (d > 68 ? 1900 : 2e3);\n }\n function d3_time_parseMonthNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.m = n[0] - 1, i + n[0].length) : -1;\n }\n function d3_time_parseDay(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.d = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseDayOfYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.j = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseHour24(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.H = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMinutes(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.M = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseSeconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.S = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMilliseconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.L = +n[0], i + n[0].length) : -1;\n }\n function d3_time_zone(d) {\n var z = d.getTimezoneOffset(), zs = z > 0 ? \"-\" : \"+\", zh = abs(z) / 60 | 0, zm = abs(z) % 60;\n return zs + d3_time_formatPad(zh, \"0\", 2) + d3_time_formatPad(zm, \"0\", 2);\n }\n function d3_time_parseLiteralPercent(date, string, i) {\n d3_time_percentRe.lastIndex = 0;\n var n = d3_time_percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function d3_time_formatMulti(formats) {\n var n = formats.length, i = -1;\n while (++i < n) formats[i][0] = this(formats[i][0]);\n return function(date) {\n var i = 0, f = formats[i];\n while (!f[1](date)) f = formats[++i];\n return f[0](date);\n };\n }\n d3.locale = function(locale) {\n return {\n numberFormat: d3_locale_numberFormat(locale),\n timeFormat: d3_locale_timeFormat(locale)\n };\n };\n var d3_locale_enUS = d3.locale({\n decimal: \".\",\n thousands: \",\",\n grouping: [ 3 ],\n currency: [ \"$\", \"\" ],\n dateTime: \"%a %b %e %X %Y\",\n date: \"%m/%d/%Y\",\n time: \"%H:%M:%S\",\n periods: [ \"AM\", \"PM\" ],\n days: [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ],\n shortDays: [ \"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\" ],\n months: [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ],\n shortMonths: [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\n });\n d3.format = d3_locale_enUS.numberFormat;\n d3.geo = {};\n function d3_adder() {}\n d3_adder.prototype = {\n s: 0,\n t: 0,\n add: function(y) {\n d3_adderSum(y, this.t, d3_adderTemp);\n d3_adderSum(d3_adderTemp.s, this.s, this);\n if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;\n },\n reset: function() {\n this.s = this.t = 0;\n },\n valueOf: function() {\n return this.s;\n }\n };\n var d3_adderTemp = new d3_adder();\n function d3_adderSum(a, b, o) {\n var x = o.s = a + b, bv = x - a, av = x - bv;\n o.t = a - av + (b - bv);\n }\n d3.geo.stream = function(object, listener) {\n if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {\n d3_geo_streamObjectType[object.type](object, listener);\n } else {\n d3_geo_streamGeometry(object, listener);\n }\n };\n function d3_geo_streamGeometry(geometry, listener) {\n if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {\n d3_geo_streamGeometryType[geometry.type](geometry, listener);\n }\n }\n var d3_geo_streamObjectType = {\n Feature: function(feature, listener) {\n d3_geo_streamGeometry(feature.geometry, listener);\n },\n FeatureCollection: function(object, listener) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);\n }\n };\n var d3_geo_streamGeometryType = {\n Sphere: function(object, listener) {\n listener.sphere();\n },\n Point: function(object, listener) {\n object = object.coordinates;\n listener.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);\n },\n LineString: function(object, listener) {\n d3_geo_streamLine(object.coordinates, listener, 0);\n },\n MultiLineString: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);\n },\n Polygon: function(object, listener) {\n d3_geo_streamPolygon(object.coordinates, listener);\n },\n MultiPolygon: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);\n },\n GeometryCollection: function(object, listener) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) d3_geo_streamGeometry(geometries[i], listener);\n }\n };\n function d3_geo_streamLine(coordinates, listener, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n listener.lineStart();\n while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);\n listener.lineEnd();\n }\n function d3_geo_streamPolygon(coordinates, listener) {\n var i = -1, n = coordinates.length;\n listener.polygonStart();\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);\n listener.polygonEnd();\n }\n d3.geo.area = function(object) {\n d3_geo_areaSum = 0;\n d3.geo.stream(object, d3_geo_area);\n return d3_geo_areaSum;\n };\n var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();\n var d3_geo_area = {\n sphere: function() {\n d3_geo_areaSum += 4 * π;\n },\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_areaRingSum.reset();\n d3_geo_area.lineStart = d3_geo_areaRingStart;\n },\n polygonEnd: function() {\n var area = 2 * d3_geo_areaRingSum;\n d3_geo_areaSum += area < 0 ? 4 * π + area : area;\n d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;\n }\n };\n function d3_geo_areaRingStart() {\n var λ00, φ00, λ0, cosφ0, sinφ0;\n d3_geo_area.point = function(λ, φ) {\n d3_geo_area.point = nextPoint;\n λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), \n sinφ0 = Math.sin(φ);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n φ = φ * d3_radians / 2 + π / 4;\n var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ);\n d3_geo_areaRingSum.add(Math.atan2(v, u));\n λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;\n }\n d3_geo_area.lineEnd = function() {\n nextPoint(λ00, φ00);\n };\n }\n function d3_geo_cartesian(spherical) {\n var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ);\n return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ];\n }\n function d3_geo_cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n }\n function d3_geo_cartesianCross(a, b) {\n return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];\n }\n function d3_geo_cartesianAdd(a, b) {\n a[0] += b[0];\n a[1] += b[1];\n a[2] += b[2];\n }\n function d3_geo_cartesianScale(vector, k) {\n return [ vector[0] * k, vector[1] * k, vector[2] * k ];\n }\n function d3_geo_cartesianNormalize(d) {\n var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l;\n d[1] /= l;\n d[2] /= l;\n }\n function d3_geo_spherical(cartesian) {\n return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];\n }\n function d3_geo_sphericalEqual(a, b) {\n return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;\n }\n d3.geo.bounds = function() {\n var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range;\n var bound = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n bound.point = ringPoint;\n bound.lineStart = ringStart;\n bound.lineEnd = ringEnd;\n dλSum = 0;\n d3_geo_area.polygonStart();\n },\n polygonEnd: function() {\n d3_geo_area.polygonEnd();\n bound.point = point;\n bound.lineStart = lineStart;\n bound.lineEnd = lineEnd;\n if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90;\n range[0] = λ0, range[1] = λ1;\n }\n };\n function point(λ, φ) {\n ranges.push(range = [ λ0 = λ, λ1 = λ ]);\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n function linePoint(λ, φ) {\n var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]);\n if (p0) {\n var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);\n d3_geo_cartesianNormalize(inflection);\n inflection = d3_geo_spherical(inflection);\n var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180;\n if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = inflection[1] * d3_degrees;\n if (φi > φ1) φ1 = φi;\n } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = -inflection[1] * d3_degrees;\n if (φi < φ0) φ0 = φi;\n } else {\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n if (antimeridian) {\n if (λ < λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n } else {\n if (λ1 >= λ0) {\n if (λ < λ0) λ0 = λ;\n if (λ > λ1) λ1 = λ;\n } else {\n if (λ > λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n }\n }\n } else {\n point(λ, φ);\n }\n p0 = p, λ_ = λ;\n }\n function lineStart() {\n bound.point = linePoint;\n }\n function lineEnd() {\n range[0] = λ0, range[1] = λ1;\n bound.point = point;\n p0 = null;\n }\n function ringPoint(λ, φ) {\n if (p0) {\n var dλ = λ - λ_;\n dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;\n } else λ__ = λ, φ__ = φ;\n d3_geo_area.point(λ, φ);\n linePoint(λ, φ);\n }\n function ringStart() {\n d3_geo_area.lineStart();\n }\n function ringEnd() {\n ringPoint(λ__, φ__);\n d3_geo_area.lineEnd();\n if (abs(dλSum) > ε) λ0 = -(λ1 = 180);\n range[0] = λ0, range[1] = λ1;\n p0 = null;\n }\n function angle(λ0, λ1) {\n return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1;\n }\n function compareRanges(a, b) {\n return a[0] - b[0];\n }\n function withinRange(x, range) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n }\n return function(feature) {\n φ1 = λ1 = -(λ0 = φ0 = Infinity);\n ranges = [];\n d3.geo.stream(feature, bound);\n var n = ranges.length;\n if (n) {\n ranges.sort(compareRanges);\n for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {\n b = ranges[i];\n if (withinRange(b[0], a) || withinRange(b[1], a)) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n var best = -Infinity, dλ;\n for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {\n b = merged[i];\n if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];\n }\n }\n ranges = range = null;\n return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ];\n };\n }();\n d3.geo.centroid = function(object) {\n d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, d3_geo_centroid);\n var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;\n if (m < ε2) {\n x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;\n if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;\n m = x * x + y * y + z * z;\n if (m < ε2) return [ NaN, NaN ];\n }\n return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];\n };\n var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;\n var d3_geo_centroid = {\n sphere: d3_noop,\n point: d3_geo_centroidPoint,\n lineStart: d3_geo_centroidLineStart,\n lineEnd: d3_geo_centroidLineEnd,\n polygonStart: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidLineStart;\n }\n };\n function d3_geo_centroidPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));\n }\n function d3_geo_centroidPointXYZ(x, y, z) {\n ++d3_geo_centroidW0;\n d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;\n d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;\n d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;\n }\n function d3_geo_centroidLineStart() {\n var x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroid.point = nextPoint;\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_centroidLineEnd() {\n d3_geo_centroid.point = d3_geo_centroidPoint;\n }\n function d3_geo_centroidRingStart() {\n var λ00, φ00, x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ00 = λ, φ00 = φ;\n d3_geo_centroid.point = nextPoint;\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n d3_geo_centroid.lineEnd = function() {\n nextPoint(λ00, φ00);\n d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;\n d3_geo_centroid.point = d3_geo_centroidPoint;\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);\n d3_geo_centroidX2 += v * cx;\n d3_geo_centroidY2 += v * cy;\n d3_geo_centroidZ2 += v * cz;\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_compose(a, b) {\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n return compose;\n }\n function d3_true() {\n return true;\n }\n function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {\n var subject = [], clip = [];\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n];\n if (d3_geo_sphericalEqual(p0, p1)) {\n listener.lineStart();\n for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);\n listener.lineEnd();\n return;\n }\n var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false);\n a.o = b;\n subject.push(a);\n clip.push(b);\n a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);\n b = new d3_geo_clipPolygonIntersection(p1, null, a, true);\n a.o = b;\n subject.push(a);\n clip.push(b);\n });\n clip.sort(compare);\n d3_geo_clipPolygonLinkCircular(subject);\n d3_geo_clipPolygonLinkCircular(clip);\n if (!subject.length) return;\n for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {\n clip[i].e = entry = !entry;\n }\n var start = subject[0], points, point;\n while (1) {\n var current = start, isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n listener.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, listener);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, listener);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n listener.lineEnd();\n }\n }\n function d3_geo_clipPolygonLinkCircular(array) {\n if (!(n = array.length)) return;\n var n, i = 0, a = array[0], b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n }\n function d3_geo_clipPolygonIntersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other;\n this.e = entry;\n this.v = false;\n this.n = this.p = null;\n }\n function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {\n return function(rotate, listener) {\n var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = d3.merge(segments);\n var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);\n if (segments.length) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);\n } else if (clipStartInside) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (polygonStarted) listener.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n listener.polygonStart();\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n listener.polygonEnd();\n }\n };\n function point(λ, φ) {\n var point = rotate(λ, φ);\n if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);\n }\n function pointLine(λ, φ) {\n var point = rotate(λ, φ);\n line.point(point[0], point[1]);\n }\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n var segments;\n var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;\n function pointRing(λ, φ) {\n ring.push([ λ, φ ]);\n var point = rotate(λ, φ);\n ringListener.point(point[0], point[1]);\n }\n function ringStart() {\n ringListener.lineStart();\n ring = [];\n }\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringListener.lineEnd();\n var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;\n ring.pop();\n polygon.push(ring);\n ring = null;\n if (!n) return;\n if (clean & 1) {\n segment = ringSegments[0];\n var n = segment.length - 1, i = -1, point;\n if (n > 0) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n while (++i < n) listener.point((point = segment[i])[0], point[1]);\n listener.lineEnd();\n }\n return;\n }\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));\n }\n return clip;\n };\n }\n function d3_geo_clipSegmentLength1(segment) {\n return segment.length > 1;\n }\n function d3_geo_clipBufferListener() {\n var lines = [], line;\n return {\n lineStart: function() {\n lines.push(line = []);\n },\n point: function(λ, φ) {\n line.push([ λ, φ ]);\n },\n lineEnd: d3_noop,\n buffer: function() {\n var buffer = lines;\n lines = [];\n line = null;\n return buffer;\n },\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n }\n };\n }\n function d3_geo_clipSort(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);\n }\n var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]);\n function d3_geo_clipAntimeridianLine(listener) {\n var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean;\n return {\n lineStart: function() {\n listener.lineStart();\n clean = 1;\n },\n point: function(λ1, φ1) {\n var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0);\n if (abs(dλ - π) < ε) {\n listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n listener.point(λ1, φ0);\n clean = 0;\n } else if (sλ0 !== sλ1 && dλ >= π) {\n if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;\n if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;\n φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n clean = 0;\n }\n listener.point(λ0 = λ1, φ0 = φ1);\n sλ0 = sλ1;\n },\n lineEnd: function() {\n listener.lineEnd();\n λ0 = φ0 = NaN;\n },\n clean: function() {\n return 2 - clean;\n }\n };\n }\n function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {\n var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1);\n return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2;\n }\n function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {\n var φ;\n if (from == null) {\n φ = direction * halfπ;\n listener.point(-π, φ);\n listener.point(0, φ);\n listener.point(π, φ);\n listener.point(π, 0);\n listener.point(π, -φ);\n listener.point(0, -φ);\n listener.point(-π, -φ);\n listener.point(-π, 0);\n listener.point(-π, φ);\n } else if (abs(from[0] - to[0]) > ε) {\n var s = from[0] < to[0] ? π : -π;\n φ = direction * s / 2;\n listener.point(-s, φ);\n listener.point(0, φ);\n listener.point(s, φ);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function d3_geo_pointInPolygon(point, polygon) {\n var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0;\n d3_geo_areaRingSum.reset();\n for (var i = 0, n = polygon.length; i < n; ++i) {\n var ring = polygon[i], m = ring.length;\n if (!m) continue;\n var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1;\n while (true) {\n if (j === m) j = 0;\n point = ring[j];\n var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ;\n d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));\n polarAngle += antimeridian ? dλ + sdλ * τ : dλ;\n if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {\n var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));\n d3_geo_cartesianNormalize(arc);\n var intersection = d3_geo_cartesianCross(meridianNormal, arc);\n d3_geo_cartesianNormalize(intersection);\n var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);\n if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {\n winding += antimeridian ^ dλ >= 0 ? 1 : -1;\n }\n }\n if (!j++) break;\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;\n }\n }\n return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < -ε) ^ winding & 1;\n }\n function d3_geo_clipCircle(radius) {\n var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);\n return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]);\n function visible(λ, φ) {\n return Math.cos(λ) * Math.cos(φ) > cr;\n }\n function clipLine(listener) {\n var point0, c0, v0, v00, clean;\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(λ, φ) {\n var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;\n if (!point0 && (v00 = v0 = v)) listener.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {\n point1[0] += ε;\n point1[1] += ε;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n listener.lineStart();\n point2 = intersect(point1, point0);\n listener.point(point2[0], point2[1]);\n } else {\n point2 = intersect(point0, point1);\n listener.point(point2[0], point2[1]);\n listener.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n } else {\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {\n listener.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) listener.lineEnd();\n point0 = null;\n },\n clean: function() {\n return clean | (v00 && v0) << 1;\n }\n };\n }\n function intersect(a, b, two) {\n var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);\n var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n if (!determinant) return !two && a;\n var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);\n d3_geo_cartesianAdd(A, B);\n var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);\n if (t2 < 0) return;\n var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);\n d3_geo_cartesianAdd(q, A);\n q = d3_geo_spherical(q);\n if (!two) return q;\n var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z;\n if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;\n var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε;\n if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;\n if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {\n var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);\n d3_geo_cartesianAdd(q1, A);\n return [ q, d3_geo_spherical(q1) ];\n }\n }\n function code(λ, φ) {\n var r = smallRadius ? radius : π - radius, code = 0;\n if (λ < -r) code |= 1; else if (λ > r) code |= 2;\n if (φ < -r) code |= 4; else if (φ > r) code |= 8;\n return code;\n }\n }\n function d3_geom_clipLine(x0, y0, x1, y1) {\n return function(line) {\n var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n if (t0 > 0) line.a = {\n x: ax + t0 * dx,\n y: ay + t0 * dy\n };\n if (t1 < 1) line.b = {\n x: ax + t1 * dx,\n y: ay + t1 * dy\n };\n return line;\n };\n }\n var d3_geo_clipExtentMAX = 1e9;\n d3.geo.clipExtent = function() {\n var x0, y0, x1, y1, stream, clip, clipExtent = {\n stream: function(output) {\n if (stream) stream.valid = false;\n stream = clip(output);\n stream.valid = true;\n return stream;\n },\n extent: function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);\n if (stream) stream.valid = false, stream = null;\n return clipExtent;\n }\n };\n return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]);\n };\n function d3_geo_clipExtent(x0, y0, x1, y1) {\n return function(listener) {\n var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring;\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n listener = bufferListener;\n segments = [];\n polygon = [];\n clean = true;\n },\n polygonEnd: function() {\n listener = listener_;\n segments = d3.merge(segments);\n var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;\n if (inside || visible) {\n listener.polygonStart();\n if (inside) {\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (visible) {\n d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);\n }\n listener.polygonEnd();\n }\n segments = polygon = ring = null;\n }\n };\n function insidePolygon(p) {\n var wn = 0, n = polygon.length, y = p[1];\n for (var i = 0; i < n; ++i) {\n for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {\n b = v[j];\n if (a[1] <= y) {\n if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;\n } else {\n if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;\n }\n a = b;\n }\n }\n return wn !== 0;\n }\n function interpolate(from, to, direction, listener) {\n var a = 0, a1 = 0;\n if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {\n do {\n listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n } while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function pointVisible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n function point(x, y) {\n if (pointVisible(x, y)) listener.point(x, y);\n }\n var x__, y__, v__, x_, y_, v_, first, clean;\n function lineStart() {\n clip.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferListener.rejoin();\n segments.push(bufferListener.buffer());\n }\n clip.point = point;\n if (v_) listener.lineEnd();\n }\n function linePoint(x, y) {\n x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));\n y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));\n var v = pointVisible(x, y);\n if (polygon) ring.push([ x, y ]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n listener.lineStart();\n listener.point(x, y);\n }\n } else {\n if (v && v_) listener.point(x, y); else {\n var l = {\n a: {\n x: x_,\n y: y_\n },\n b: {\n x: x,\n y: y\n }\n };\n if (clipLine(l)) {\n if (!v_) {\n listener.lineStart();\n listener.point(l.a.x, l.a.y);\n }\n listener.point(l.b.x, l.b.y);\n if (!v) listener.lineEnd();\n clean = false;\n } else if (v) {\n listener.lineStart();\n listener.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n return clip;\n };\n function corner(p, direction) {\n return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n }\n function compare(a, b) {\n return comparePoints(a.x, b.x);\n }\n function comparePoints(a, b) {\n var ca = corner(a, 1), cb = corner(b, 1);\n return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n }\n }\n function d3_geo_conic(projectAt) {\n var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1);\n p.parallels = function(_) {\n if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ];\n return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);\n };\n return p;\n }\n function d3_geo_conicEqualArea(φ0, φ1) {\n var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n;\n function forward(λ, φ) {\n var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;\n return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = ρ0 - y;\n return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ];\n };\n return forward;\n }\n (d3.geo.conicEqualArea = function() {\n return d3_geo_conic(d3_geo_conicEqualArea);\n }).raw = d3_geo_conicEqualArea;\n d3.geo.albers = function() {\n return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);\n };\n d3.geo.albersUsa = function() {\n var lower48 = d3.geo.albers();\n var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);\n var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);\n var point, pointStream = {\n point: function(x, y) {\n point = [ x, y ];\n }\n }, lower48Point, alaskaPoint, hawaiiPoint;\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n point = null;\n (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);\n return point;\n }\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;\n return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);\n };\n albersUsa.stream = function(stream) {\n var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);\n return {\n point: function(x, y) {\n lower48Stream.point(x, y);\n alaskaStream.point(x, y);\n hawaiiStream.point(x, y);\n },\n sphere: function() {\n lower48Stream.sphere();\n alaskaStream.sphere();\n hawaiiStream.sphere();\n },\n lineStart: function() {\n lower48Stream.lineStart();\n alaskaStream.lineStart();\n hawaiiStream.lineStart();\n },\n lineEnd: function() {\n lower48Stream.lineEnd();\n alaskaStream.lineEnd();\n hawaiiStream.lineEnd();\n },\n polygonStart: function() {\n lower48Stream.polygonStart();\n alaskaStream.polygonStart();\n hawaiiStream.polygonStart();\n },\n polygonEnd: function() {\n lower48Stream.polygonEnd();\n alaskaStream.polygonEnd();\n hawaiiStream.polygonEnd();\n }\n };\n };\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_);\n alaska.precision(_);\n hawaii.precision(_);\n return albersUsa;\n };\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_);\n alaska.scale(_ * .35);\n hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;\n alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n return albersUsa;\n };\n return albersUsa.scale(1070);\n };\n var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_pathAreaPolygon = 0;\n d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;\n d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);\n }\n };\n function d3_geo_pathAreaRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathArea.point = function(x, y) {\n d3_geo_pathArea.point = nextPoint;\n x00 = x0 = x, y00 = y0 = y;\n };\n function nextPoint(x, y) {\n d3_geo_pathAreaPolygon += y0 * x - x0 * y;\n x0 = x, y0 = y;\n }\n d3_geo_pathArea.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;\n var d3_geo_pathBounds = {\n point: d3_geo_pathBoundsPoint,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_pathBoundsPoint(x, y) {\n if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;\n if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;\n if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;\n if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;\n }\n function d3_geo_pathBuffer() {\n var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointCircle = d3_geo_pathBufferCircle(_);\n return stream;\n },\n result: function() {\n if (buffer.length) {\n var result = buffer.join(\"\");\n buffer = [];\n return result;\n }\n }\n };\n function point(x, y) {\n buffer.push(\"M\", x, \",\", y, pointCircle);\n }\n function pointLineStart(x, y) {\n buffer.push(\"M\", x, \",\", y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n buffer.push(\"L\", x, \",\", y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n buffer.push(\"Z\");\n }\n return stream;\n }\n function d3_geo_pathBufferCircle(radius) {\n return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n }\n var d3_geo_pathCentroid = {\n point: d3_geo_pathCentroidPoint,\n lineStart: d3_geo_pathCentroidLineStart,\n lineEnd: d3_geo_pathCentroidLineEnd,\n polygonStart: function() {\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;\n d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;\n }\n };\n function d3_geo_pathCentroidPoint(x, y) {\n d3_geo_centroidX0 += x;\n d3_geo_centroidY0 += y;\n ++d3_geo_centroidZ0;\n }\n function d3_geo_pathCentroidLineStart() {\n var x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n }\n function d3_geo_pathCentroidLineEnd() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n }\n function d3_geo_pathCentroidRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n z = y0 * x - x0 * y;\n d3_geo_centroidX2 += z * (x0 + x);\n d3_geo_centroidY2 += z * (y0 + y);\n d3_geo_centroidZ2 += z * 3;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n d3_geo_pathCentroid.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n function d3_geo_pathContext(context) {\n var pointRadius = 4.5;\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointRadius = _;\n return stream;\n },\n result: d3_noop\n };\n function point(x, y) {\n context.moveTo(x + pointRadius, y);\n context.arc(x, y, pointRadius, 0, τ);\n }\n function pointLineStart(x, y) {\n context.moveTo(x, y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n context.lineTo(x, y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n context.closePath();\n }\n return stream;\n }\n function d3_geo_resample(project) {\n var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;\n function resample(stream) {\n return (maxDepth ? resampleRecursive : resampleNone)(stream);\n }\n function resampleNone(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n });\n }\n function resampleRecursive(stream) {\n var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0;\n var resample = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.polygonStart();\n resample.lineStart = ringStart;\n },\n polygonEnd: function() {\n stream.polygonEnd();\n resample.lineStart = lineStart;\n }\n };\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n function lineStart() {\n x0 = NaN;\n resample.point = linePoint;\n stream.lineStart();\n }\n function linePoint(λ, φ) {\n var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ);\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n function lineEnd() {\n resample.point = point;\n stream.lineEnd();\n }\n function ringStart() {\n lineStart();\n resample.point = ringPoint;\n resample.lineEnd = ringEnd;\n }\n function ringPoint(λ, φ) {\n linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resample.point = linePoint;\n }\n function ringEnd() {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);\n resample.lineEnd = lineEnd;\n lineEnd();\n }\n return resample;\n }\n function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n if (d2 > 4 * δ2 && depth--) {\n var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);\n }\n }\n }\n resample.precision = function(_) {\n if (!arguments.length) return Math.sqrt(δ2);\n maxDepth = (δ2 = _ * _) > 0 && 16;\n return resample;\n };\n return resample;\n }\n d3.geo.path = function() {\n var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);\n d3.geo.stream(object, cacheStream);\n }\n return contextStream.result();\n }\n path.area = function(object) {\n d3_geo_pathAreaSum = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathArea));\n return d3_geo_pathAreaSum;\n };\n path.centroid = function(object) {\n d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathCentroid));\n return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];\n };\n path.bounds = function(object) {\n d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);\n d3.geo.stream(object, projectStream(d3_geo_pathBounds));\n return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];\n };\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;\n return reset();\n };\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return reset();\n };\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n function reset() {\n cacheStream = null;\n return path;\n }\n return path.projection(d3.geo.albersUsa()).context(null);\n };\n function d3_geo_pathProjectStream(project) {\n var resample = d3_geo_resample(function(x, y) {\n return project([ x * d3_degrees, y * d3_degrees ]);\n });\n return function(stream) {\n return d3_geo_projectionRadians(resample(stream));\n };\n }\n d3.geo.transform = function(methods) {\n return {\n stream: function(stream) {\n var transform = new d3_geo_transform(stream);\n for (var k in methods) transform[k] = methods[k];\n return transform;\n }\n };\n };\n function d3_geo_transform(stream) {\n this.stream = stream;\n }\n d3_geo_transform.prototype = {\n point: function(x, y) {\n this.stream.point(x, y);\n },\n sphere: function() {\n this.stream.sphere();\n },\n lineStart: function() {\n this.stream.lineStart();\n },\n lineEnd: function() {\n this.stream.lineEnd();\n },\n polygonStart: function() {\n this.stream.polygonStart();\n },\n polygonEnd: function() {\n this.stream.polygonEnd();\n }\n };\n function d3_geo_transformPoint(stream, point) {\n return {\n point: point,\n sphere: function() {\n stream.sphere();\n },\n lineStart: function() {\n stream.lineStart();\n },\n lineEnd: function() {\n stream.lineEnd();\n },\n polygonStart: function() {\n stream.polygonStart();\n },\n polygonEnd: function() {\n stream.polygonEnd();\n }\n };\n }\n d3.geo.projection = d3_geo_projection;\n d3.geo.projectionMutator = d3_geo_projectionMutator;\n function d3_geo_projection(project) {\n return d3_geo_projectionMutator(function() {\n return project;\n })();\n }\n function d3_geo_projectionMutator(projectAt) {\n var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {\n x = project(x, y);\n return [ x[0] * k + δx, δy - x[1] * k ];\n }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;\n function projection(point) {\n point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);\n return [ point[0] * k + δx, δy - point[1] * k ];\n }\n function invert(point) {\n point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);\n return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];\n }\n projection.stream = function(output) {\n if (stream) stream.valid = false;\n stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));\n stream.valid = true;\n return stream;\n };\n projection.clipAngle = function(_) {\n if (!arguments.length) return clipAngle;\n preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);\n return invalidate();\n };\n projection.clipExtent = function(_) {\n if (!arguments.length) return clipExtent;\n clipExtent = _;\n postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;\n return invalidate();\n };\n projection.scale = function(_) {\n if (!arguments.length) return k;\n k = +_;\n return reset();\n };\n projection.translate = function(_) {\n if (!arguments.length) return [ x, y ];\n x = +_[0];\n y = +_[1];\n return reset();\n };\n projection.center = function(_) {\n if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ];\n λ = _[0] % 360 * d3_radians;\n φ = _[1] % 360 * d3_radians;\n return reset();\n };\n projection.rotate = function(_) {\n if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ];\n δλ = _[0] % 360 * d3_radians;\n δφ = _[1] % 360 * d3_radians;\n δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;\n return reset();\n };\n d3.rebind(projection, projectResample, \"precision\");\n function reset() {\n projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);\n var center = project(λ, φ);\n δx = x - center[0] * k;\n δy = y + center[1] * k;\n return invalidate();\n }\n function invalidate() {\n if (stream) stream.valid = false, stream = null;\n return projection;\n }\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return reset();\n };\n }\n function d3_geo_projectionRadians(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n stream.point(x * d3_radians, y * d3_radians);\n });\n }\n function d3_geo_equirectangular(λ, φ) {\n return [ λ, φ ];\n }\n (d3.geo.equirectangular = function() {\n return d3_geo_projection(d3_geo_equirectangular);\n }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;\n d3.geo.rotation = function(rotate) {\n rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n }\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n };\n return forward;\n };\n function d3_geo_identityRotation(λ, φ) {\n return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n }\n d3_geo_identityRotation.invert = d3_geo_equirectangular;\n function d3_geo_rotation(δλ, δφ, δγ) {\n return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation;\n }\n function d3_geo_forwardRotationλ(δλ) {\n return function(λ, φ) {\n return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n };\n }\n function d3_geo_rotationλ(δλ) {\n var rotation = d3_geo_forwardRotationλ(δλ);\n rotation.invert = d3_geo_forwardRotationλ(-δλ);\n return rotation;\n }\n function d3_geo_rotationφγ(δφ, δγ) {\n var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ);\n function rotation(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ;\n return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ];\n }\n rotation.invert = function(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ;\n return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ];\n };\n return rotation;\n }\n d3.geo.circle = function() {\n var origin = [ 0, 0 ], angle, precision = 6, interpolate;\n function circle() {\n var center = typeof origin === \"function\" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];\n interpolate(null, null, 1, {\n point: function(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= d3_degrees, x[1] *= d3_degrees;\n }\n });\n return {\n type: \"Polygon\",\n coordinates: [ ring ]\n };\n }\n circle.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return circle;\n };\n circle.angle = function(x) {\n if (!arguments.length) return angle;\n interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);\n return circle;\n };\n circle.precision = function(_) {\n if (!arguments.length) return precision;\n interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);\n return circle;\n };\n return circle.angle(90);\n };\n function d3_geo_circleInterpolate(radius, precision) {\n var cr = Math.cos(radius), sr = Math.sin(radius);\n return function(from, to, direction, listener) {\n var step = direction * precision;\n if (from != null) {\n from = d3_geo_circleAngle(cr, from);\n to = d3_geo_circleAngle(cr, to);\n if (direction > 0 ? from < to : from > to) from += direction * τ;\n } else {\n from = radius + direction * τ;\n to = radius - .5 * step;\n }\n for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {\n listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);\n }\n };\n }\n function d3_geo_circleAngle(cr, point) {\n var a = d3_geo_cartesian(point);\n a[0] -= cr;\n d3_geo_cartesianNormalize(a);\n var angle = d3_acos(-a[1]);\n return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);\n }\n d3.geo.distance = function(a, b) {\n var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t;\n return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ);\n };\n d3.geo.graticule = function() {\n var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;\n function graticule() {\n return {\n type: \"MultiLineString\",\n coordinates: lines()\n };\n }\n function lines() {\n return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {\n return abs(x % DX) > ε;\n }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {\n return abs(y % DY) > ε;\n }).map(y));\n }\n graticule.lines = function() {\n return lines().map(function(coordinates) {\n return {\n type: \"LineString\",\n coordinates: coordinates\n };\n });\n };\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]\n };\n };\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.minorExtent();\n return graticule.majorExtent(_).minorExtent(_);\n };\n graticule.majorExtent = function(_) {\n if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n graticule.minorExtent = function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n graticule.step = function(_) {\n if (!arguments.length) return graticule.minorStep();\n return graticule.majorStep(_).minorStep(_);\n };\n graticule.majorStep = function(_) {\n if (!arguments.length) return [ DX, DY ];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n graticule.minorStep = function(_) {\n if (!arguments.length) return [ dx, dy ];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = d3_geo_graticuleX(y0, y1, 90);\n y = d3_geo_graticuleY(x0, x1, precision);\n X = d3_geo_graticuleX(Y0, Y1, 90);\n Y = d3_geo_graticuleY(X0, X1, precision);\n return graticule;\n };\n return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]);\n };\n function d3_geo_graticuleX(y0, y1, dy) {\n var y = d3.range(y0, y1 - ε, dy).concat(y1);\n return function(x) {\n return y.map(function(y) {\n return [ x, y ];\n });\n };\n }\n function d3_geo_graticuleY(x0, x1, dx) {\n var x = d3.range(x0, x1 - ε, dx).concat(x1);\n return function(y) {\n return x.map(function(x) {\n return [ x, y ];\n });\n };\n }\n function d3_source(d) {\n return d.source;\n }\n function d3_target(d) {\n return d.target;\n }\n d3.geo.greatArc = function() {\n var source = d3_source, source_, target = d3_target, target_;\n function greatArc() {\n return {\n type: \"LineString\",\n coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]\n };\n }\n greatArc.distance = function() {\n return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));\n };\n greatArc.source = function(_) {\n if (!arguments.length) return source;\n source = _, source_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.target = function(_) {\n if (!arguments.length) return target;\n target = _, target_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.precision = function() {\n return arguments.length ? greatArc : 0;\n };\n return greatArc;\n };\n d3.geo.interpolate = function(source, target) {\n return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);\n };\n function d3_geo_interpolate(x0, y0, x1, y1) {\n var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);\n var interpolate = d ? function(t) {\n var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;\n return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];\n } : function() {\n return [ x0 * d3_degrees, y0 * d3_degrees ];\n };\n interpolate.distance = d;\n return interpolate;\n }\n d3.geo.length = function(object) {\n d3_geo_lengthSum = 0;\n d3.geo.stream(object, d3_geo_length);\n return d3_geo_lengthSum;\n };\n var d3_geo_lengthSum;\n var d3_geo_length = {\n sphere: d3_noop,\n point: d3_noop,\n lineStart: d3_geo_lengthLineStart,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_lengthLineStart() {\n var λ0, sinφ0, cosφ0;\n d3_geo_length.point = function(λ, φ) {\n λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ);\n d3_geo_length.point = nextPoint;\n };\n d3_geo_length.lineEnd = function() {\n d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;\n };\n function nextPoint(λ, φ) {\n var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t);\n d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ);\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ;\n }\n }\n function d3_geo_azimuthal(scale, angle) {\n function azimuthal(λ, φ) {\n var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ);\n return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ];\n }\n azimuthal.invert = function(x, y) {\n var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c);\n return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ];\n };\n return azimuthal;\n }\n var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) {\n return Math.sqrt(2 / (1 + cosλcosφ));\n }, function(ρ) {\n return 2 * Math.asin(ρ / 2);\n });\n (d3.geo.azimuthalEqualArea = function() {\n return d3_geo_projection(d3_geo_azimuthalEqualArea);\n }).raw = d3_geo_azimuthalEqualArea;\n var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) {\n var c = Math.acos(cosλcosφ);\n return c && c / Math.sin(c);\n }, d3_identity);\n (d3.geo.azimuthalEquidistant = function() {\n return d3_geo_projection(d3_geo_azimuthalEquidistant);\n }).raw = d3_geo_azimuthalEquidistant;\n function d3_geo_conicConformal(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), t = function(φ) {\n return Math.tan(π / 4 + φ / 2);\n }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n;\n if (!n) return d3_geo_mercator;\n function forward(λ, φ) {\n if (F > 0) {\n if (φ < -halfπ + ε) φ = -halfπ + ε;\n } else {\n if (φ > halfπ - ε) φ = halfπ - ε;\n }\n var ρ = F / Math.pow(t(φ), n);\n return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y);\n return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ];\n };\n return forward;\n }\n (d3.geo.conicConformal = function() {\n return d3_geo_conic(d3_geo_conicConformal);\n }).raw = d3_geo_conicConformal;\n function d3_geo_conicEquidistant(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0;\n if (abs(n) < ε) return d3_geo_equirectangular;\n function forward(λ, φ) {\n var ρ = G - φ;\n return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = G - y;\n return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ];\n };\n return forward;\n }\n (d3.geo.conicEquidistant = function() {\n return d3_geo_conic(d3_geo_conicEquidistant);\n }).raw = d3_geo_conicEquidistant;\n var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / cosλcosφ;\n }, Math.atan);\n (d3.geo.gnomonic = function() {\n return d3_geo_projection(d3_geo_gnomonic);\n }).raw = d3_geo_gnomonic;\n function d3_geo_mercator(λ, φ) {\n return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ];\n }\n d3_geo_mercator.invert = function(x, y) {\n return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ];\n };\n function d3_geo_mercatorProjection(project) {\n var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;\n m.scale = function() {\n var v = scale.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.translate = function() {\n var v = translate.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.clipExtent = function(_) {\n var v = clipExtent.apply(m, arguments);\n if (v === m) {\n if (clipAuto = _ == null) {\n var k = π * scale(), t = translate();\n clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);\n }\n } else if (clipAuto) {\n v = null;\n }\n return v;\n };\n return m.clipExtent(null);\n }\n (d3.geo.mercator = function() {\n return d3_geo_mercatorProjection(d3_geo_mercator);\n }).raw = d3_geo_mercator;\n var d3_geo_orthographic = d3_geo_azimuthal(function() {\n return 1;\n }, Math.asin);\n (d3.geo.orthographic = function() {\n return d3_geo_projection(d3_geo_orthographic);\n }).raw = d3_geo_orthographic;\n var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / (1 + cosλcosφ);\n }, function(ρ) {\n return 2 * Math.atan(ρ);\n });\n (d3.geo.stereographic = function() {\n return d3_geo_projection(d3_geo_stereographic);\n }).raw = d3_geo_stereographic;\n function d3_geo_transverseMercator(λ, φ) {\n return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ];\n }\n d3_geo_transverseMercator.invert = function(x, y) {\n return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ];\n };\n (d3.geo.transverseMercator = function() {\n var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;\n projection.center = function(_) {\n return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);\n };\n projection.rotate = function(_) {\n return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), \n [ _[0], _[1], _[2] - 90 ]);\n };\n return rotate([ 0, 0, 90 ]);\n }).raw = d3_geo_transverseMercator;\n d3.geom = {};\n function d3_geom_pointX(d) {\n return d[0];\n }\n function d3_geom_pointY(d) {\n return d[1];\n }\n d3.geom.hull = function(vertices) {\n var x = d3_geom_pointX, y = d3_geom_pointY;\n if (arguments.length) return hull(vertices);\n function hull(data) {\n if (data.length < 3) return [];\n var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];\n for (i = 0; i < n; i++) {\n points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);\n }\n points.sort(d3_geom_hullOrder);\n for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]);\n var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints);\n var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];\n for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);\n for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);\n return polygon;\n }\n hull.x = function(_) {\n return arguments.length ? (x = _, hull) : x;\n };\n hull.y = function(_) {\n return arguments.length ? (y = _, hull) : y;\n };\n return hull;\n };\n function d3_geom_hullUpper(points) {\n var n = points.length, hull = [ 0, 1 ], hs = 2;\n for (var i = 2; i < n; i++) {\n while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs;\n hull[hs++] = i;\n }\n return hull.slice(0, hs);\n }\n function d3_geom_hullOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n }\n d3.geom.polygon = function(coordinates) {\n d3_subclass(coordinates, d3_geom_polygonPrototype);\n return coordinates;\n };\n var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];\n d3_geom_polygonPrototype.area = function() {\n var i = -1, n = this.length, a, b = this[n - 1], area = 0;\n while (++i < n) {\n a = b;\n b = this[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n return area * .5;\n };\n d3_geom_polygonPrototype.centroid = function(k) {\n var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;\n if (!arguments.length) k = -1 / (6 * this.area());\n while (++i < n) {\n a = b;\n b = this[i];\n c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n return [ x * k, y * k ];\n };\n d3_geom_polygonPrototype.clip = function(subject) {\n var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;\n while (++i < n) {\n input = subject.slice();\n subject.length = 0;\n b = this[i];\n c = input[(m = input.length - closed) - 1];\n j = -1;\n while (++j < m) {\n d = input[j];\n if (d3_geom_polygonInside(d, a, b)) {\n if (!d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n subject.push(d);\n } else if (d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n c = d;\n }\n if (closed) subject.push(subject[0]);\n a = b;\n }\n return subject;\n };\n function d3_geom_polygonInside(p, a, b) {\n return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);\n }\n function d3_geom_polygonIntersect(c, d, a, b) {\n var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n return [ x1 + ua * x21, y1 + ua * y21 ];\n }\n function d3_geom_polygonClosed(coordinates) {\n var a = coordinates[0], b = coordinates[coordinates.length - 1];\n return !(a[0] - b[0] || a[1] - b[1]);\n }\n var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];\n function d3_geom_voronoiBeach() {\n d3_geom_voronoiRedBlackNode(this);\n this.edge = this.site = this.circle = null;\n }\n function d3_geom_voronoiCreateBeach(site) {\n var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();\n beach.site = site;\n return beach;\n }\n function d3_geom_voronoiDetachBeach(beach) {\n d3_geom_voronoiDetachCircle(beach);\n d3_geom_voronoiBeaches.remove(beach);\n d3_geom_voronoiBeachPool.push(beach);\n d3_geom_voronoiRedBlackNode(beach);\n }\n function d3_geom_voronoiRemoveBeach(beach) {\n var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {\n x: x,\n y: y\n }, previous = beach.P, next = beach.N, disappearing = [ beach ];\n d3_geom_voronoiDetachBeach(beach);\n var lArc = previous;\n while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachBeach(lArc);\n lArc = previous;\n }\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachCircle(lArc);\n var rArc = next;\n while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) {\n next = rArc.N;\n disappearing.push(rArc);\n d3_geom_voronoiDetachBeach(rArc);\n rArc = next;\n }\n disappearing.push(rArc);\n d3_geom_voronoiDetachCircle(rArc);\n var nArcs = disappearing.length, iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiAddBeach(site) {\n var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;\n while (node) {\n dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;\n if (dxl > ε) node = node.L; else {\n dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);\n if (dxr > ε) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -ε) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -ε) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n var newArc = d3_geom_voronoiCreateBeach(site);\n d3_geom_voronoiBeaches.insert(lArc, newArc);\n if (!lArc && !rArc) return;\n if (lArc === rArc) {\n d3_geom_voronoiDetachCircle(lArc);\n rArc = d3_geom_voronoiCreateBeach(lArc.site);\n d3_geom_voronoiBeaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n return;\n }\n if (!rArc) {\n newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n return;\n }\n d3_geom_voronoiDetachCircle(lArc);\n d3_geom_voronoiDetachCircle(rArc);\n var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {\n x: (cy * hb - by * hc) / d + ax,\n y: (bx * hc - cx * hb) / d + ay\n };\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);\n rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiLeftBreakPoint(arc, directrix) {\n var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;\n if (!pby2) return rfocx;\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n site = lArc.site;\n var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;\n if (!plby2) return lfocx;\n var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n return (rfocx + lfocx) / 2;\n }\n function d3_geom_voronoiRightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site.y === directrix ? site.x : Infinity;\n }\n function d3_geom_voronoiCell(site) {\n this.site = site;\n this.edges = [];\n }\n d3_geom_voronoiCell.prototype.prepare = function() {\n var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;\n while (iHalfEdge--) {\n edge = halfEdges[iHalfEdge].edge;\n if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);\n }\n halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);\n return halfEdges.length;\n };\n function d3_geom_voronoiCloseCells(extent) {\n var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;\n while (iCell--) {\n cell = cells[iCell];\n if (!cell || !cell.prepare()) continue;\n halfEdges = cell.edges;\n nHalfEdges = halfEdges.length;\n iHalfEdge = 0;\n while (iHalfEdge < nHalfEdges) {\n end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;\n start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;\n if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) {\n halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? {\n x: x0,\n y: abs(x2 - x0) < ε ? y2 : y1\n } : abs(y3 - y1) < ε && x1 - x3 > ε ? {\n x: abs(y2 - y1) < ε ? x2 : x1,\n y: y1\n } : abs(x3 - x1) < ε && y3 - y0 > ε ? {\n x: x1,\n y: abs(x2 - x1) < ε ? y2 : y0\n } : abs(y3 - y0) < ε && x3 - x0 > ε ? {\n x: abs(y2 - y0) < ε ? x2 : x0,\n y: y0\n } : null), cell.site, null));\n ++nHalfEdges;\n }\n }\n }\n }\n function d3_geom_voronoiHalfEdgeOrder(a, b) {\n return b.angle - a.angle;\n }\n function d3_geom_voronoiCircle() {\n d3_geom_voronoiRedBlackNode(this);\n this.x = this.y = this.arc = this.site = this.cy = null;\n }\n function d3_geom_voronoiAttachCircle(arc) {\n var lArc = arc.P, rArc = arc.N;\n if (!lArc || !rArc) return;\n var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;\n if (lSite === rSite) return;\n var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -ε2) return;\n var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;\n var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = cy + Math.sqrt(x * x + y * y);\n circle.cy = cy;\n arc.circle = circle;\n var before = null, node = d3_geom_voronoiCircles._;\n while (node) {\n if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {\n if (node.L) node = node.L; else {\n before = node.P;\n break;\n }\n } else {\n if (node.R) node = node.R; else {\n before = node;\n break;\n }\n }\n }\n d3_geom_voronoiCircles.insert(before, circle);\n if (!before) d3_geom_voronoiFirstCircle = circle;\n }\n function d3_geom_voronoiDetachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;\n d3_geom_voronoiCircles.remove(circle);\n d3_geom_voronoiCirclePool.push(circle);\n d3_geom_voronoiRedBlackNode(circle);\n arc.circle = null;\n }\n }\n function d3_geom_voronoiClipEdges(extent) {\n var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;\n while (i--) {\n e = edges[i];\n if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) {\n e.a = e.b = null;\n edges.splice(i, 1);\n }\n }\n }\n function d3_geom_voronoiConnectEdge(edge, extent) {\n var vb = edge.b;\n if (vb) return true;\n var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!va) va = {\n x: fx,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: fx,\n y: y1\n };\n } else {\n if (!va) va = {\n x: fx,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: fx,\n y: y0\n };\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!va) va = {\n x: (y0 - fb) / fm,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: (y1 - fb) / fm,\n y: y1\n };\n } else {\n if (!va) va = {\n x: (y1 - fb) / fm,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: (y0 - fb) / fm,\n y: y0\n };\n }\n } else {\n if (ly < ry) {\n if (!va) va = {\n x: x0,\n y: fm * x0 + fb\n }; else if (va.x >= x1) return;\n vb = {\n x: x1,\n y: fm * x1 + fb\n };\n } else {\n if (!va) va = {\n x: x1,\n y: fm * x1 + fb\n }; else if (va.x < x0) return;\n vb = {\n x: x0,\n y: fm * x0 + fb\n };\n }\n }\n }\n edge.a = va;\n edge.b = vb;\n return true;\n }\n function d3_geom_voronoiEdge(lSite, rSite) {\n this.l = lSite;\n this.r = rSite;\n this.a = this.b = null;\n }\n function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, rSite);\n d3_geom_voronoiEdges.push(edge);\n if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);\n if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);\n d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));\n d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));\n return edge;\n }\n function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, null);\n edge.a = va;\n edge.b = vb;\n d3_geom_voronoiEdges.push(edge);\n return edge;\n }\n function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {\n if (!edge.a && !edge.b) {\n edge.a = vertex;\n edge.l = lSite;\n edge.r = rSite;\n } else if (edge.l === rSite) {\n edge.b = vertex;\n } else {\n edge.a = vertex;\n }\n }\n function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {\n var va = edge.a, vb = edge.b;\n this.edge = edge;\n this.site = lSite;\n this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);\n }\n d3_geom_voronoiHalfEdge.prototype = {\n start: function() {\n return this.edge.l === this.site ? this.edge.a : this.edge.b;\n },\n end: function() {\n return this.edge.l === this.site ? this.edge.b : this.edge.a;\n }\n };\n function d3_geom_voronoiRedBlackTree() {\n this._ = null;\n }\n function d3_geom_voronoiRedBlackNode(node) {\n node.U = node.C = node.L = node.R = node.P = node.N = null;\n }\n d3_geom_voronoiRedBlackTree.prototype = {\n insert: function(after, node) {\n var parent, grandpa, uncle;\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = d3_geom_voronoiRedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n var parent = node.U, sibling, left = node.L, right = node.R, next, red;\n if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);\n if (parent) {\n if (parent.L === node) parent.L = next; else parent.R = next;\n } else {\n this._ = next;\n }\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) {\n node.C = false;\n return;\n }\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n if (node) node.C = false;\n }\n };\n function d3_geom_voronoiRedBlackRotateLeft(tree, node) {\n var p = node, q = node.R, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n }\n function d3_geom_voronoiRedBlackRotateRight(tree, node) {\n var p = node, q = node.L, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n }\n function d3_geom_voronoiRedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n }\n function d3_geom_voronoi(sites, bbox) {\n var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;\n d3_geom_voronoiEdges = [];\n d3_geom_voronoiCells = new Array(sites.length);\n d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();\n d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();\n while (true) {\n circle = d3_geom_voronoiFirstCircle;\n if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {\n if (site.x !== x0 || site.y !== y0) {\n d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);\n d3_geom_voronoiAddBeach(site);\n x0 = site.x, y0 = site.y;\n }\n site = sites.pop();\n } else if (circle) {\n d3_geom_voronoiRemoveBeach(circle.arc);\n } else {\n break;\n }\n }\n if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);\n var diagram = {\n cells: d3_geom_voronoiCells,\n edges: d3_geom_voronoiEdges\n };\n d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;\n return diagram;\n }\n function d3_geom_voronoiVertexOrder(a, b) {\n return b.y - a.y || b.x - a.x;\n }\n d3.geom.voronoi = function(points) {\n var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;\n if (points) return voronoi(points);\n function voronoi(data) {\n var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];\n d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {\n var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {\n var s = e.start();\n return [ s.x, s.y ];\n }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];\n polygon.point = data[i];\n });\n return polygons;\n }\n function sites(data) {\n return data.map(function(d, i) {\n return {\n x: Math.round(fx(d, i) / ε) * ε,\n y: Math.round(fy(d, i) / ε) * ε,\n i: i\n };\n });\n }\n voronoi.links = function(data) {\n return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {\n return edge.l && edge.r;\n }).map(function(edge) {\n return {\n source: data[edge.l.i],\n target: data[edge.r.i]\n };\n });\n };\n voronoi.triangles = function(data) {\n var triangles = [];\n d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {\n var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;\n while (++j < m) {\n e0 = e1;\n s0 = s1;\n e1 = edges[j].edge;\n s1 = e1.l === site ? e1.r : e1.l;\n if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {\n triangles.push([ data[i], data[s0.i], data[s1.i] ]);\n }\n }\n });\n return triangles;\n };\n voronoi.x = function(_) {\n return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;\n };\n voronoi.y = function(_) {\n return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;\n };\n voronoi.clipExtent = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;\n clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;\n return voronoi;\n };\n voronoi.size = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];\n return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);\n };\n return voronoi;\n };\n var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];\n function d3_geom_voronoiTriangleArea(a, b, c) {\n return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);\n }\n d3.geom.delaunay = function(vertices) {\n return d3.geom.voronoi().triangles(vertices);\n };\n d3.geom.quadtree = function(points, x1, y1, x2, y2) {\n var x = d3_geom_pointX, y = d3_geom_pointY, compat;\n if (compat = arguments.length) {\n x = d3_geom_quadtreeCompatX;\n y = d3_geom_quadtreeCompatY;\n if (compat === 3) {\n y2 = y1;\n x2 = x1;\n y1 = x1 = 0;\n }\n return quadtree(points);\n }\n function quadtree(data) {\n var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;\n if (x1 != null) {\n x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;\n } else {\n x2_ = y2_ = -(x1_ = y1_ = Infinity);\n xs = [], ys = [];\n n = data.length;\n if (compat) for (i = 0; i < n; ++i) {\n d = data[i];\n if (d.x < x1_) x1_ = d.x;\n if (d.y < y1_) y1_ = d.y;\n if (d.x > x2_) x2_ = d.x;\n if (d.y > y2_) y2_ = d.y;\n xs.push(d.x);\n ys.push(d.y);\n } else for (i = 0; i < n; ++i) {\n var x_ = +fx(d = data[i], i), y_ = +fy(d, i);\n if (x_ < x1_) x1_ = x_;\n if (y_ < y1_) y1_ = y_;\n if (x_ > x2_) x2_ = x_;\n if (y_ > y2_) y2_ = y_;\n xs.push(x_);\n ys.push(y_);\n }\n }\n var dx = x2_ - x1_, dy = y2_ - y1_;\n if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;\n function insert(n, d, x, y, x1, y1, x2, y2) {\n if (isNaN(x) || isNaN(y)) return;\n if (n.leaf) {\n var nx = n.x, ny = n.y;\n if (nx != null) {\n if (abs(nx - x) + abs(ny - y) < .01) {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n } else {\n var nPoint = n.point;\n n.x = n.y = n.point = null;\n insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n } else {\n n.x = x, n.y = y, n.point = d;\n }\n } else {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n }\n function insertChild(n, d, x, y, x1, y1, x2, y2) {\n var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;\n n.leaf = false;\n n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());\n if (right) x1 = xm; else x2 = xm;\n if (below) y1 = ym; else y2 = ym;\n insert(n, d, x, y, x1, y1, x2, y2);\n }\n var root = d3_geom_quadtreeNode();\n root.add = function(d) {\n insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);\n };\n root.visit = function(f) {\n d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);\n };\n root.find = function(point) {\n return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);\n };\n i = -1;\n if (x1 == null) {\n while (++i < n) {\n insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);\n }\n --i;\n } else data.forEach(root.add);\n xs = ys = data = d = null;\n return root;\n }\n quadtree.x = function(_) {\n return arguments.length ? (x = _, quadtree) : x;\n };\n quadtree.y = function(_) {\n return arguments.length ? (y = _, quadtree) : y;\n };\n quadtree.extent = function(_) {\n if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], \n y2 = +_[1][1];\n return quadtree;\n };\n quadtree.size = function(_) {\n if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];\n return quadtree;\n };\n return quadtree;\n };\n function d3_geom_quadtreeCompatX(d) {\n return d.x;\n }\n function d3_geom_quadtreeCompatY(d) {\n return d.y;\n }\n function d3_geom_quadtreeNode() {\n return {\n leaf: true,\n nodes: [],\n point: null,\n x: null,\n y: null\n };\n }\n function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {\n if (!f(node, x1, y1, x2, y2)) {\n var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;\n if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);\n if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);\n if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);\n if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);\n }\n }\n function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {\n var minDistance2 = Infinity, closestPoint;\n (function find(node, x1, y1, x2, y2) {\n if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;\n if (point = node.point) {\n var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy;\n if (distance2 < minDistance2) {\n var distance = Math.sqrt(minDistance2 = distance2);\n x0 = x - distance, y0 = y - distance;\n x3 = x + distance, y3 = y + distance;\n closestPoint = point;\n }\n }\n var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;\n for (var i = below << 1 | right, j = i + 4; i < j; ++i) {\n if (node = children[i & 3]) switch (i & 3) {\n case 0:\n find(node, x1, y1, xm, ym);\n break;\n\n case 1:\n find(node, xm, y1, x2, ym);\n break;\n\n case 2:\n find(node, x1, ym, xm, y2);\n break;\n\n case 3:\n find(node, xm, ym, x2, y2);\n break;\n }\n }\n })(root, x0, y0, x3, y3);\n return closestPoint;\n }\n d3.interpolateRgb = d3_interpolateRgb;\n function d3_interpolateRgb(a, b) {\n a = d3.rgb(a);\n b = d3.rgb(b);\n var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;\n return function(t) {\n return \"#\" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));\n };\n }\n d3.interpolateObject = d3_interpolateObject;\n function d3_interpolateObject(a, b) {\n var i = {}, c = {}, k;\n for (k in a) {\n if (k in b) {\n i[k] = d3_interpolate(a[k], b[k]);\n } else {\n c[k] = a[k];\n }\n }\n for (k in b) {\n if (!(k in a)) {\n c[k] = b[k];\n }\n }\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n }\n d3.interpolateNumber = d3_interpolateNumber;\n function d3_interpolateNumber(a, b) {\n a = +a, b = +b;\n return function(t) {\n return a * (1 - t) + b * t;\n };\n }\n d3.interpolateString = d3_interpolateString;\n function d3_interpolateString(a, b) {\n var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n a = a + \"\", b = b + \"\";\n while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s[i]) s[i] += bm; else s[++i] = bm;\n } else {\n s[++i] = null;\n q.push({\n i: i,\n x: d3_interpolateNumber(am, bm)\n });\n }\n bi = d3_interpolate_numberB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n return s.length < 2 ? q[0] ? (b = q[0].x, function(t) {\n return b(t) + \"\";\n }) : function() {\n return b;\n } : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n }\n var d3_interpolate_numberA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, \"g\");\n d3.interpolate = d3_interpolate;\n function d3_interpolate(a, b) {\n var i = d3.interpolators.length, f;\n while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;\n return f;\n }\n d3.interpolators = [ function(a, b) {\n var t = typeof b;\n return (t === \"string\" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === \"object\" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b);\n } ];\n d3.interpolateArray = d3_interpolateArray;\n function d3_interpolateArray(a, b) {\n var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;\n for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));\n for (;i < na; ++i) c[i] = a[i];\n for (;i < nb; ++i) c[i] = b[i];\n return function(t) {\n for (i = 0; i < n0; ++i) c[i] = x[i](t);\n return c;\n };\n }\n var d3_ease_default = function() {\n return d3_identity;\n };\n var d3_ease = d3.map({\n linear: d3_ease_default,\n poly: d3_ease_poly,\n quad: function() {\n return d3_ease_quad;\n },\n cubic: function() {\n return d3_ease_cubic;\n },\n sin: function() {\n return d3_ease_sin;\n },\n exp: function() {\n return d3_ease_exp;\n },\n circle: function() {\n return d3_ease_circle;\n },\n elastic: d3_ease_elastic,\n back: d3_ease_back,\n bounce: function() {\n return d3_ease_bounce;\n }\n });\n var d3_ease_mode = d3.map({\n \"in\": d3_identity,\n out: d3_ease_reverse,\n \"in-out\": d3_ease_reflect,\n \"out-in\": function(f) {\n return d3_ease_reflect(d3_ease_reverse(f));\n }\n });\n d3.ease = function(name) {\n var i = name.indexOf(\"-\"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : \"in\";\n t = d3_ease.get(t) || d3_ease_default;\n m = d3_ease_mode.get(m) || d3_identity;\n return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));\n };\n function d3_ease_clamp(f) {\n return function(t) {\n return t <= 0 ? 0 : t >= 1 ? 1 : f(t);\n };\n }\n function d3_ease_reverse(f) {\n return function(t) {\n return 1 - f(1 - t);\n };\n }\n function d3_ease_reflect(f) {\n return function(t) {\n return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));\n };\n }\n function d3_ease_quad(t) {\n return t * t;\n }\n function d3_ease_cubic(t) {\n return t * t * t;\n }\n function d3_ease_cubicInOut(t) {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n var t2 = t * t, t3 = t2 * t;\n return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);\n }\n function d3_ease_poly(e) {\n return function(t) {\n return Math.pow(t, e);\n };\n }\n function d3_ease_sin(t) {\n return 1 - Math.cos(t * halfπ);\n }\n function d3_ease_exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n function d3_ease_circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n function d3_ease_elastic(a, p) {\n var s;\n if (arguments.length < 2) p = .45;\n if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4;\n return function(t) {\n return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);\n };\n }\n function d3_ease_back(s) {\n if (!s) s = 1.70158;\n return function(t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n function d3_ease_bounce(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n }\n d3.interpolateHcl = d3_interpolateHcl;\n function d3_interpolateHcl(a, b) {\n a = d3.hcl(a);\n b = d3.hcl(b);\n var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;\n if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateHsl = d3_interpolateHsl;\n function d3_interpolateHsl(a, b) {\n a = d3.hsl(a);\n b = d3.hsl(b);\n var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;\n if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateLab = d3_interpolateLab;\n function d3_interpolateLab(a, b) {\n a = d3.lab(a);\n b = d3.lab(b);\n var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;\n return function(t) {\n return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + \"\";\n };\n }\n d3.interpolateRound = d3_interpolateRound;\n function d3_interpolateRound(a, b) {\n b -= a;\n return function(t) {\n return Math.round(a + b * t);\n };\n }\n d3.transform = function(string) {\n var g = d3_document.createElementNS(d3.ns.prefix.svg, \"g\");\n return (d3.transform = function(string) {\n if (string != null) {\n g.setAttribute(\"transform\", string);\n var t = g.transform.baseVal.consolidate();\n }\n return new d3_transform(t ? t.matrix : d3_transformIdentity);\n })(string);\n };\n function d3_transform(m) {\n var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;\n if (r0[0] * r1[1] < r1[0] * r0[1]) {\n r0[0] *= -1;\n r0[1] *= -1;\n kx *= -1;\n kz *= -1;\n }\n this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;\n this.translate = [ m.e, m.f ];\n this.scale = [ kx, ky ];\n this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;\n }\n d3_transform.prototype.toString = function() {\n return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n };\n function d3_transformDot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n }\n function d3_transformNormalize(a) {\n var k = Math.sqrt(d3_transformDot(a, a));\n if (k) {\n a[0] /= k;\n a[1] /= k;\n }\n return k;\n }\n function d3_transformCombine(a, b, k) {\n a[0] += k * b[0];\n a[1] += k * b[1];\n return a;\n }\n var d3_transformIdentity = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: 0,\n f: 0\n };\n d3.interpolateTransform = d3_interpolateTransform;\n function d3_interpolateTransformPop(s) {\n return s.length ? s.pop() + \",\" : \"\";\n }\n function d3_interpolateTranslate(ta, tb, s, q) {\n if (ta[0] !== tb[0] || ta[1] !== tb[1]) {\n var i = s.push(\"translate(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ta[0], tb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ta[1], tb[1])\n });\n } else if (tb[0] || tb[1]) {\n s.push(\"translate(\" + tb + \")\");\n }\n }\n function d3_interpolateRotate(ra, rb, s, q) {\n if (ra !== rb) {\n if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"rotate(\", null, \")\") - 2,\n x: d3_interpolateNumber(ra, rb)\n });\n } else if (rb) {\n s.push(d3_interpolateTransformPop(s) + \"rotate(\" + rb + \")\");\n }\n }\n function d3_interpolateSkew(wa, wb, s, q) {\n if (wa !== wb) {\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"skewX(\", null, \")\") - 2,\n x: d3_interpolateNumber(wa, wb)\n });\n } else if (wb) {\n s.push(d3_interpolateTransformPop(s) + \"skewX(\" + wb + \")\");\n }\n }\n function d3_interpolateScale(ka, kb, s, q) {\n if (ka[0] !== kb[0] || ka[1] !== kb[1]) {\n var i = s.push(d3_interpolateTransformPop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ka[0], kb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ka[1], kb[1])\n });\n } else if (kb[0] !== 1 || kb[1] !== 1) {\n s.push(d3_interpolateTransformPop(s) + \"scale(\" + kb + \")\");\n }\n }\n function d3_interpolateTransform(a, b) {\n var s = [], q = [];\n a = d3.transform(a), b = d3.transform(b);\n d3_interpolateTranslate(a.translate, b.translate, s, q);\n d3_interpolateRotate(a.rotate, b.rotate, s, q);\n d3_interpolateSkew(a.skew, b.skew, s, q);\n d3_interpolateScale(a.scale, b.scale, s, q);\n a = b = null;\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n }\n function d3_uninterpolateNumber(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return (x - a) / b;\n };\n }\n function d3_uninterpolateClamp(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return Math.max(0, Math.min(1, (x - a) / b));\n };\n }\n d3.layout = {};\n d3.layout.bundle = function() {\n return function(links) {\n var paths = [], i = -1, n = links.length;\n while (++i < n) paths.push(d3_layout_bundlePath(links[i]));\n return paths;\n };\n };\n function d3_layout_bundlePath(link) {\n var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];\n while (start !== lca) {\n start = start.parent;\n points.push(start);\n }\n var k = points.length;\n while (end !== lca) {\n points.splice(k, 0, end);\n end = end.parent;\n }\n return points;\n }\n function d3_layout_bundleAncestors(node) {\n var ancestors = [], parent = node.parent;\n while (parent != null) {\n ancestors.push(node);\n node = parent;\n parent = parent.parent;\n }\n ancestors.push(node);\n return ancestors;\n }\n function d3_layout_bundleLeastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;\n while (aNode === bNode) {\n sharedNode = aNode;\n aNode = aNodes.pop();\n bNode = bNodes.pop();\n }\n return sharedNode;\n }\n d3.layout.chord = function() {\n var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;\n function relayout() {\n var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;\n chords = [];\n groups = [];\n k = 0, i = -1;\n while (++i < n) {\n x = 0, j = -1;\n while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(d3.range(n));\n k += x;\n }\n if (sortGroups) {\n groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n }\n if (sortSubgroups) {\n subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n }\n k = (τ - padding * n) / k;\n x = 0, i = -1;\n while (++i < n) {\n x0 = x, j = -1;\n while (++j < n) {\n var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;\n subgroups[di + \"-\" + dj] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += padding;\n }\n i = -1;\n while (++i < n) {\n j = i - 1;\n while (++j < n) {\n var source = subgroups[i + \"-\" + j], target = subgroups[j + \"-\" + i];\n if (source.value || target.value) {\n chords.push(source.value < target.value ? {\n source: target,\n target: source\n } : {\n source: source,\n target: target\n });\n }\n }\n }\n if (sortChords) resort();\n }\n function resort() {\n chords.sort(function(a, b) {\n return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);\n });\n }\n chord.matrix = function(x) {\n if (!arguments.length) return matrix;\n n = (matrix = x) && matrix.length;\n chords = groups = null;\n return chord;\n };\n chord.padding = function(x) {\n if (!arguments.length) return padding;\n padding = x;\n chords = groups = null;\n return chord;\n };\n chord.sortGroups = function(x) {\n if (!arguments.length) return sortGroups;\n sortGroups = x;\n chords = groups = null;\n return chord;\n };\n chord.sortSubgroups = function(x) {\n if (!arguments.length) return sortSubgroups;\n sortSubgroups = x;\n chords = null;\n return chord;\n };\n chord.sortChords = function(x) {\n if (!arguments.length) return sortChords;\n sortChords = x;\n if (chords) resort();\n return chord;\n };\n chord.chords = function() {\n if (!chords) relayout();\n return chords;\n };\n chord.groups = function() {\n if (!groups) relayout();\n return groups;\n };\n return chord;\n };\n d3.layout.force = function() {\n var force = {}, event = d3.dispatch(\"start\", \"tick\", \"end\"), timer, size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;\n function repulse(node) {\n return function(quad, x1, _, x2) {\n if (quad.point !== node) {\n var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;\n if (dw * dw / theta2 < dn) {\n if (dn < chargeDistance2) {\n var k = quad.charge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n return true;\n }\n if (quad.point && dn && dn < chargeDistance2) {\n var k = quad.pointCharge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n }\n return !quad.charge;\n };\n }\n force.tick = function() {\n if ((alpha *= .99) < .005) {\n timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n return true;\n }\n var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;\n for (i = 0; i < m; ++i) {\n o = links[i];\n s = o.source;\n t = o.target;\n x = t.x - s.x;\n y = t.y - s.y;\n if (l = x * x + y * y) {\n l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;\n x *= l;\n y *= l;\n t.x -= x * (k = s.weight + t.weight ? s.weight / (s.weight + t.weight) : .5);\n t.y -= y * k;\n s.x += x * (k = 1 - k);\n s.y += y * k;\n }\n }\n if (k = alpha * gravity) {\n x = size[0] / 2;\n y = size[1] / 2;\n i = -1;\n if (k) while (++i < n) {\n o = nodes[i];\n o.x += (x - o.x) * k;\n o.y += (y - o.y) * k;\n }\n }\n if (charge) {\n d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);\n i = -1;\n while (++i < n) {\n if (!(o = nodes[i]).fixed) {\n q.visit(repulse(o));\n }\n }\n }\n i = -1;\n while (++i < n) {\n o = nodes[i];\n if (o.fixed) {\n o.x = o.px;\n o.y = o.py;\n } else {\n o.x -= (o.px - (o.px = o.x)) * friction;\n o.y -= (o.py - (o.py = o.y)) * friction;\n }\n }\n event.tick({\n type: \"tick\",\n alpha: alpha\n });\n };\n force.nodes = function(x) {\n if (!arguments.length) return nodes;\n nodes = x;\n return force;\n };\n force.links = function(x) {\n if (!arguments.length) return links;\n links = x;\n return force;\n };\n force.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return force;\n };\n force.linkDistance = function(x) {\n if (!arguments.length) return linkDistance;\n linkDistance = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.distance = force.linkDistance;\n force.linkStrength = function(x) {\n if (!arguments.length) return linkStrength;\n linkStrength = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.friction = function(x) {\n if (!arguments.length) return friction;\n friction = +x;\n return force;\n };\n force.charge = function(x) {\n if (!arguments.length) return charge;\n charge = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.chargeDistance = function(x) {\n if (!arguments.length) return Math.sqrt(chargeDistance2);\n chargeDistance2 = x * x;\n return force;\n };\n force.gravity = function(x) {\n if (!arguments.length) return gravity;\n gravity = +x;\n return force;\n };\n force.theta = function(x) {\n if (!arguments.length) return Math.sqrt(theta2);\n theta2 = x * x;\n return force;\n };\n force.alpha = function(x) {\n if (!arguments.length) return alpha;\n x = +x;\n if (alpha) {\n if (x > 0) {\n alpha = x;\n } else {\n timer.c = null, timer.t = NaN, timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n }\n } else if (x > 0) {\n event.start({\n type: \"start\",\n alpha: alpha = x\n });\n timer = d3_timer(force.tick);\n }\n return force;\n };\n force.start = function() {\n var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;\n for (i = 0; i < n; ++i) {\n (o = nodes[i]).index = i;\n o.weight = 0;\n }\n for (i = 0; i < m; ++i) {\n o = links[i];\n if (typeof o.source == \"number\") o.source = nodes[o.source];\n if (typeof o.target == \"number\") o.target = nodes[o.target];\n ++o.source.weight;\n ++o.target.weight;\n }\n for (i = 0; i < n; ++i) {\n o = nodes[i];\n if (isNaN(o.x)) o.x = position(\"x\", w);\n if (isNaN(o.y)) o.y = position(\"y\", h);\n if (isNaN(o.px)) o.px = o.x;\n if (isNaN(o.py)) o.py = o.y;\n }\n distances = [];\n if (typeof linkDistance === \"function\") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;\n strengths = [];\n if (typeof linkStrength === \"function\") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;\n charges = [];\n if (typeof charge === \"function\") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;\n function position(dimension, size) {\n if (!neighbors) {\n neighbors = new Array(n);\n for (j = 0; j < n; ++j) {\n neighbors[j] = [];\n }\n for (j = 0; j < m; ++j) {\n var o = links[j];\n neighbors[o.source.index].push(o.target);\n neighbors[o.target.index].push(o.source);\n }\n }\n var candidates = neighbors[i], j = -1, l = candidates.length, x;\n while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x;\n return Math.random() * size;\n }\n return force.resume();\n };\n force.resume = function() {\n return force.alpha(.1);\n };\n force.stop = function() {\n return force.alpha(0);\n };\n force.drag = function() {\n if (!drag) drag = d3.behavior.drag().origin(d3_identity).on(\"dragstart.force\", d3_layout_forceDragstart).on(\"drag.force\", dragmove).on(\"dragend.force\", d3_layout_forceDragend);\n if (!arguments.length) return drag;\n this.on(\"mouseover.force\", d3_layout_forceMouseover).on(\"mouseout.force\", d3_layout_forceMouseout).call(drag);\n };\n function dragmove(d) {\n d.px = d3.event.x, d.py = d3.event.y;\n force.resume();\n }\n return d3.rebind(force, event, \"on\");\n };\n function d3_layout_forceDragstart(d) {\n d.fixed |= 2;\n }\n function d3_layout_forceDragend(d) {\n d.fixed &= ~6;\n }\n function d3_layout_forceMouseover(d) {\n d.fixed |= 4;\n d.px = d.x, d.py = d.y;\n }\n function d3_layout_forceMouseout(d) {\n d.fixed &= ~4;\n }\n function d3_layout_forceAccumulate(quad, alpha, charges) {\n var cx = 0, cy = 0;\n quad.charge = 0;\n if (!quad.leaf) {\n var nodes = quad.nodes, n = nodes.length, i = -1, c;\n while (++i < n) {\n c = nodes[i];\n if (c == null) continue;\n d3_layout_forceAccumulate(c, alpha, charges);\n quad.charge += c.charge;\n cx += c.charge * c.cx;\n cy += c.charge * c.cy;\n }\n }\n if (quad.point) {\n if (!quad.leaf) {\n quad.point.x += Math.random() - .5;\n quad.point.y += Math.random() - .5;\n }\n var k = alpha * charges[quad.point.index];\n quad.charge += quad.pointCharge = k;\n cx += k * quad.point.x;\n cy += k * quad.point.y;\n }\n quad.cx = cx / quad.charge;\n quad.cy = cy / quad.charge;\n }\n var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;\n d3.layout.hierarchy = function() {\n var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;\n function hierarchy(root) {\n var stack = [ root ], nodes = [], node;\n root.depth = 0;\n while ((node = stack.pop()) != null) {\n nodes.push(node);\n if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {\n var n, childs, child;\n while (--n >= 0) {\n stack.push(child = childs[n]);\n child.parent = node;\n child.depth = node.depth + 1;\n }\n if (value) node.value = 0;\n node.children = childs;\n } else {\n if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;\n delete node.children;\n }\n }\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var childs, parent;\n if (sort && (childs = node.children)) childs.sort(sort);\n if (value && (parent = node.parent)) parent.value += node.value;\n });\n return nodes;\n }\n hierarchy.sort = function(x) {\n if (!arguments.length) return sort;\n sort = x;\n return hierarchy;\n };\n hierarchy.children = function(x) {\n if (!arguments.length) return children;\n children = x;\n return hierarchy;\n };\n hierarchy.value = function(x) {\n if (!arguments.length) return value;\n value = x;\n return hierarchy;\n };\n hierarchy.revalue = function(root) {\n if (value) {\n d3_layout_hierarchyVisitBefore(root, function(node) {\n if (node.children) node.value = 0;\n });\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var parent;\n if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;\n if (parent = node.parent) parent.value += node.value;\n });\n }\n return root;\n };\n return hierarchy;\n };\n function d3_layout_hierarchyRebind(object, hierarchy) {\n d3.rebind(object, hierarchy, \"sort\", \"children\", \"value\");\n object.nodes = object;\n object.links = d3_layout_hierarchyLinks;\n return object;\n }\n function d3_layout_hierarchyVisitBefore(node, callback) {\n var nodes = [ node ];\n while ((node = nodes.pop()) != null) {\n callback(node);\n if ((children = node.children) && (n = children.length)) {\n var n, children;\n while (--n >= 0) nodes.push(children[n]);\n }\n }\n }\n function d3_layout_hierarchyVisitAfter(node, callback) {\n var nodes = [ node ], nodes2 = [];\n while ((node = nodes.pop()) != null) {\n nodes2.push(node);\n if ((children = node.children) && (n = children.length)) {\n var i = -1, n, children;\n while (++i < n) nodes.push(children[i]);\n }\n }\n while ((node = nodes2.pop()) != null) {\n callback(node);\n }\n }\n function d3_layout_hierarchyChildren(d) {\n return d.children;\n }\n function d3_layout_hierarchyValue(d) {\n return d.value;\n }\n function d3_layout_hierarchySort(a, b) {\n return b.value - a.value;\n }\n function d3_layout_hierarchyLinks(nodes) {\n return d3.merge(nodes.map(function(parent) {\n return (parent.children || []).map(function(child) {\n return {\n source: parent,\n target: child\n };\n });\n }));\n }\n d3.layout.partition = function() {\n var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];\n function position(node, x, dx, dy) {\n var children = node.children;\n node.x = x;\n node.y = node.depth * dy;\n node.dx = dx;\n node.dy = dy;\n if (children && (n = children.length)) {\n var i = -1, n, c, d;\n dx = node.value ? dx / node.value : 0;\n while (++i < n) {\n position(c = children[i], x, d = c.value * dx, dy);\n x += d;\n }\n }\n }\n function depth(node) {\n var children = node.children, d = 0;\n if (children && (n = children.length)) {\n var i = -1, n;\n while (++i < n) d = Math.max(d, depth(children[i]));\n }\n return 1 + d;\n }\n function partition(d, i) {\n var nodes = hierarchy.call(this, d, i);\n position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));\n return nodes;\n }\n partition.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return partition;\n };\n return d3_layout_hierarchyRebind(partition, hierarchy);\n };\n d3.layout.pie = function() {\n var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0;\n function pie(data) {\n var n = data.length, values = data.map(function(d, i) {\n return +value.call(pie, d, i);\n }), a = +(typeof startAngle === \"function\" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === \"function\" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === \"function\" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), sum = d3.sum(values), k = sum ? (da - n * pa) / sum : 0, index = d3.range(n), arcs = [], v;\n if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {\n return values[j] - values[i];\n } : function(i, j) {\n return sort(data[i], data[j]);\n });\n index.forEach(function(i) {\n arcs[i] = {\n data: data[i],\n value: v = values[i],\n startAngle: a,\n endAngle: a += v * k + pa,\n padAngle: p\n };\n });\n return arcs;\n }\n pie.value = function(_) {\n if (!arguments.length) return value;\n value = _;\n return pie;\n };\n pie.sort = function(_) {\n if (!arguments.length) return sort;\n sort = _;\n return pie;\n };\n pie.startAngle = function(_) {\n if (!arguments.length) return startAngle;\n startAngle = _;\n return pie;\n };\n pie.endAngle = function(_) {\n if (!arguments.length) return endAngle;\n endAngle = _;\n return pie;\n };\n pie.padAngle = function(_) {\n if (!arguments.length) return padAngle;\n padAngle = _;\n return pie;\n };\n return pie;\n };\n var d3_layout_pieSortByValue = {};\n d3.layout.stack = function() {\n var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;\n function stack(data, index) {\n if (!(n = data.length)) return data;\n var series = data.map(function(d, i) {\n return values.call(stack, d, i);\n });\n var points = series.map(function(d) {\n return d.map(function(v, i) {\n return [ x.call(stack, v, i), y.call(stack, v, i) ];\n });\n });\n var orders = order.call(stack, points, index);\n series = d3.permute(series, orders);\n points = d3.permute(points, orders);\n var offsets = offset.call(stack, points, index);\n var m = series[0].length, n, i, j, o;\n for (j = 0; j < m; ++j) {\n out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);\n for (i = 1; i < n; ++i) {\n out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);\n }\n }\n return data;\n }\n stack.values = function(x) {\n if (!arguments.length) return values;\n values = x;\n return stack;\n };\n stack.order = function(x) {\n if (!arguments.length) return order;\n order = typeof x === \"function\" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;\n return stack;\n };\n stack.offset = function(x) {\n if (!arguments.length) return offset;\n offset = typeof x === \"function\" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;\n return stack;\n };\n stack.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n return stack;\n };\n stack.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n return stack;\n };\n stack.out = function(z) {\n if (!arguments.length) return out;\n out = z;\n return stack;\n };\n return stack;\n };\n function d3_layout_stackX(d) {\n return d.x;\n }\n function d3_layout_stackY(d) {\n return d.y;\n }\n function d3_layout_stackOut(d, y0, y) {\n d.y0 = y0;\n d.y = y;\n }\n var d3_layout_stackOrders = d3.map({\n \"inside-out\": function(data) {\n var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {\n return max[a] - max[b];\n }), top = 0, bottom = 0, tops = [], bottoms = [];\n for (i = 0; i < n; ++i) {\n j = index[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n return bottoms.reverse().concat(tops);\n },\n reverse: function(data) {\n return d3.range(data.length).reverse();\n },\n \"default\": d3_layout_stackOrderDefault\n });\n var d3_layout_stackOffsets = d3.map({\n silhouette: function(data) {\n var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o > max) max = o;\n sums.push(o);\n }\n for (j = 0; j < m; ++j) {\n y0[j] = (max - sums[j]) / 2;\n }\n return y0;\n },\n wiggle: function(data) {\n var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];\n y0[0] = o = o0 = 0;\n for (j = 1; j < m; ++j) {\n for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];\n for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {\n for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {\n s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;\n }\n s2 += s3 * data[i][j][1];\n }\n y0[j] = o -= s1 ? s2 / s1 * dx : 0;\n if (o < o0) o0 = o;\n }\n for (j = 0; j < m; ++j) y0[j] -= o0;\n return y0;\n },\n expand: function(data) {\n var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n },\n zero: d3_layout_stackOffsetZero\n });\n function d3_layout_stackOrderDefault(data) {\n return d3.range(data.length);\n }\n function d3_layout_stackOffsetZero(data) {\n var j = -1, m = data[0].length, y0 = [];\n while (++j < m) y0[j] = 0;\n return y0;\n }\n function d3_layout_stackMaxIndex(array) {\n var i = 1, j = 0, v = array[0][1], k, n = array.length;\n for (;i < n; ++i) {\n if ((k = array[i][1]) > v) {\n j = i;\n v = k;\n }\n }\n return j;\n }\n function d3_layout_stackReduceSum(d) {\n return d.reduce(d3_layout_stackSum, 0);\n }\n function d3_layout_stackSum(p, d) {\n return p + d[1];\n }\n d3.layout.histogram = function() {\n var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;\n function histogram(data, i) {\n var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;\n while (++i < m) {\n bin = bins[i] = [];\n bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);\n bin.y = 0;\n }\n if (m > 0) {\n i = -1;\n while (++i < n) {\n x = values[i];\n if (x >= range[0] && x <= range[1]) {\n bin = bins[d3.bisect(thresholds, x, 1, m) - 1];\n bin.y += k;\n bin.push(data[i]);\n }\n }\n }\n return bins;\n }\n histogram.value = function(x) {\n if (!arguments.length) return valuer;\n valuer = x;\n return histogram;\n };\n histogram.range = function(x) {\n if (!arguments.length) return ranger;\n ranger = d3_functor(x);\n return histogram;\n };\n histogram.bins = function(x) {\n if (!arguments.length) return binner;\n binner = typeof x === \"number\" ? function(range) {\n return d3_layout_histogramBinFixed(range, x);\n } : d3_functor(x);\n return histogram;\n };\n histogram.frequency = function(x) {\n if (!arguments.length) return frequency;\n frequency = !!x;\n return histogram;\n };\n return histogram;\n };\n function d3_layout_histogramBinSturges(range, values) {\n return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));\n }\n function d3_layout_histogramBinFixed(range, n) {\n var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];\n while (++x <= n) f[x] = m * x + b;\n return f;\n }\n function d3_layout_histogramRange(values) {\n return [ d3.min(values), d3.max(values) ];\n }\n d3.layout.pack = function() {\n var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;\n function pack(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === \"function\" ? radius : function() {\n return radius;\n };\n root.x = root.y = 0;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r = +r(d.value);\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n if (padding) {\n var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r += dr;\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r -= dr;\n });\n }\n d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));\n return nodes;\n }\n pack.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return pack;\n };\n pack.radius = function(_) {\n if (!arguments.length) return radius;\n radius = _ == null || typeof _ === \"function\" ? _ : +_;\n return pack;\n };\n pack.padding = function(_) {\n if (!arguments.length) return padding;\n padding = +_;\n return pack;\n };\n return d3_layout_hierarchyRebind(pack, hierarchy);\n };\n function d3_layout_packSort(a, b) {\n return a.value - b.value;\n }\n function d3_layout_packInsert(a, b) {\n var c = a._pack_next;\n a._pack_next = b;\n b._pack_prev = a;\n b._pack_next = c;\n c._pack_prev = b;\n }\n function d3_layout_packSplice(a, b) {\n a._pack_next = b;\n b._pack_prev = a;\n }\n function d3_layout_packIntersects(a, b) {\n var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;\n return .999 * dr * dr > dx * dx + dy * dy;\n }\n function d3_layout_packSiblings(node) {\n if (!(nodes = node.children) || !(n = nodes.length)) return;\n var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;\n function bound(node) {\n xMin = Math.min(node.x - node.r, xMin);\n xMax = Math.max(node.x + node.r, xMax);\n yMin = Math.min(node.y - node.r, yMin);\n yMax = Math.max(node.y + node.r, yMax);\n }\n nodes.forEach(d3_layout_packLink);\n a = nodes[0];\n a.x = -a.r;\n a.y = 0;\n bound(a);\n if (n > 1) {\n b = nodes[1];\n b.x = b.r;\n b.y = 0;\n bound(b);\n if (n > 2) {\n c = nodes[2];\n d3_layout_packPlace(a, b, c);\n bound(c);\n d3_layout_packInsert(a, c);\n a._pack_prev = c;\n d3_layout_packInsert(c, b);\n b = a._pack_next;\n for (i = 3; i < n; i++) {\n d3_layout_packPlace(a, b, c = nodes[i]);\n var isect = 0, s1 = 1, s2 = 1;\n for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {\n if (d3_layout_packIntersects(j, c)) {\n isect = 1;\n break;\n }\n }\n if (isect == 1) {\n for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {\n if (d3_layout_packIntersects(k, c)) {\n break;\n }\n }\n }\n if (isect) {\n if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);\n i--;\n } else {\n d3_layout_packInsert(a, c);\n b = c;\n bound(c);\n }\n }\n }\n }\n var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;\n for (i = 0; i < n; i++) {\n c = nodes[i];\n c.x -= cx;\n c.y -= cy;\n cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));\n }\n node.r = cr;\n nodes.forEach(d3_layout_packUnlink);\n }\n function d3_layout_packLink(node) {\n node._pack_next = node._pack_prev = node;\n }\n function d3_layout_packUnlink(node) {\n delete node._pack_next;\n delete node._pack_prev;\n }\n function d3_layout_packTransform(node, x, y, k) {\n var children = node.children;\n node.x = x += k * node.x;\n node.y = y += k * node.y;\n node.r *= k;\n if (children) {\n var i = -1, n = children.length;\n while (++i < n) d3_layout_packTransform(children[i], x, y, k);\n }\n }\n function d3_layout_packPlace(a, b, c) {\n var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;\n if (db && (dx || dy)) {\n var da = b.r + c.r, dc = dx * dx + dy * dy;\n da *= da;\n db *= db;\n var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n c.x = a.x + x * dx + y * dy;\n c.y = a.y + x * dy - y * dx;\n } else {\n c.x = a.x + db;\n c.y = a.y;\n }\n }\n d3.layout.tree = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;\n function tree(d, i) {\n var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);\n d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;\n d3_layout_hierarchyVisitBefore(root1, secondWalk);\n if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {\n var left = root0, right = root0, bottom = root0;\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n return nodes;\n }\n function wrapTree(root0) {\n var root1 = {\n A: null,\n children: [ root0 ]\n }, queue = [ root1 ], node1;\n while ((node1 = queue.pop()) != null) {\n for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {\n queue.push((children[i] = child = {\n _: children[i],\n parent: node1,\n children: (child = children[i].children) && child.slice() || [],\n A: null,\n a: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n i: i\n }).a = child);\n }\n }\n return root1.children[0];\n }\n function firstWalk(v) {\n var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;\n if (children.length) {\n d3_layout_treeShift(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;\n while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {\n vom = d3_layout_treeLeft(vom);\n vop = d3_layout_treeRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !d3_layout_treeRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !d3_layout_treeLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n function sizeNode(node) {\n node.x *= size[0];\n node.y = node.depth * size[1];\n }\n tree.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return tree;\n };\n tree.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null ? sizeNode : null;\n return tree;\n };\n tree.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) == null ? null : sizeNode;\n return tree;\n };\n return d3_layout_hierarchyRebind(tree, hierarchy);\n };\n function d3_layout_treeSeparation(a, b) {\n return a.parent == b.parent ? 1 : 2;\n }\n function d3_layout_treeLeft(v) {\n var children = v.children;\n return children.length ? children[0] : v.t;\n }\n function d3_layout_treeRight(v) {\n var children = v.children, n;\n return (n = children.length) ? children[n - 1] : v.t;\n }\n function d3_layout_treeMove(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n }\n function d3_layout_treeShift(v) {\n var shift = 0, change = 0, children = v.children, i = children.length, w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n }\n function d3_layout_treeAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n }\n d3.layout.cluster = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;\n function cluster(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var children = node.children;\n if (children && children.length) {\n node.x = d3_layout_clusterX(children);\n node.y = d3_layout_clusterY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;\n d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {\n node.x = (node.x - root.x) * size[0];\n node.y = (root.y - node.y) * size[1];\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * size[0];\n node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];\n });\n return nodes;\n }\n cluster.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return cluster;\n };\n cluster.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null;\n return cluster;\n };\n cluster.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) != null;\n return cluster;\n };\n return d3_layout_hierarchyRebind(cluster, hierarchy);\n };\n function d3_layout_clusterY(children) {\n return 1 + d3.max(children, function(child) {\n return child.y;\n });\n }\n function d3_layout_clusterX(children) {\n return children.reduce(function(x, child) {\n return x + child.x;\n }, 0) / children.length;\n }\n function d3_layout_clusterLeft(node) {\n var children = node.children;\n return children && children.length ? d3_layout_clusterLeft(children[0]) : node;\n }\n function d3_layout_clusterRight(node) {\n var children = node.children, n;\n return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;\n }\n d3.layout.treemap = function() {\n var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = \"squarify\", ratio = .5 * (1 + Math.sqrt(5));\n function scale(children, k) {\n var i = -1, n = children.length, child, area;\n while (++i < n) {\n area = (child = children[i]).value * (k < 0 ? 0 : k);\n child.area = isNaN(area) || area <= 0 ? 0 : area;\n }\n }\n function squarify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === \"slice\" ? rect.dx : mode === \"dice\" ? rect.dy : mode === \"slice-dice\" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while ((n = remaining.length) > 0) {\n row.push(child = remaining[n - 1]);\n row.area += child.area;\n if (mode !== \"squarify\" || (score = worst(row, u)) <= best) {\n remaining.pop();\n best = score;\n } else {\n row.area -= row.pop().area;\n position(row, u, rect, false);\n u = Math.min(rect.dx, rect.dy);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n position(row, u, rect, true);\n row.length = row.area = 0;\n }\n children.forEach(squarify);\n }\n }\n function stickify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), remaining = children.slice(), child, row = [];\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while (child = remaining.pop()) {\n row.push(child);\n row.area += child.area;\n if (child.z != null) {\n position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);\n row.length = row.area = 0;\n }\n }\n children.forEach(stickify);\n }\n }\n function worst(row, u) {\n var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;\n while (++i < n) {\n if (!(r = row[i].area)) continue;\n if (r < rmin) rmin = r;\n if (r > rmax) rmax = r;\n }\n s *= s;\n u *= u;\n return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;\n }\n function position(row, u, rect, flush) {\n var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;\n if (u == rect.dx) {\n if (flush || v > rect.dy) v = rect.dy;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dy = v;\n x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);\n }\n o.z = true;\n o.dx += rect.x + rect.dx - x;\n rect.y += v;\n rect.dy -= v;\n } else {\n if (flush || v > rect.dx) v = rect.dx;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dx = v;\n y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);\n }\n o.z = false;\n o.dy += rect.y + rect.dy - y;\n rect.x += v;\n rect.dx -= v;\n }\n }\n function treemap(d) {\n var nodes = stickies || hierarchy(d), root = nodes[0];\n root.x = root.y = 0;\n if (root.value) root.dx = size[0], root.dy = size[1]; else root.dx = root.dy = 0;\n if (stickies) hierarchy.revalue(root);\n scale([ root ], root.dx * root.dy / root.value);\n (stickies ? stickify : squarify)(root);\n if (sticky) stickies = nodes;\n return nodes;\n }\n treemap.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return treemap;\n };\n treemap.padding = function(x) {\n if (!arguments.length) return padding;\n function padFunction(node) {\n var p = x.call(treemap, node, node.depth);\n return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === \"number\" ? [ p, p, p, p ] : p);\n }\n function padConstant(node) {\n return d3_layout_treemapPad(node, x);\n }\n var type;\n pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === \"function\" ? padFunction : type === \"number\" ? (x = [ x, x, x, x ], \n padConstant) : padConstant;\n return treemap;\n };\n treemap.round = function(x) {\n if (!arguments.length) return round != Number;\n round = x ? Math.round : Number;\n return treemap;\n };\n treemap.sticky = function(x) {\n if (!arguments.length) return sticky;\n sticky = x;\n stickies = null;\n return treemap;\n };\n treemap.ratio = function(x) {\n if (!arguments.length) return ratio;\n ratio = x;\n return treemap;\n };\n treemap.mode = function(x) {\n if (!arguments.length) return mode;\n mode = x + \"\";\n return treemap;\n };\n return d3_layout_hierarchyRebind(treemap, hierarchy);\n };\n function d3_layout_treemapPadNull(node) {\n return {\n x: node.x,\n y: node.y,\n dx: node.dx,\n dy: node.dy\n };\n }\n function d3_layout_treemapPad(node, padding) {\n var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];\n if (dx < 0) {\n x += dx / 2;\n dx = 0;\n }\n if (dy < 0) {\n y += dy / 2;\n dy = 0;\n }\n return {\n x: x,\n y: y,\n dx: dx,\n dy: dy\n };\n }\n d3.random = {\n normal: function(µ, σ) {\n var n = arguments.length;\n if (n < 2) σ = 1;\n if (n < 1) µ = 0;\n return function() {\n var x, y, r;\n do {\n x = Math.random() * 2 - 1;\n y = Math.random() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);\n };\n },\n logNormal: function() {\n var random = d3.random.normal.apply(d3, arguments);\n return function() {\n return Math.exp(random());\n };\n },\n bates: function(m) {\n var random = d3.random.irwinHall(m);\n return function() {\n return random() / m;\n };\n },\n irwinHall: function(m) {\n return function() {\n for (var s = 0, j = 0; j < m; j++) s += Math.random();\n return s;\n };\n }\n };\n d3.scale = {};\n function d3_scaleExtent(domain) {\n var start = domain[0], stop = domain[domain.length - 1];\n return start < stop ? [ start, stop ] : [ stop, start ];\n }\n function d3_scaleRange(scale) {\n return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());\n }\n function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {\n var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);\n return function(x) {\n return i(u(x));\n };\n }\n function d3_scale_nice(domain, nice) {\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;\n if (x1 < x0) {\n dx = i0, i0 = i1, i1 = dx;\n dx = x0, x0 = x1, x1 = dx;\n }\n domain[i0] = nice.floor(x0);\n domain[i1] = nice.ceil(x1);\n return domain;\n }\n function d3_scale_niceStep(step) {\n return step ? {\n floor: function(x) {\n return Math.floor(x / step) * step;\n },\n ceil: function(x) {\n return Math.ceil(x / step) * step;\n }\n } : d3_scale_niceIdentity;\n }\n var d3_scale_niceIdentity = {\n floor: d3_identity,\n ceil: d3_identity\n };\n function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {\n var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;\n if (domain[k] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n while (++j <= k) {\n u.push(uninterpolate(domain[j - 1], domain[j]));\n i.push(interpolate(range[j - 1], range[j]));\n }\n return function(x) {\n var j = d3.bisect(domain, x, 1, k) - 1;\n return i[j](u[j](x));\n };\n }\n d3.scale.linear = function() {\n return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);\n };\n function d3_scale_linear(domain, range, interpolate, clamp) {\n var output, input;\n function rescale() {\n var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;\n output = linear(domain, range, uninterpolate, interpolate);\n input = linear(range, domain, uninterpolate, d3_interpolate);\n return scale;\n }\n function scale(x) {\n return output(x);\n }\n scale.invert = function(y) {\n return input(y);\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(Number);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.rangeRound = function(x) {\n return scale.range(x).interpolate(d3_interpolateRound);\n };\n scale.clamp = function(x) {\n if (!arguments.length) return clamp;\n clamp = x;\n return rescale();\n };\n scale.interpolate = function(x) {\n if (!arguments.length) return interpolate;\n interpolate = x;\n return rescale();\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n d3_scale_linearNice(domain, m);\n return rescale();\n };\n scale.copy = function() {\n return d3_scale_linear(domain, range, interpolate, clamp);\n };\n return rescale();\n }\n function d3_scale_linearRebind(scale, linear) {\n return d3.rebind(scale, linear, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n }\n function d3_scale_linearNice(domain, m) {\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n return domain;\n }\n function d3_scale_linearTickRange(domain, m) {\n if (m == null) m = 10;\n var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;\n if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;\n extent[0] = Math.ceil(extent[0] / step) * step;\n extent[1] = Math.floor(extent[1] / step) * step + step * .5;\n extent[2] = step;\n return extent;\n }\n function d3_scale_linearTicks(domain, m) {\n return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));\n }\n function d3_scale_linearTickFormat(domain, m, format) {\n var range = d3_scale_linearTickRange(domain, m);\n if (format) {\n var match = d3_format_re.exec(format);\n match.shift();\n if (match[8] === \"s\") {\n var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));\n if (!match[7]) match[7] = \".\" + d3_scale_linearPrecision(prefix.scale(range[2]));\n match[8] = \"f\";\n format = d3.format(match.join(\"\"));\n return function(d) {\n return format(prefix.scale(d)) + prefix.symbol;\n };\n }\n if (!match[7]) match[7] = \".\" + d3_scale_linearFormatPrecision(match[8], range);\n format = match.join(\"\");\n } else {\n format = \",.\" + d3_scale_linearPrecision(range[2]) + \"f\";\n }\n return d3.format(format);\n }\n var d3_scale_linearFormatSignificant = {\n s: 1,\n g: 1,\n p: 1,\n r: 1,\n e: 1\n };\n function d3_scale_linearPrecision(value) {\n return -Math.floor(Math.log(value) / Math.LN10 + .01);\n }\n function d3_scale_linearFormatPrecision(type, range) {\n var p = d3_scale_linearPrecision(range[2]);\n return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== \"e\") : p - (type === \"%\") * 2;\n }\n d3.scale.log = function() {\n return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);\n };\n function d3_scale_log(linear, base, positive, domain) {\n function log(x) {\n return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);\n }\n function pow(x) {\n return positive ? Math.pow(base, x) : -Math.pow(base, -x);\n }\n function scale(x) {\n return linear(log(x));\n }\n scale.invert = function(x) {\n return pow(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n positive = x[0] >= 0;\n linear.domain((domain = x.map(Number)).map(log));\n return scale;\n };\n scale.base = function(_) {\n if (!arguments.length) return base;\n base = +_;\n linear.domain(domain.map(log));\n return scale;\n };\n scale.nice = function() {\n var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);\n linear.domain(niced);\n domain = niced.map(pow);\n return scale;\n };\n scale.ticks = function() {\n var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;\n if (isFinite(j - i)) {\n if (positive) {\n for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);\n ticks.push(pow(i));\n } else {\n ticks.push(pow(i));\n for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);\n }\n for (i = 0; ticks[i] < u; i++) {}\n for (j = ticks.length; ticks[j - 1] > v; j--) {}\n ticks = ticks.slice(i, j);\n }\n return ticks;\n };\n scale.tickFormat = function(n, format) {\n if (!arguments.length) return d3_scale_logFormat;\n if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== \"function\") format = d3.format(format);\n var k = Math.max(1, base * n / scale.ticks().length);\n return function(d) {\n var i = d / pow(Math.round(log(d)));\n if (i * base < base - .5) i *= base;\n return i <= k ? format(d) : \"\";\n };\n };\n scale.copy = function() {\n return d3_scale_log(linear.copy(), base, positive, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n var d3_scale_logFormat = d3.format(\".0e\"), d3_scale_logNiceNegative = {\n floor: function(x) {\n return -Math.ceil(-x);\n },\n ceil: function(x) {\n return -Math.floor(-x);\n }\n };\n d3.scale.pow = function() {\n return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);\n };\n function d3_scale_pow(linear, exponent, domain) {\n var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);\n function scale(x) {\n return linear(powp(x));\n }\n scale.invert = function(x) {\n return powb(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n linear.domain((domain = x.map(Number)).map(powp));\n return scale;\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n return scale.domain(d3_scale_linearNice(domain, m));\n };\n scale.exponent = function(x) {\n if (!arguments.length) return exponent;\n powp = d3_scale_powPow(exponent = x);\n powb = d3_scale_powPow(1 / exponent);\n linear.domain(domain.map(powp));\n return scale;\n };\n scale.copy = function() {\n return d3_scale_pow(linear.copy(), exponent, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_scale_powPow(e) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);\n };\n }\n d3.scale.sqrt = function() {\n return d3.scale.pow().exponent(.5);\n };\n d3.scale.ordinal = function() {\n return d3_scale_ordinal([], {\n t: \"range\",\n a: [ [] ]\n });\n };\n function d3_scale_ordinal(domain, ranger) {\n var index, range, rangeBand;\n function scale(x) {\n return range[((index.get(x) || (ranger.t === \"range\" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];\n }\n function steps(start, step) {\n return d3.range(domain.length).map(function(i) {\n return start + step * i;\n });\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = [];\n index = new d3_Map();\n var i = -1, n = x.length, xi;\n while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));\n return scale[ranger.t].apply(scale, ranger.a);\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n rangeBand = 0;\n ranger = {\n t: \"range\",\n a: arguments\n };\n return scale;\n };\n scale.rangePoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, \n 0) : (stop - start) / (domain.length - 1 + padding);\n range = steps(start + step * padding / 2, step);\n rangeBand = 0;\n ranger = {\n t: \"rangePoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundPoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), \n 0) : (stop - start) / (domain.length - 1 + padding) | 0;\n range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);\n rangeBand = 0;\n ranger = {\n t: \"rangeRoundPoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);\n range = steps(start + step * outerPadding, step);\n if (reverse) range.reverse();\n rangeBand = step * (1 - padding);\n ranger = {\n t: \"rangeBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));\n range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);\n if (reverse) range.reverse();\n rangeBand = Math.round(step * (1 - padding));\n ranger = {\n t: \"rangeRoundBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBand = function() {\n return rangeBand;\n };\n scale.rangeExtent = function() {\n return d3_scaleExtent(ranger.a[0]);\n };\n scale.copy = function() {\n return d3_scale_ordinal(domain, ranger);\n };\n return scale.domain(domain);\n }\n d3.scale.category10 = function() {\n return d3.scale.ordinal().range(d3_category10);\n };\n d3.scale.category20 = function() {\n return d3.scale.ordinal().range(d3_category20);\n };\n d3.scale.category20b = function() {\n return d3.scale.ordinal().range(d3_category20b);\n };\n d3.scale.category20c = function() {\n return d3.scale.ordinal().range(d3_category20c);\n };\n var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);\n var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);\n var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);\n var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);\n d3.scale.quantile = function() {\n return d3_scale_quantile([], []);\n };\n function d3_scale_quantile(domain, range) {\n var thresholds;\n function rescale() {\n var k = 0, q = range.length;\n thresholds = [];\n while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);\n return scale;\n }\n function scale(x) {\n if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.quantiles = function() {\n return thresholds;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];\n };\n scale.copy = function() {\n return d3_scale_quantile(domain, range);\n };\n return rescale();\n }\n d3.scale.quantize = function() {\n return d3_scale_quantize(0, 1, [ 0, 1 ]);\n };\n function d3_scale_quantize(x0, x1, range) {\n var kx, i;\n function scale(x) {\n return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];\n }\n function rescale() {\n kx = range.length / (x1 - x0);\n i = range.length - 1;\n return scale;\n }\n scale.domain = function(x) {\n if (!arguments.length) return [ x0, x1 ];\n x0 = +x[0];\n x1 = +x[x.length - 1];\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n y = y < 0 ? NaN : y / kx + x0;\n return [ y, y + 1 / kx ];\n };\n scale.copy = function() {\n return d3_scale_quantize(x0, x1, range);\n };\n return rescale();\n }\n d3.scale.threshold = function() {\n return d3_scale_threshold([ .5 ], [ 0, 1 ]);\n };\n function d3_scale_threshold(domain, range) {\n function scale(x) {\n if (x <= x) return range[d3.bisect(domain, x)];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain;\n domain = _;\n return scale;\n };\n scale.range = function(_) {\n if (!arguments.length) return range;\n range = _;\n return scale;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return [ domain[y - 1], domain[y] ];\n };\n scale.copy = function() {\n return d3_scale_threshold(domain, range);\n };\n return scale;\n }\n d3.scale.identity = function() {\n return d3_scale_identity([ 0, 1 ]);\n };\n function d3_scale_identity(domain) {\n function identity(x) {\n return +x;\n }\n identity.invert = identity;\n identity.domain = identity.range = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(identity);\n return identity;\n };\n identity.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n identity.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n identity.copy = function() {\n return d3_scale_identity(domain);\n };\n return identity;\n }\n d3.svg = {};\n function d3_zero() {\n return 0;\n }\n d3.svg.arc = function() {\n var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;\n function arc() {\n var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;\n if (r1 < r0) rc = r1, r1 = r0, r0 = rc;\n if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : \"\") + \"Z\";\n var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];\n if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {\n rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);\n if (!cw) p1 *= -1;\n if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));\n if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));\n }\n if (r1) {\n x0 = r1 * Math.cos(a0 + p1);\n y0 = r1 * Math.sin(a0 + p1);\n x1 = r1 * Math.cos(a1 - p1);\n y1 = r1 * Math.sin(a1 - p1);\n var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1;\n if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {\n var h1 = (a0 + a1) / 2;\n x0 = r1 * Math.cos(h1);\n y0 = r1 * Math.sin(h1);\n x1 = y1 = null;\n }\n } else {\n x0 = y0 = 0;\n }\n if (r0) {\n x2 = r0 * Math.cos(a1 - p0);\n y2 = r0 * Math.sin(a1 - p0);\n x3 = r0 * Math.cos(a0 + p0);\n y3 = r0 * Math.sin(a0 + p0);\n var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1;\n if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {\n var h0 = (a0 + a1) / 2;\n x2 = r0 * Math.cos(h0);\n y2 = r0 * Math.sin(h0);\n x3 = y3 = null;\n }\n } else {\n x2 = y2 = 0;\n }\n if (da > ε && (rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {\n cr = r0 < r1 ^ cw ? 0 : 1;\n var rc1 = rc, rc0 = rc;\n if (da < π) {\n var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Math.min(rc, (r0 - lc) / (kc - 1));\n rc1 = Math.min(rc, (r1 - lc) / (kc + 1));\n }\n if (x1 != null) {\n var t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);\n if (rc === rc1) {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t30[1], \"A\", r1, \",\", r1, \" 0 \", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), \",\", cw, \" \", t12[1], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t12[0]);\n } else {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 1,\", cr, \" \", t12[0]);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n }\n if (x3 != null) {\n var t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);\n if (rc === rc0) {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t21[1], \"A\", r0, \",\", r0, \" 0 \", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), \",\", 1 - cw, \" \", t03[1], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n } else {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n }\n } else {\n path.push(\"L\", x2, \",\", y2);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n if (x1 != null) path.push(\"A\", r1, \",\", r1, \" 0 \", l1, \",\", cw, \" \", x1, \",\", y1);\n path.push(\"L\", x2, \",\", y2);\n if (x3 != null) path.push(\"A\", r0, \",\", r0, \" 0 \", l0, \",\", 1 - cw, \" \", x3, \",\", y3);\n }\n path.push(\"Z\");\n return path.join(\"\");\n }\n function circleSegment(r1, cw) {\n return \"M0,\" + r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + -r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + r1;\n }\n arc.innerRadius = function(v) {\n if (!arguments.length) return innerRadius;\n innerRadius = d3_functor(v);\n return arc;\n };\n arc.outerRadius = function(v) {\n if (!arguments.length) return outerRadius;\n outerRadius = d3_functor(v);\n return arc;\n };\n arc.cornerRadius = function(v) {\n if (!arguments.length) return cornerRadius;\n cornerRadius = d3_functor(v);\n return arc;\n };\n arc.padRadius = function(v) {\n if (!arguments.length) return padRadius;\n padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);\n return arc;\n };\n arc.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return arc;\n };\n arc.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return arc;\n };\n arc.padAngle = function(v) {\n if (!arguments.length) return padAngle;\n padAngle = d3_functor(v);\n return arc;\n };\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ;\n return [ Math.cos(a) * r, Math.sin(a) * r ];\n };\n return arc;\n };\n var d3_svg_arcAuto = \"auto\";\n function d3_svg_arcInnerRadius(d) {\n return d.innerRadius;\n }\n function d3_svg_arcOuterRadius(d) {\n return d.outerRadius;\n }\n function d3_svg_arcStartAngle(d) {\n return d.startAngle;\n }\n function d3_svg_arcEndAngle(d) {\n return d.endAngle;\n }\n function d3_svg_arcPadAngle(d) {\n return d && d.padAngle;\n }\n function d3_svg_arcSweep(x0, y0, x1, y1) {\n return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;\n }\n function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {\n var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];\n }\n function d3_svg_line(projection) {\n var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;\n function line(data) {\n var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);\n function segment() {\n segments.push(\"M\", interpolate(projection(points), tension));\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);\n } else if (points.length) {\n segment();\n points = [];\n }\n }\n if (points.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n line.x = function(_) {\n if (!arguments.length) return x;\n x = _;\n return line;\n };\n line.y = function(_) {\n if (!arguments.length) return y;\n y = _;\n return line;\n };\n line.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return line;\n };\n line.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n return line;\n };\n line.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return line;\n };\n return line;\n }\n d3.svg.line = function() {\n return d3_svg_line(d3_identity);\n };\n var d3_svg_lineInterpolators = d3.map({\n linear: d3_svg_lineLinear,\n \"linear-closed\": d3_svg_lineLinearClosed,\n step: d3_svg_lineStep,\n \"step-before\": d3_svg_lineStepBefore,\n \"step-after\": d3_svg_lineStepAfter,\n basis: d3_svg_lineBasis,\n \"basis-open\": d3_svg_lineBasisOpen,\n \"basis-closed\": d3_svg_lineBasisClosed,\n bundle: d3_svg_lineBundle,\n cardinal: d3_svg_lineCardinal,\n \"cardinal-open\": d3_svg_lineCardinalOpen,\n \"cardinal-closed\": d3_svg_lineCardinalClosed,\n monotone: d3_svg_lineMonotone\n });\n d3_svg_lineInterpolators.forEach(function(key, value) {\n value.key = key;\n value.closed = /-closed$/.test(key);\n });\n function d3_svg_lineLinear(points) {\n return points.length > 1 ? points.join(\"L\") : points + \"Z\";\n }\n function d3_svg_lineLinearClosed(points) {\n return points.join(\"L\") + \"Z\";\n }\n function d3_svg_lineStep(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p[0] + (p = points[i])[0]) / 2, \"V\", p[1]);\n if (n > 1) path.push(\"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepBefore(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"V\", (p = points[i])[1], \"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepAfter(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p = points[i])[0], \"V\", p[1]);\n return path.join(\"\");\n }\n function d3_svg_lineCardinalOpen(points, tension) {\n return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineCardinalClosed(points, tension) {\n return points.length < 3 ? d3_svg_lineLinearClosed(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), \n points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));\n }\n function d3_svg_lineCardinal(points, tension) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineHermite(points, tangents) {\n if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {\n return d3_svg_lineLinear(points);\n }\n var quad = points.length != tangents.length, path = \"\", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;\n if (quad) {\n path += \"Q\" + (p[0] - t0[0] * 2 / 3) + \",\" + (p[1] - t0[1] * 2 / 3) + \",\" + p[0] + \",\" + p[1];\n p0 = points[1];\n pi = 2;\n }\n if (tangents.length > 1) {\n t = tangents[1];\n p = points[pi];\n pi++;\n path += \"C\" + (p0[0] + t0[0]) + \",\" + (p0[1] + t0[1]) + \",\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n for (var i = 2; i < tangents.length; i++, pi++) {\n p = points[pi];\n t = tangents[i];\n path += \"S\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n }\n }\n if (quad) {\n var lp = points[pi];\n path += \"Q\" + (p[0] + t[0] * 2 / 3) + \",\" + (p[1] + t[1] * 2 / 3) + \",\" + lp[0] + \",\" + lp[1];\n }\n return path;\n }\n function d3_svg_lineCardinalTangents(points, tension) {\n var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;\n while (++i < n) {\n p0 = p1;\n p1 = p2;\n p2 = points[i];\n tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);\n }\n return tangents;\n }\n function d3_svg_lineBasis(points) {\n if (points.length < 3) return d3_svg_lineLinear(points);\n var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, \",\", y0, \"L\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n points.push(points[n - 1]);\n while (++i <= n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n points.pop();\n path.push(\"L\", pi);\n return path.join(\"\");\n }\n function d3_svg_lineBasisOpen(points) {\n if (points.length < 4) return d3_svg_lineLinear(points);\n var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];\n while (++i < 3) {\n pi = points[i];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + \",\" + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));\n --i;\n while (++i < n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBasisClosed(points) {\n var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];\n while (++i < 4) {\n pi = points[i % n];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n --i;\n while (++i < m) {\n pi = points[i % n];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBundle(points, tension) {\n var n = points.length - 1;\n if (n) {\n var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;\n while (++i <= n) {\n p = points[i];\n t = i / n;\n p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);\n p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);\n }\n }\n return d3_svg_lineBasis(points);\n }\n function d3_svg_lineDot4(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n }\n var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];\n function d3_svg_lineBasisBezier(path, x, y) {\n path.push(\"C\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));\n }\n function d3_svg_lineSlope(p0, p1) {\n return (p1[1] - p0[1]) / (p1[0] - p0[0]);\n }\n function d3_svg_lineFiniteDifferences(points) {\n var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);\n while (++i < j) {\n m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;\n }\n m[i] = d;\n return m;\n }\n function d3_svg_lineMonotoneTangents(points) {\n var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;\n while (++i < j) {\n d = d3_svg_lineSlope(points[i], points[i + 1]);\n if (abs(d) < ε) {\n m[i] = m[i + 1] = 0;\n } else {\n a = m[i] / d;\n b = m[i + 1] / d;\n s = a * a + b * b;\n if (s > 9) {\n s = d * 3 / Math.sqrt(s);\n m[i] = s * a;\n m[i + 1] = s * b;\n }\n }\n }\n i = -1;\n while (++i <= j) {\n s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));\n tangents.push([ s || 0, m[i] * s || 0 ]);\n }\n return tangents;\n }\n function d3_svg_lineMonotone(points) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));\n }\n d3.svg.line.radial = function() {\n var line = d3_svg_line(d3_svg_lineRadial);\n line.radius = line.x, delete line.x;\n line.angle = line.y, delete line.y;\n return line;\n };\n function d3_svg_lineRadial(points) {\n var point, i = -1, n = points.length, r, a;\n while (++i < n) {\n point = points[i];\n r = point[0];\n a = point[1] - halfπ;\n point[0] = r * Math.cos(a);\n point[1] = r * Math.sin(a);\n }\n return points;\n }\n function d3_svg_area(projection) {\n var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = \"L\", tension = .7;\n function area(data) {\n var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {\n return x;\n } : d3_functor(x1), fy1 = y0 === y1 ? function() {\n return y;\n } : d3_functor(y1), x, y;\n function segment() {\n segments.push(\"M\", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), \"Z\");\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);\n points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);\n } else if (points0.length) {\n segment();\n points0 = [];\n points1 = [];\n }\n }\n if (points0.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n area.x = function(_) {\n if (!arguments.length) return x1;\n x0 = x1 = _;\n return area;\n };\n area.x0 = function(_) {\n if (!arguments.length) return x0;\n x0 = _;\n return area;\n };\n area.x1 = function(_) {\n if (!arguments.length) return x1;\n x1 = _;\n return area;\n };\n area.y = function(_) {\n if (!arguments.length) return y1;\n y0 = y1 = _;\n return area;\n };\n area.y0 = function(_) {\n if (!arguments.length) return y0;\n y0 = _;\n return area;\n };\n area.y1 = function(_) {\n if (!arguments.length) return y1;\n y1 = _;\n return area;\n };\n area.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return area;\n };\n area.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n interpolateReverse = interpolate.reverse || interpolate;\n L = interpolate.closed ? \"M\" : \"L\";\n return area;\n };\n area.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return area;\n };\n return area;\n }\n d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;\n d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;\n d3.svg.area = function() {\n return d3_svg_area(d3_identity);\n };\n d3.svg.area.radial = function() {\n var area = d3_svg_area(d3_svg_lineRadial);\n area.radius = area.x, delete area.x;\n area.innerRadius = area.x0, delete area.x0;\n area.outerRadius = area.x1, delete area.x1;\n area.angle = area.y, delete area.y;\n area.startAngle = area.y0, delete area.y0;\n area.endAngle = area.y1, delete area.y1;\n return area;\n };\n d3.svg.chord = function() {\n var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;\n function chord(d, i) {\n var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);\n return \"M\" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + \"Z\";\n }\n function subgroup(self, f, d, i) {\n var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ;\n return {\n r: r,\n a0: a0,\n a1: a1,\n p0: [ r * Math.cos(a0), r * Math.sin(a0) ],\n p1: [ r * Math.cos(a1), r * Math.sin(a1) ]\n };\n }\n function equals(a, b) {\n return a.a0 == b.a0 && a.a1 == b.a1;\n }\n function arc(r, p, a) {\n return \"A\" + r + \",\" + r + \" 0 \" + +(a > π) + \",1 \" + p;\n }\n function curve(r0, p0, r1, p1) {\n return \"Q 0,0 \" + p1;\n }\n chord.radius = function(v) {\n if (!arguments.length) return radius;\n radius = d3_functor(v);\n return chord;\n };\n chord.source = function(v) {\n if (!arguments.length) return source;\n source = d3_functor(v);\n return chord;\n };\n chord.target = function(v) {\n if (!arguments.length) return target;\n target = d3_functor(v);\n return chord;\n };\n chord.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return chord;\n };\n chord.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return chord;\n };\n return chord;\n };\n function d3_svg_chordRadius(d) {\n return d.radius;\n }\n d3.svg.diagonal = function() {\n var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;\n function diagonal(d, i) {\n var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {\n x: p0.x,\n y: m\n }, {\n x: p3.x,\n y: m\n }, p3 ];\n p = p.map(projection);\n return \"M\" + p[0] + \"C\" + p[1] + \" \" + p[2] + \" \" + p[3];\n }\n diagonal.source = function(x) {\n if (!arguments.length) return source;\n source = d3_functor(x);\n return diagonal;\n };\n diagonal.target = function(x) {\n if (!arguments.length) return target;\n target = d3_functor(x);\n return diagonal;\n };\n diagonal.projection = function(x) {\n if (!arguments.length) return projection;\n projection = x;\n return diagonal;\n };\n return diagonal;\n };\n function d3_svg_diagonalProjection(d) {\n return [ d.x, d.y ];\n }\n d3.svg.diagonal.radial = function() {\n var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;\n diagonal.projection = function(x) {\n return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;\n };\n return diagonal;\n };\n function d3_svg_diagonalRadialProjection(projection) {\n return function() {\n var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ;\n return [ r * Math.cos(a), r * Math.sin(a) ];\n };\n }\n d3.svg.symbol = function() {\n var type = d3_svg_symbolType, size = d3_svg_symbolSize;\n function symbol(d, i) {\n return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));\n }\n symbol.type = function(x) {\n if (!arguments.length) return type;\n type = d3_functor(x);\n return symbol;\n };\n symbol.size = function(x) {\n if (!arguments.length) return size;\n size = d3_functor(x);\n return symbol;\n };\n return symbol;\n };\n function d3_svg_symbolSize() {\n return 64;\n }\n function d3_svg_symbolType() {\n return \"circle\";\n }\n function d3_svg_symbolCircle(size) {\n var r = Math.sqrt(size / π);\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\n }\n var d3_svg_symbols = d3.map({\n circle: d3_svg_symbolCircle,\n cross: function(size) {\n var r = Math.sqrt(size / 5) / 2;\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\n },\n diamond: function(size) {\n var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;\n return \"M0,\" + -ry + \"L\" + rx + \",0\" + \" 0,\" + ry + \" \" + -rx + \",0\" + \"Z\";\n },\n square: function(size) {\n var r = Math.sqrt(size) / 2;\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\n },\n \"triangle-down\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + ry + \"L\" + rx + \",\" + -ry + \" \" + -rx + \",\" + -ry + \"Z\";\n },\n \"triangle-up\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + -ry + \"L\" + rx + \",\" + ry + \" \" + -rx + \",\" + ry + \"Z\";\n }\n });\n d3.svg.symbolTypes = d3_svg_symbols.keys();\n var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);\n d3_selectionPrototype.transition = function(name) {\n var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || {\n time: Date.now(),\n ease: d3_ease_cubicInOut,\n delay: 0,\n duration: 250\n };\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_selectionPrototype.interrupt = function(name) {\n return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));\n };\n var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());\n function d3_selection_interruptNS(ns) {\n return function() {\n var lock, activeId, active;\n if ((lock = this[ns]) && (active = lock[activeId = lock.active])) {\n active.timer.c = null;\n active.timer.t = NaN;\n if (--lock.count) delete lock[activeId]; else delete this[ns];\n lock.active += .5;\n active.event && active.event.interrupt.call(this, this.__data__, active.index);\n }\n };\n }\n function d3_transition(groups, ns, id) {\n d3_subclass(groups, d3_transitionPrototype);\n groups.namespace = ns;\n groups.id = id;\n return groups;\n }\n var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit;\n d3_transitionPrototype.call = d3_selectionPrototype.call;\n d3_transitionPrototype.empty = d3_selectionPrototype.empty;\n d3_transitionPrototype.node = d3_selectionPrototype.node;\n d3_transitionPrototype.size = d3_selectionPrototype.size;\n d3.transition = function(selection, name) {\n return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection);\n };\n d3.transition.prototype = d3_transitionPrototype;\n d3_transitionPrototype.select = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n d3_transitionNode(subnode, i, ns, id, node[ns][id]);\n subgroup.push(subnode);\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.selectAll = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n transition = node[ns][id];\n subnodes = selector.call(node, node.__data__, i, j);\n subgroups.push(subgroup = []);\n for (var k = -1, o = subnodes.length; ++k < o; ) {\n if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);\n subgroup.push(subnode);\n }\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_transition(subgroups, this.namespace, this.id);\n };\n d3_transitionPrototype.tween = function(name, tween) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) return this.node()[ns][id].tween.get(name);\n return d3_selection_each(this, tween == null ? function(node) {\n node[ns][id].tween.remove(name);\n } : function(node) {\n node[ns][id].tween.set(name, tween);\n });\n };\n function d3_transition_tween(groups, name, value, tween) {\n var id = groups.id, ns = groups.namespace;\n return d3_selection_each(groups, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j)));\n } : (value = tween(value), function(node) {\n node[ns][id].tween.set(name, value);\n }));\n }\n d3_transitionPrototype.attr = function(nameNS, value) {\n if (arguments.length < 2) {\n for (value in nameNS) this.attr(value, nameNS[value]);\n return this;\n }\n var interpolate = nameNS == \"transform\" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrTween(b) {\n return b == null ? attrNull : (b += \"\", function() {\n var a = this.getAttribute(name), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttribute(name, i(t));\n });\n });\n }\n function attrTweenNS(b) {\n return b == null ? attrNullNS : (b += \"\", function() {\n var a = this.getAttributeNS(name.space, name.local), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttributeNS(name.space, name.local, i(t));\n });\n });\n }\n return d3_transition_tween(this, \"attr.\" + nameNS, value, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.attrTween = function(nameNS, tween) {\n var name = d3.ns.qualify(nameNS);\n function attrTween(d, i) {\n var f = tween.call(this, d, i, this.getAttribute(name));\n return f && function(t) {\n this.setAttribute(name, f(t));\n };\n }\n function attrTweenNS(d, i) {\n var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));\n return f && function(t) {\n this.setAttributeNS(name.space, name.local, f(t));\n };\n }\n return this.tween(\"attr.\" + nameNS, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.style(priority, name[priority], value);\n return this;\n }\n priority = \"\";\n }\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleString(b) {\n return b == null ? styleNull : (b += \"\", function() {\n var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;\n return a !== b && (i = d3_interpolate(a, b), function(t) {\n this.style.setProperty(name, i(t), priority);\n });\n });\n }\n return d3_transition_tween(this, \"style.\" + name, value, styleString);\n };\n d3_transitionPrototype.styleTween = function(name, tween, priority) {\n if (arguments.length < 3) priority = \"\";\n function styleTween(d, i) {\n var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));\n return f && function(t) {\n this.style.setProperty(name, f(t), priority);\n };\n }\n return this.tween(\"style.\" + name, styleTween);\n };\n d3_transitionPrototype.text = function(value) {\n return d3_transition_tween(this, \"text\", value, d3_transition_text);\n };\n function d3_transition_text(b) {\n if (b == null) b = \"\";\n return function() {\n this.textContent = b;\n };\n }\n d3_transitionPrototype.remove = function() {\n var ns = this.namespace;\n return this.each(\"end.transition\", function() {\n var p;\n if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);\n });\n };\n d3_transitionPrototype.ease = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].ease;\n if (typeof value !== \"function\") value = d3.ease.apply(d3, arguments);\n return d3_selection_each(this, function(node) {\n node[ns][id].ease = value;\n });\n };\n d3_transitionPrototype.delay = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].delay;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].delay = +value.call(node, node.__data__, i, j);\n } : (value = +value, function(node) {\n node[ns][id].delay = value;\n }));\n };\n d3_transitionPrototype.duration = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].duration;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j));\n } : (value = Math.max(1, value), function(node) {\n node[ns][id].duration = value;\n }));\n };\n d3_transitionPrototype.each = function(type, listener) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) {\n var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;\n try {\n d3_transitionInheritId = id;\n d3_selection_each(this, function(node, i, j) {\n d3_transitionInherit = node[ns][id];\n type.call(node, node.__data__, i, j);\n });\n } finally {\n d3_transitionInherit = inherit;\n d3_transitionInheritId = inheritId;\n }\n } else {\n d3_selection_each(this, function(node) {\n var transition = node[ns][id];\n (transition.event || (transition.event = d3.dispatch(\"start\", \"end\", \"interrupt\"))).on(type, listener);\n });\n }\n return this;\n };\n d3_transitionPrototype.transition = function() {\n var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if (node = group[i]) {\n transition = node[ns][id0];\n d3_transitionNode(node, i, ns, id1, {\n time: transition.time,\n ease: transition.ease,\n delay: transition.delay + transition.duration,\n duration: transition.duration\n });\n }\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id1);\n };\n function d3_transitionNamespace(name) {\n return name == null ? \"__transition__\" : \"__transition_\" + name + \"__\";\n }\n function d3_transitionNode(node, i, ns, id, inherit) {\n var lock = node[ns] || (node[ns] = {\n active: 0,\n count: 0\n }), transition = lock[id], time, timer, duration, ease, tweens;\n function schedule(elapsed) {\n var delay = transition.delay;\n timer.t = delay + time;\n if (delay <= elapsed) return start(elapsed - delay);\n timer.c = start;\n }\n function start(elapsed) {\n var activeId = lock.active, active = lock[activeId];\n if (active) {\n active.timer.c = null;\n active.timer.t = NaN;\n --lock.count;\n delete lock[activeId];\n active.event && active.event.interrupt.call(node, node.__data__, active.index);\n }\n for (var cancelId in lock) {\n if (+cancelId < id) {\n var cancel = lock[cancelId];\n cancel.timer.c = null;\n cancel.timer.t = NaN;\n --lock.count;\n delete lock[cancelId];\n }\n }\n timer.c = tick;\n d3_timer(function() {\n if (timer.c && tick(elapsed || 1)) {\n timer.c = null;\n timer.t = NaN;\n }\n return 1;\n }, 0, time);\n lock.active = id;\n transition.event && transition.event.start.call(node, node.__data__, i);\n tweens = [];\n transition.tween.forEach(function(key, value) {\n if (value = value.call(node, node.__data__, i)) {\n tweens.push(value);\n }\n });\n ease = transition.ease;\n duration = transition.duration;\n }\n function tick(elapsed) {\n var t = elapsed / duration, e = ease(t), n = tweens.length;\n while (n > 0) {\n tweens[--n].call(node, e);\n }\n if (t >= 1) {\n transition.event && transition.event.end.call(node, node.__data__, i);\n if (--lock.count) delete lock[id]; else delete node[ns];\n return 1;\n }\n }\n if (!transition) {\n time = inherit.time;\n timer = d3_timer(schedule, 0, time);\n transition = lock[id] = {\n tween: new d3_Map(),\n time: time,\n timer: timer,\n delay: inherit.delay,\n duration: inherit.duration,\n ease: inherit.ease,\n index: i\n };\n inherit = null;\n ++lock.count;\n }\n }\n d3.svg.axis = function() {\n var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;\n function axis(g) {\n g.each(function() {\n var g = d3.select(this);\n var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();\n var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(\".tick\").data(ticks, scale1), tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", ε), tickExit = d3.transition(tick.exit()).style(\"opacity\", ε).remove(), tickUpdate = d3.transition(tick.order()).style(\"opacity\", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;\n var range = d3_scaleRange(scale1), path = g.selectAll(\".domain\").data([ 0 ]), pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), \n d3.transition(path));\n tickEnter.append(\"line\");\n tickEnter.append(\"text\");\n var lineEnter = tickEnter.select(\"line\"), lineUpdate = tickUpdate.select(\"line\"), text = tick.select(\"text\").text(tickFormat), textEnter = tickEnter.select(\"text\"), textUpdate = tickUpdate.select(\"text\"), sign = orient === \"top\" || orient === \"left\" ? -1 : 1, x1, x2, y1, y2;\n if (orient === \"bottom\" || orient === \"top\") {\n tickTransform = d3_svg_axisX, x1 = \"x\", y1 = \"y\", x2 = \"x2\", y2 = \"y2\";\n text.attr(\"dy\", sign < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\");\n pathUpdate.attr(\"d\", \"M\" + range[0] + \",\" + sign * outerTickSize + \"V0H\" + range[1] + \"V\" + sign * outerTickSize);\n } else {\n tickTransform = d3_svg_axisY, x1 = \"y\", y1 = \"x\", x2 = \"y2\", y2 = \"x2\";\n text.attr(\"dy\", \".32em\").style(\"text-anchor\", sign < 0 ? \"end\" : \"start\");\n pathUpdate.attr(\"d\", \"M\" + sign * outerTickSize + \",\" + range[0] + \"H0V\" + range[1] + \"H\" + sign * outerTickSize);\n }\n lineEnter.attr(y2, sign * innerTickSize);\n textEnter.attr(y1, sign * tickSpacing);\n lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);\n textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);\n if (scale1.rangeBand) {\n var x = scale1, dx = x.rangeBand() / 2;\n scale0 = scale1 = function(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, scale0);\n }\n tickEnter.call(tickTransform, scale0, scale1);\n tickUpdate.call(tickTransform, scale1, scale1);\n });\n }\n axis.scale = function(x) {\n if (!arguments.length) return scale;\n scale = x;\n return axis;\n };\n axis.orient = function(x) {\n if (!arguments.length) return orient;\n orient = x in d3_svg_axisOrients ? x + \"\" : d3_svg_axisDefaultOrient;\n return axis;\n };\n axis.ticks = function() {\n if (!arguments.length) return tickArguments_;\n tickArguments_ = d3_array(arguments);\n return axis;\n };\n axis.tickValues = function(x) {\n if (!arguments.length) return tickValues;\n tickValues = x;\n return axis;\n };\n axis.tickFormat = function(x) {\n if (!arguments.length) return tickFormat_;\n tickFormat_ = x;\n return axis;\n };\n axis.tickSize = function(x) {\n var n = arguments.length;\n if (!n) return innerTickSize;\n innerTickSize = +x;\n outerTickSize = +arguments[n - 1];\n return axis;\n };\n axis.innerTickSize = function(x) {\n if (!arguments.length) return innerTickSize;\n innerTickSize = +x;\n return axis;\n };\n axis.outerTickSize = function(x) {\n if (!arguments.length) return outerTickSize;\n outerTickSize = +x;\n return axis;\n };\n axis.tickPadding = function(x) {\n if (!arguments.length) return tickPadding;\n tickPadding = +x;\n return axis;\n };\n axis.tickSubdivide = function() {\n return arguments.length && axis;\n };\n return axis;\n };\n var d3_svg_axisDefaultOrient = \"bottom\", d3_svg_axisOrients = {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n };\n function d3_svg_axisX(selection, x0, x1) {\n selection.attr(\"transform\", function(d) {\n var v0 = x0(d);\n return \"translate(\" + (isFinite(v0) ? v0 : x1(d)) + \",0)\";\n });\n }\n function d3_svg_axisY(selection, y0, y1) {\n selection.attr(\"transform\", function(d) {\n var v0 = y0(d);\n return \"translate(0,\" + (isFinite(v0) ? v0 : y1(d)) + \")\";\n });\n }\n d3.svg.brush = function() {\n var event = d3_eventDispatch(brush, \"brushstart\", \"brush\", \"brushend\"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];\n function brush(g) {\n g.each(function() {\n var g = d3.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", brushstart).on(\"touchstart.brush\", brushstart);\n var background = g.selectAll(\".background\").data([ 0 ]);\n background.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\");\n g.selectAll(\".extent\").data([ 0 ]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n var resize = g.selectAll(\".resize\").data(resizes, d3_identity);\n resize.exit().remove();\n resize.enter().append(\"g\").attr(\"class\", function(d) {\n return \"resize \" + d;\n }).style(\"cursor\", function(d) {\n return d3_svg_brushCursor[d];\n }).append(\"rect\").attr(\"x\", function(d) {\n return /[ew]$/.test(d) ? -3 : null;\n }).attr(\"y\", function(d) {\n return /^[ns]/.test(d) ? -3 : null;\n }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\");\n resize.style(\"display\", brush.empty() ? \"none\" : null);\n var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;\n if (x) {\n range = d3_scaleRange(x);\n backgroundUpdate.attr(\"x\", range[0]).attr(\"width\", range[1] - range[0]);\n redrawX(gUpdate);\n }\n if (y) {\n range = d3_scaleRange(y);\n backgroundUpdate.attr(\"y\", range[0]).attr(\"height\", range[1] - range[0]);\n redrawY(gUpdate);\n }\n redraw(gUpdate);\n });\n }\n brush.event = function(g) {\n g.each(function() {\n var event_ = event.of(this, arguments), extent1 = {\n x: xExtent,\n y: yExtent,\n i: xExtentDomain,\n j: yExtentDomain\n }, extent0 = this.__chart__ || extent1;\n this.__chart__ = extent1;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.brush\", function() {\n xExtentDomain = extent0.i;\n yExtentDomain = extent0.j;\n xExtent = extent0.x;\n yExtent = extent0.y;\n event_({\n type: \"brushstart\"\n });\n }).tween(\"brush:brush\", function() {\n var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);\n xExtentDomain = yExtentDomain = null;\n return function(t) {\n xExtent = extent1.x = xi(t);\n yExtent = extent1.y = yi(t);\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n };\n }).each(\"end.brush\", function() {\n xExtentDomain = extent1.i;\n yExtentDomain = extent1.j;\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n });\n } else {\n event_({\n type: \"brushstart\"\n });\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n }\n });\n };\n function redraw(g) {\n g.selectAll(\".resize\").attr(\"transform\", function(d) {\n return \"translate(\" + xExtent[+/e$/.test(d)] + \",\" + yExtent[+/^s/.test(d)] + \")\";\n });\n }\n function redrawX(g) {\n g.select(\".extent\").attr(\"x\", xExtent[0]);\n g.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", xExtent[1] - xExtent[0]);\n }\n function redrawY(g) {\n g.select(\".extent\").attr(\"y\", yExtent[0]);\n g.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", yExtent[1] - yExtent[0]);\n }\n function brushstart() {\n var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed(\"extent\"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset;\n var w = d3.select(d3_window(target)).on(\"keydown.brush\", keydown).on(\"keyup.brush\", keyup);\n if (d3.event.changedTouches) {\n w.on(\"touchmove.brush\", brushmove).on(\"touchend.brush\", brushend);\n } else {\n w.on(\"mousemove.brush\", brushmove).on(\"mouseup.brush\", brushend);\n }\n g.interrupt().selectAll(\"*\").interrupt();\n if (dragging) {\n origin[0] = xExtent[0] - origin[0];\n origin[1] = yExtent[0] - origin[1];\n } else if (resizing) {\n var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);\n offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];\n origin[0] = xExtent[ex];\n origin[1] = yExtent[ey];\n } else if (d3.event.altKey) center = origin.slice();\n g.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null);\n d3.select(\"body\").style(\"cursor\", eventTarget.style(\"cursor\"));\n event_({\n type: \"brushstart\"\n });\n brushmove();\n function keydown() {\n if (d3.event.keyCode == 32) {\n if (!dragging) {\n center = null;\n origin[0] -= xExtent[1];\n origin[1] -= yExtent[1];\n dragging = 2;\n }\n d3_eventPreventDefault();\n }\n }\n function keyup() {\n if (d3.event.keyCode == 32 && dragging == 2) {\n origin[0] += xExtent[1];\n origin[1] += yExtent[1];\n dragging = 0;\n d3_eventPreventDefault();\n }\n }\n function brushmove() {\n var point = d3.mouse(target), moved = false;\n if (offset) {\n point[0] += offset[0];\n point[1] += offset[1];\n }\n if (!dragging) {\n if (d3.event.altKey) {\n if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];\n origin[0] = xExtent[+(point[0] < center[0])];\n origin[1] = yExtent[+(point[1] < center[1])];\n } else center = null;\n }\n if (resizingX && move1(point, x, 0)) {\n redrawX(g);\n moved = true;\n }\n if (resizingY && move1(point, y, 1)) {\n redrawY(g);\n moved = true;\n }\n if (moved) {\n redraw(g);\n event_({\n type: \"brush\",\n mode: dragging ? \"move\" : \"resize\"\n });\n }\n }\n function move1(point, scale, i) {\n var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;\n if (dragging) {\n r0 -= position;\n r1 -= size + position;\n }\n min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];\n if (dragging) {\n max = (min += position) + size;\n } else {\n if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));\n if (position < min) {\n max = min;\n min = position;\n } else {\n max = position;\n }\n }\n if (extent[0] != min || extent[1] != max) {\n if (i) yExtentDomain = null; else xExtentDomain = null;\n extent[0] = min;\n extent[1] = max;\n return true;\n }\n }\n function brushend() {\n brushmove();\n g.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", brush.empty() ? \"none\" : null);\n d3.select(\"body\").style(\"cursor\", null);\n w.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null);\n dragRestore();\n event_({\n type: \"brushend\"\n });\n }\n }\n brush.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.clamp = function(z) {\n if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;\n if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;\n return brush;\n };\n brush.extent = function(z) {\n var x0, x1, y0, y1, t;\n if (!arguments.length) {\n if (x) {\n if (xExtentDomain) {\n x0 = xExtentDomain[0], x1 = xExtentDomain[1];\n } else {\n x0 = xExtent[0], x1 = xExtent[1];\n if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n }\n }\n if (y) {\n if (yExtentDomain) {\n y0 = yExtentDomain[0], y1 = yExtentDomain[1];\n } else {\n y0 = yExtent[0], y1 = yExtent[1];\n if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n }\n }\n return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];\n }\n if (x) {\n x0 = z[0], x1 = z[1];\n if (y) x0 = x0[0], x1 = x1[0];\n xExtentDomain = [ x0, x1 ];\n if (x.invert) x0 = x(x0), x1 = x(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];\n }\n if (y) {\n y0 = z[0], y1 = z[1];\n if (x) y0 = y0[1], y1 = y1[1];\n yExtentDomain = [ y0, y1 ];\n if (y.invert) y0 = y(y0), y1 = y(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];\n }\n return brush;\n };\n brush.clear = function() {\n if (!brush.empty()) {\n xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];\n xExtentDomain = yExtentDomain = null;\n }\n return brush;\n };\n brush.empty = function() {\n return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];\n };\n return d3.rebind(brush, event, \"on\");\n };\n var d3_svg_brushCursor = {\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n };\n var d3_svg_brushResizes = [ [ \"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\" ], [ \"e\", \"w\" ], [ \"n\", \"s\" ], [] ];\n var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;\n var d3_time_formatUtc = d3_time_format.utc;\n var d3_time_formatIso = d3_time_formatUtc(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n d3_time_format.iso = Date.prototype.toISOString && +new Date(\"2000-01-01T00:00:00.000Z\") ? d3_time_formatIsoNative : d3_time_formatIso;\n function d3_time_formatIsoNative(date) {\n return date.toISOString();\n }\n d3_time_formatIsoNative.parse = function(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n };\n d3_time_formatIsoNative.toString = d3_time_formatIso.toString;\n d3_time.second = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 1e3) * 1e3);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 1e3);\n }, function(date) {\n return date.getSeconds();\n });\n d3_time.seconds = d3_time.second.range;\n d3_time.seconds.utc = d3_time.second.utc.range;\n d3_time.minute = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 6e4) * 6e4);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 6e4);\n }, function(date) {\n return date.getMinutes();\n });\n d3_time.minutes = d3_time.minute.range;\n d3_time.minutes.utc = d3_time.minute.utc.range;\n d3_time.hour = d3_time_interval(function(date) {\n var timezone = date.getTimezoneOffset() / 60;\n return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 36e5);\n }, function(date) {\n return date.getHours();\n });\n d3_time.hours = d3_time.hour.range;\n d3_time.hours.utc = d3_time.hour.utc.range;\n d3_time.month = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setDate(1);\n return date;\n }, function(date, offset) {\n date.setMonth(date.getMonth() + offset);\n }, function(date) {\n return date.getMonth();\n });\n d3_time.months = d3_time.month.range;\n d3_time.months.utc = d3_time.month.utc.range;\n function d3_time_scale(linear, methods, format) {\n function scale(x) {\n return linear(x);\n }\n scale.invert = function(x) {\n return d3_time_scaleDate(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return linear.domain().map(d3_time_scaleDate);\n linear.domain(x);\n return scale;\n };\n function tickMethod(extent, count) {\n var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);\n return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {\n return d / 31536e6;\n }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];\n }\n scale.nice = function(interval, skip) {\n var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" && tickMethod(extent, interval);\n if (method) interval = method[0], skip = method[1];\n function skipped(date) {\n return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;\n }\n return scale.domain(d3_scale_nice(domain, skip > 1 ? {\n floor: function(date) {\n while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);\n return date;\n },\n ceil: function(date) {\n while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);\n return date;\n }\n } : interval));\n };\n scale.ticks = function(interval, skip) {\n var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" ? tickMethod(extent, interval) : !interval.range && [ {\n range: interval\n }, skip ];\n if (method) interval = method[0], skip = method[1];\n return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);\n };\n scale.tickFormat = function() {\n return format;\n };\n scale.copy = function() {\n return d3_time_scale(linear.copy(), methods, format);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_time_scaleDate(t) {\n return new Date(t);\n }\n var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];\n var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];\n var d3_time_scaleLocalFormat = d3_time_format.multi([ [ \".%L\", function(d) {\n return d.getMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getHours();\n } ], [ \"%a %d\", function(d) {\n return d.getDay() && d.getDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getMonth();\n } ], [ \"%Y\", d3_true ] ]);\n var d3_time_scaleMilliseconds = {\n range: function(start, stop, step) {\n return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);\n },\n floor: d3_identity,\n ceil: d3_identity\n };\n d3_time_scaleLocalMethods.year = d3_time.year;\n d3_time.scale = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);\n };\n var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {\n return [ m[0].utc, m[1] ];\n });\n var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ \".%L\", function(d) {\n return d.getUTCMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getUTCSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getUTCMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getUTCHours();\n } ], [ \"%a %d\", function(d) {\n return d.getUTCDay() && d.getUTCDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getUTCDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getUTCMonth();\n } ], [ \"%Y\", d3_true ] ]);\n d3_time_scaleUtcMethods.year = d3_time.year.utc;\n d3_time.scale.utc = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);\n };\n d3.text = d3_xhrType(function(request) {\n return request.responseText;\n });\n d3.json = function(url, callback) {\n return d3_xhr(url, \"application/json\", d3_json, callback);\n };\n function d3_json(request) {\n return JSON.parse(request.responseText);\n }\n d3.html = function(url, callback) {\n return d3_xhr(url, \"text/html\", d3_html, callback);\n };\n function d3_html(request) {\n var range = d3_document.createRange();\n range.selectNode(d3_document.body);\n return range.createContextualFragment(request.responseText);\n }\n d3.xml = d3_xhrType(function(request) {\n return request.responseXML;\n });\n if (true) this.d3 = d3, !(__WEBPACK_AMD_DEFINE_FACTORY__ = (d3),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); else if (typeof module === \"object\" && module.exports) module.exports = d3; else this.d3 = d3;\n}();\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(2);\nvar invariant = __webpack_require__(5);\nvar ReactPropTypesSecret = __webpack_require__(38);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar v1 = __webpack_require__(40);\nvar v4 = __webpack_require__(41);\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar rng = __webpack_require__(9);\nvar bytesToUuid = __webpack_require__(10);\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\n// random #'s we need to init node and clockseq\nvar _seedBytes = rng();\n\n// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\nvar _nodeId = [\n _seedBytes[0] | 0x01,\n _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5]\n];\n\n// Per 4.2.2, randomize (14 bit) clockseq\nvar _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff;\n\n// Previous uuid creation time\nvar _lastMSecs = 0, _lastNSecs = 0;\n\n// See https://github.com/broofa/node-uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n var node = options.node || _nodeId;\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar rng = __webpack_require__(9);\nvar bytesToUuid = __webpack_require__(10);\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options == 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _CSSTransitionGroup = __webpack_require__(43);\n\nvar _CSSTransitionGroup2 = _interopRequireDefault(_CSSTransitionGroup);\n\nvar _TransitionGroup = __webpack_require__(11);\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n TransitionGroup: _TransitionGroup2.default,\n CSSTransitionGroup: _CSSTransitionGroup2.default\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(1);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = __webpack_require__(11);\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _CSSTransitionGroupChild = __webpack_require__(47);\n\nvar _CSSTransitionGroupChild2 = _interopRequireDefault(_CSSTransitionGroupChild);\n\nvar _PropTypes = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n transitionName: _PropTypes.nameShape.isRequired,\n\n transitionAppear: _propTypes2.default.bool,\n transitionEnter: _propTypes2.default.bool,\n transitionLeave: _propTypes2.default.bool,\n transitionAppearTimeout: (0, _PropTypes.transitionTimeout)('Appear'),\n transitionEnterTimeout: (0, _PropTypes.transitionTimeout)('Enter'),\n transitionLeaveTimeout: (0, _PropTypes.transitionTimeout)('Leave')\n};\n\nvar defaultProps = {\n transitionAppear: false,\n transitionEnter: true,\n transitionLeave: true\n};\n\nvar CSSTransitionGroup = function (_React$Component) {\n _inherits(CSSTransitionGroup, _React$Component);\n\n function CSSTransitionGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._wrapChild = function (child) {\n return _react2.default.createElement(_CSSTransitionGroupChild2.default, {\n name: _this.props.transitionName,\n appear: _this.props.transitionAppear,\n enter: _this.props.transitionEnter,\n leave: _this.props.transitionLeave,\n appearTimeout: _this.props.transitionAppearTimeout,\n enterTimeout: _this.props.transitionEnterTimeout,\n leaveTimeout: _this.props.transitionLeaveTimeout\n }, child);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // We need to provide this childFactory so that\n // ReactCSSTransitionGroupChild can receive updates to name, enter, and\n // leave while it is leaving.\n\n\n CSSTransitionGroup.prototype.render = function render() {\n return _react2.default.createElement(_TransitionGroup2.default, _extends({}, this.props, { childFactory: this._wrapChild }));\n };\n\n return CSSTransitionGroup;\n}(_react2.default.Component);\n\nCSSTransitionGroup.displayName = 'CSSTransitionGroup';\n\n\nCSSTransitionGroup.propTypes = false ? propTypes : {};\nCSSTransitionGroup.defaultProps = defaultProps;\n\nexports.default = CSSTransitionGroup;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\n\r\nmodule.exports = function chain(){\r\n var len = arguments.length\r\n var args = [];\r\n\r\n for (var i = 0; i < len; i++)\r\n args[i] = arguments[i]\r\n\r\n args = args.filter(function(fn){ return fn != null })\r\n\r\n if (args.length === 0) return undefined\r\n if (args.length === 1) return args[0]\r\n\r\n return args.reduce(function(current, next){\r\n return function chainedFunction() {\r\n current.apply(this, arguments);\r\n next.apply(this, arguments);\r\n };\r\n })\r\n}\r\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (false) {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\n\nvar _react = __webpack_require__(0);\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children) {\n if (!children) {\n return children;\n }\n var result = {};\n _react.Children.map(children, function (child) {\n return child;\n }).forEach(function (child) {\n result[child.key] = child;\n });\n return result;\n}\n\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n if (next.hasOwnProperty(key)) {\n return next[key];\n }\n\n return prev[key];\n }\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextKeysPending = {};\n\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (next.hasOwnProperty(prevKey)) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i = void 0;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending.hasOwnProperty(nextKey)) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n }\n\n // Finally, add the keys which didn't appear before any key in `next`\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _addClass = __webpack_require__(48);\n\nvar _addClass2 = _interopRequireDefault(_addClass);\n\nvar _removeClass = __webpack_require__(50);\n\nvar _removeClass2 = _interopRequireDefault(_removeClass);\n\nvar _requestAnimationFrame = __webpack_require__(51);\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _properties = __webpack_require__(52);\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(1);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = __webpack_require__(8);\n\nvar _PropTypes = __webpack_require__(13);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar events = [];\nif (_properties.transitionEnd) events.push(_properties.transitionEnd);\nif (_properties.animationEnd) events.push(_properties.animationEnd);\n\nfunction addEndListener(node, listener) {\n if (events.length) {\n events.forEach(function (e) {\n return node.addEventListener(e, listener, false);\n });\n } else {\n setTimeout(listener, 0);\n }\n\n return function () {\n if (!events.length) return;\n events.forEach(function (e) {\n return node.removeEventListener(e, listener, false);\n });\n };\n}\n\nvar propTypes = {\n children: _propTypes2.default.node,\n name: _PropTypes.nameShape.isRequired,\n\n // Once we require timeouts to be specified, we can remove the\n // boolean flags (appear etc.) and just accept a number\n // or a bool for the timeout flags (appearTimeout etc.)\n appear: _propTypes2.default.bool,\n enter: _propTypes2.default.bool,\n leave: _propTypes2.default.bool,\n appearTimeout: _propTypes2.default.number,\n enterTimeout: _propTypes2.default.number,\n leaveTimeout: _propTypes2.default.number\n};\n\nvar CSSTransitionGroupChild = function (_React$Component) {\n _inherits(CSSTransitionGroupChild, _React$Component);\n\n function CSSTransitionGroupChild() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroupChild);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.componentWillAppear = function (done) {\n if (_this.props.appear) {\n _this.transition('appear', done, _this.props.appearTimeout);\n } else {\n done();\n }\n }, _this.componentWillEnter = function (done) {\n if (_this.props.enter) {\n _this.transition('enter', done, _this.props.enterTimeout);\n } else {\n done();\n }\n }, _this.componentWillLeave = function (done) {\n if (_this.props.leave) {\n _this.transition('leave', done, _this.props.leaveTimeout);\n } else {\n done();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n CSSTransitionGroupChild.prototype.componentWillMount = function componentWillMount() {\n this.classNameAndNodeQueue = [];\n this.transitionTimeouts = [];\n };\n\n CSSTransitionGroupChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounted = true;\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.transitionTimeouts.forEach(function (timeout) {\n clearTimeout(timeout);\n });\n\n this.classNameAndNodeQueue.length = 0;\n };\n\n CSSTransitionGroupChild.prototype.transition = function transition(animationType, finishCallback, timeout) {\n var node = (0, _reactDom.findDOMNode)(this);\n\n if (!node) {\n if (finishCallback) {\n finishCallback();\n }\n return;\n }\n\n var className = this.props.name[animationType] || this.props.name + '-' + animationType;\n var activeClassName = this.props.name[animationType + 'Active'] || className + '-active';\n var timer = null;\n var removeListeners = void 0;\n\n (0, _addClass2.default)(node, className);\n\n // Need to do this to actually trigger a transition.\n this.queueClassAndNode(activeClassName, node);\n\n // Clean-up the animation after the specified delay\n var finish = function finish(e) {\n if (e && e.target !== node) {\n return;\n }\n\n clearTimeout(timer);\n if (removeListeners) removeListeners();\n\n (0, _removeClass2.default)(node, className);\n (0, _removeClass2.default)(node, activeClassName);\n\n if (removeListeners) removeListeners();\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (finishCallback) {\n finishCallback();\n }\n };\n\n if (timeout) {\n timer = setTimeout(finish, timeout);\n this.transitionTimeouts.push(timer);\n } else if (_properties.transitionEnd) {\n removeListeners = addEndListener(node, finish);\n }\n };\n\n CSSTransitionGroupChild.prototype.queueClassAndNode = function queueClassAndNode(className, node) {\n var _this2 = this;\n\n this.classNameAndNodeQueue.push({\n className: className,\n node: node\n });\n\n if (!this.rafHandle) {\n this.rafHandle = (0, _requestAnimationFrame2.default)(function () {\n return _this2.flushClassNameAndNodeQueue();\n });\n }\n };\n\n CSSTransitionGroupChild.prototype.flushClassNameAndNodeQueue = function flushClassNameAndNodeQueue() {\n if (!this.unmounted) {\n this.classNameAndNodeQueue.forEach(function (obj) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n /* eslint-disable no-unused-expressions */\n obj.node.scrollTop;\n /* eslint-enable no-unused-expressions */\n (0, _addClass2.default)(obj.node, obj.className);\n });\n }\n this.classNameAndNodeQueue.length = 0;\n this.rafHandle = null;\n };\n\n CSSTransitionGroupChild.prototype.render = function render() {\n var props = _extends({}, this.props);\n delete props.name;\n delete props.appear;\n delete props.enter;\n delete props.leave;\n delete props.appearTimeout;\n delete props.enterTimeout;\n delete props.leaveTimeout;\n delete props.children;\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), props);\n };\n\n return CSSTransitionGroupChild;\n}(_react2.default.Component);\n\nCSSTransitionGroupChild.displayName = 'CSSTransitionGroupChild';\n\n\nCSSTransitionGroupChild.propTypes = false ? propTypes : {};\n\nexports.default = CSSTransitionGroupChild;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addClass;\n\nvar _hasClass = __webpack_require__(49);\n\nvar _hasClass2 = _interopRequireDefault(_hasClass);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass2.default)(element)) element.className = element.className + ' ' + className;\n}\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hasClass;\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + element.className + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else element.className = element.className.replace(new RegExp('(^|\\\\s)' + className + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = __webpack_require__(12);\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf = void 0;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM2.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n\n/* https://github.com/component/raf */\nvar prev = new Date().getTime();\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\nexports.default = compatRaf;\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = undefined;\n\nvar _inDOM = __webpack_require__(12);\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar transform = 'transform';\nvar prefix = void 0,\n transitionEnd = void 0,\n animationEnd = void 0;\nvar transitionProperty = void 0,\n transitionDuration = void 0,\n transitionTiming = void 0,\n transitionDelay = void 0;\nvar animationName = void 0,\n animationDuration = void 0,\n animationTiming = void 0,\n animationDelay = void 0;\n\nif (_inDOM2.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n\n\n exports.transform = transform = prefix + '-' + transform;\n exports.transitionProperty = transitionProperty = prefix + '-transition-property';\n exports.transitionDuration = transitionDuration = prefix + '-transition-duration';\n exports.transitionDelay = transitionDelay = prefix + '-transition-delay';\n exports.transitionTiming = transitionTiming = prefix + '-transition-timing-function';\n\n exports.animationName = animationName = prefix + '-animation-name';\n exports.animationDuration = animationDuration = prefix + '-animation-duration';\n exports.animationTiming = animationTiming = prefix + '-animation-delay';\n exports.animationDelay = animationDelay = prefix + '-animation-timing-function';\n}\n\nexports.transform = transform;\nexports.transitionProperty = transitionProperty;\nexports.transitionTiming = transitionTiming;\nexports.transitionDelay = transitionDelay;\nexports.transitionDuration = transitionDuration;\nexports.transitionEnd = transitionEnd;\nexports.animationName = animationName;\nexports.animationDuration = animationDuration;\nexports.animationTiming = animationTiming;\nexports.animationDelay = animationDelay;\nexports.animationEnd = animationEnd;\nexports.default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\n\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n\n var vendorMap = {\n O: function O(e) {\n return 'o' + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return 'webkit' + e;\n },\n ms: function ms(e) {\n return 'MS' + e;\n }\n };\n\n var vendors = Object.keys(vendorMap);\n\n var transitionEnd = void 0,\n animationEnd = void 0;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + 'TransitionProperty' in style) {\n prefix = '-' + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n\n style = null;\n\n return { animationEnd: animationEnd, transitionEnd: transitionEnd, prefix: prefix };\n}\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer) {var clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n child = new Buffer(parent.length);\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(54).Buffer))\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(55)\nvar ieee754 = __webpack_require__(56)\nvar isArray = __webpack_require__(57)\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return (b64.length * 3 / 4) - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr((len * 3 / 4) - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0; i < l; i += 4) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports) {\n\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(59);\nvar isArguments = __webpack_require__(60);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// static/js/main.c0abc942.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3d208f9ab1fb260c8c76","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react/index.js\n// module id = 0\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 1\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 4\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 5\n// module chunks = 0","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/node_modules/promise/lib/core.js\n// module id = 6\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyObject.js\n// module id = 7\n// module chunks = 0","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-dom/index.js\n// module id = 8\n// module chunks = 0","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\nvar rng;\n\nvar crypto = global.crypto || global.msCrypto; // for IE 11\nif (crypto && crypto.getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n rng = function whatwgRNG() {\n crypto.getRandomValues(rnds8);\n return rnds8;\n };\n}\n\nif (!rng) {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n rng = function() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n\nmodule.exports = rng;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/uuid/lib/rng-browser.js\n// module id = 9\n// module chunks = 0","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n return bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]];\n}\n\nmodule.exports = bytesToUuid;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/uuid/lib/bytesToUuid.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _chainFunction = require('chain-function');\n\nvar _chainFunction2 = _interopRequireDefault(_chainFunction);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _ChildMapping = require('./utils/ChildMapping');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n component: _propTypes2.default.any,\n childFactory: _propTypes2.default.func,\n children: _propTypes2.default.node\n};\n\nvar defaultProps = {\n component: 'span',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n\nvar TransitionGroup = function (_React$Component) {\n _inherits(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n _classCallCheck(this, TransitionGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.performAppear = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillAppear) {\n component.componentWillAppear(_this._handleDoneAppearing.bind(_this, key, component));\n } else {\n _this._handleDoneAppearing(key, component);\n }\n };\n\n _this._handleDoneAppearing = function (key, component) {\n if (component.componentDidAppear) {\n component.componentDidAppear();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully appeared. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performEnter = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillEnter) {\n component.componentWillEnter(_this._handleDoneEntering.bind(_this, key, component));\n } else {\n _this._handleDoneEntering(key, component);\n }\n };\n\n _this._handleDoneEntering = function (key, component) {\n if (component.componentDidEnter) {\n component.componentDidEnter();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully entered. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performLeave = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillLeave) {\n component.componentWillLeave(_this._handleDoneLeaving.bind(_this, key, component));\n } else {\n // Note that this is somewhat dangerous b/c it calls setState()\n // again, effectively mutating the component before all the work\n // is done.\n _this._handleDoneLeaving(key, component);\n }\n };\n\n _this._handleDoneLeaving = function (key, component) {\n if (component.componentDidLeave) {\n component.componentDidLeave();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {\n // This entered again before it fully left. Add it again.\n _this.keysToEnter.push(key);\n } else {\n _this.setState(function (state) {\n var newChildren = _extends({}, state.children);\n delete newChildren[key];\n return { children: newChildren };\n });\n }\n };\n\n _this.childRefs = Object.create(null);\n\n _this.state = {\n children: (0, _ChildMapping.getChildMapping)(props.children)\n };\n return _this;\n }\n\n TransitionGroup.prototype.componentWillMount = function componentWillMount() {\n this.currentlyTransitioningKeys = {};\n this.keysToEnter = [];\n this.keysToLeave = [];\n };\n\n TransitionGroup.prototype.componentDidMount = function componentDidMount() {\n var initialChildMapping = this.state.children;\n for (var key in initialChildMapping) {\n if (initialChildMapping[key]) {\n this.performAppear(key, this.childRefs[key]);\n }\n }\n };\n\n TransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var nextChildMapping = (0, _ChildMapping.getChildMapping)(nextProps.children);\n var prevChildMapping = this.state.children;\n\n this.setState({\n children: (0, _ChildMapping.mergeChildMappings)(prevChildMapping, nextChildMapping)\n });\n\n for (var key in nextChildMapping) {\n var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);\n if (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {\n this.keysToEnter.push(key);\n }\n }\n\n for (var _key in prevChildMapping) {\n var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(_key);\n if (prevChildMapping[_key] && !hasNext && !this.currentlyTransitioningKeys[_key]) {\n this.keysToLeave.push(_key);\n }\n }\n\n // If we want to someday check for reordering, we could do it here.\n };\n\n TransitionGroup.prototype.componentDidUpdate = function componentDidUpdate() {\n var _this2 = this;\n\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(function (key) {\n return _this2.performEnter(key, _this2.childRefs[key]);\n });\n\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(function (key) {\n return _this2.performLeave(key, _this2.childRefs[key]);\n });\n };\n\n TransitionGroup.prototype.render = function render() {\n var _this3 = this;\n\n // TODO: we could get rid of the need for the wrapper node\n // by cloning a single child\n var childrenToRender = [];\n\n var _loop = function _loop(key) {\n var child = _this3.state.children[key];\n if (child) {\n var isCallbackRef = typeof child.ref !== 'string';\n var factoryChild = _this3.props.childFactory(child);\n var ref = function ref(r) {\n _this3.childRefs[key] = r;\n };\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(isCallbackRef, 'string refs are not supported on children of TransitionGroup and will be ignored. ' + 'Please use a callback ref instead: https://facebook.github.io/react/docs/refs-and-the-dom.html#the-ref-callback-attribute') : void 0;\n\n // Always chaining the refs leads to problems when the childFactory\n // wraps the child. The child ref callback gets called twice with the\n // wrapper and the child. So we only need to chain the ref if the\n // factoryChild is not different from child.\n if (factoryChild === child && isCallbackRef) {\n ref = (0, _chainFunction2.default)(child.ref, ref);\n }\n\n // You may need to apply reactive updates to a child as it is leaving.\n // The normal React way to do it won't work since the child will have\n // already been removed. In case you need this behavior you can provide\n // a childFactory function to wrap every child, even the ones that are\n // leaving.\n childrenToRender.push(_react2.default.cloneElement(factoryChild, {\n key: key,\n ref: ref\n }));\n }\n };\n\n for (var key in this.state.children) {\n _loop(key);\n }\n\n // Do not forward TransitionGroup props to primitive DOM nodes\n var props = _extends({}, this.props);\n delete props.transitionLeave;\n delete props.transitionName;\n delete props.transitionAppear;\n delete props.transitionEnter;\n delete props.childFactory;\n delete props.transitionLeaveTimeout;\n delete props.transitionEnterTimeout;\n delete props.transitionAppearTimeout;\n delete props.component;\n\n return _react2.default.createElement(this.props.component, props, childrenToRender);\n };\n\n return TransitionGroup;\n}(_react2.default.Component);\n\nTransitionGroup.displayName = 'TransitionGroup';\n\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nTransitionGroup.defaultProps = defaultProps;\n\nexports.default = TransitionGroup;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-transition-group/TransitionGroup.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/dom-helpers/util/inDOM.js\n// module id = 12\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.nameShape = undefined;\nexports.transitionTimeout = transitionTimeout;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transitionTimeout(transitionType) {\n var timeoutPropName = 'transition' + transitionType + 'Timeout';\n var enabledPropName = 'transition' + transitionType;\n\n return function (props) {\n // If the transition is enabled\n if (props[enabledPropName]) {\n // If no timeout duration is provided\n if (props[timeoutPropName] == null) {\n return new Error(timeoutPropName + ' wasn\\'t supplied to CSSTransitionGroup: ' + 'this can cause unreliable animations and won\\'t be supported in ' + 'a future version of React. See ' + 'https://fb.me/react-animation-transition-group-timeout for more ' + 'information.');\n\n // If the duration isn't a number\n } else if (typeof props[timeoutPropName] !== 'number') {\n return new Error(timeoutPropName + ' must be a number (in milliseconds)');\n }\n }\n\n return null;\n };\n}\n\nvar nameShape = exports.nameShape = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n active: _propTypes2.default.string\n}), _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n enterActive: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n leaveActive: _propTypes2.default.string,\n appear: _propTypes2.default.string,\n appearActive: _propTypes2.default.string\n})]);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-transition-group/utils/PropTypes.js\n// module id = 13\n// module chunks = 0","// @remove-on-eject-begin\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// @remove-on-eject-end\n'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/config/polyfills.js\n// module id = 15\n// module chunks = 0","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/node_modules/promise/lib/rejection-tracking.js\n// module id = 16\n// module chunks = 0","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/asap/browser-raw.js\n// module id = 17\n// module chunks = 0","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/node_modules/promise/lib/es6-extensions.js\n// module id = 18\n// module chunks = 0","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/whatwg-fetch/fetch.js\n// module id = 19\n// module chunks = 0","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport PrefixTree from \"./prefixTrie.js\";\r\nimport D3CompatibleTree from \"./prefixTrieForReactD3.js\";\r\nimport Tree from \"react-d3-tree\";\r\n\r\nclass DownloadLink extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n if (!this.props.autoCompleteSearchTermAndResults) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n {JSON.stringify(this.props.autoCompleteSearchTermAndResults)}\r\n \r\n
\r\n );\r\n }\r\n\r\n download() {\r\n var filename = this.props.autoCompleteSearchTermAndResults.searchTerm;\r\n var text = this.props.autoCompleteSearchTermAndResults.results.join(\"\\n\");\r\n\r\n var pom = document.createElement(\"a\");\r\n pom.setAttribute(\r\n \"href\",\r\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\r\n );\r\n pom.setAttribute(\"download\", filename);\r\n\r\n if (document.createEvent) {\r\n var event = document.createEvent(\"MouseEvents\");\r\n event.initEvent(\"click\", true, true);\r\n pom.dispatchEvent(event);\r\n } else {\r\n pom.click();\r\n }\r\n }\r\n}\r\n\r\nclass ReactTree extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n var defaultNames = [\"bill\", \"billy\", \"bob\", \"bo\"];\r\n //add two initial values to tree\r\n var defaultPrefixTree = new PrefixTree();\r\n defaultNames.forEach(n => defaultPrefixTree.addWord(n));\r\n\r\n this.state = {\r\n value: defaultNames.join(\"\\n\"),\r\n myTree: new D3CompatibleTree(defaultPrefixTree),\r\n autoCompleteSearchTermAndResults: null\r\n };\r\n }\r\n\r\n handleChange(event) {\r\n //update the model\r\n this.setState({ value: event.target.value });\r\n var newTree = new PrefixTree();\r\n event.target.value.split(\"\\n\").map((item, index) => newTree.addWord(item));\r\n var svgCompatibleTree = new D3CompatibleTree(newTree);\r\n this.setState({ myTree: svgCompatibleTree });\r\n }\r\n\r\n handleNodeClick(node) {\r\n var priorNodes = this.state.myTree.getPriorNodes(node);\r\n var lettersBeforeNode = priorNodes\r\n .map(function(n) {\r\n return n.name;\r\n })\r\n .join(\"\");\r\n\r\n var futureNodePaths = this.state.myTree.getFollowingNodePaths(node);\r\n var fullWords = futureNodePaths.map(function(np) {\r\n return (\r\n lettersBeforeNode +\r\n np\r\n .map(function(n) {\r\n return n.name;\r\n })\r\n .join(\"\")\r\n );\r\n });\r\n\r\n var autoCompleteObj = {\r\n searchTerm: lettersBeforeNode + node.name,\r\n results: fullWords\r\n };\r\n this.setState({ autoCompleteSearchTermAndResults: autoCompleteObj });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n Type in words (press enter for new line), click on a node/circle to\r\n see the autocomplete search term and results\r\n \r\n
\r\n \r\n \r\n
\r\n this.handleNodeClick(n)}\r\n data={[this.state.myTree]}\r\n orientation={\"vertical\"}\r\n zoomable={true}\r\n collapsible={false}\r\n translate={{ x: document.documentElement.clientWidth / 2, y: 50 }}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/*\n React v16.0.0\n react.production.min.js\n\n Copyright (c) 2013-present, Facebook, Inc.\n\n This source code is licensed under the MIT license found in the\n LICENSE file in the root directory of this source tree.\n*/\n'use strict';var f=require(\"object-assign\"),p=require(\"fbjs/lib/emptyObject\");require(\"fbjs/lib/invariant\");var r=require(\"fbjs/lib/emptyFunction\");\nfunction t(a){for(var b=arguments.length-1,d=\"Minified React error #\"+a+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\"+a,e=0;eK.length&&K.push(a)}\nfunction N(a,b,d,e){var c=typeof a;if(\"undefined\"===c||\"boolean\"===c)a=null;if(null===a||\"string\"===c||\"number\"===c||\"object\"===c&&a.$$typeof===I)return d(e,a,\"\"===b?\".\"+O(a,0):b),1;var g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k=g.hasBooleanValue+g.hasNumericValue+g.hasOverloadedBooleanValue?void 0:w(\"50\",f);e.hasOwnProperty(f)&&(g.attributeName=e[f]);d.hasOwnProperty(f)&&(g.attributeNamespace=d[f]);a.hasOwnProperty(f)&&(g.mutationMethod=a[f]);xa.properties[f]=\ng}}},xa={ID_ATTRIBUTE_NAME:\"data-reactid\",ROOT_ATTRIBUTE_NAME:\"data-reactroot\",ATTRIBUTE_NAME_START_CHAR:\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",ATTRIBUTE_NAME_CHAR:\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",\nproperties:{},shouldSetAttribute:function(a,b){if(xa.isReservedProp(a)||!(\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1]))return!1;if(null===b)return!0;switch(typeof b){case \"boolean\":return xa.shouldAttributeAcceptBooleanValue(a);case \"undefined\":case \"number\":case \"string\":case \"object\":return!0;default:return!1}},getPropertyInfo:function(a){return xa.properties.hasOwnProperty(a)?xa.properties[a]:null},shouldAttributeAcceptBooleanValue:function(a){if(xa.isReservedProp(a))return!0;var b=xa.getPropertyInfo(a);\nif(b)return b.hasBooleanValue||b.hasStringBooleanValue||b.hasOverloadedBooleanValue;a=a.toLowerCase().slice(0,5);return\"data-\"===a||\"aria-\"===a},isReservedProp:function(a){return ta.hasOwnProperty(a)},injection:wa},A=xa,E={IndeterminateComponent:0,FunctionalComponent:1,ClassComponent:2,HostRoot:3,HostPortal:4,HostComponent:5,HostText:6,CoroutineComponent:7,CoroutineHandlerPhase:8,YieldComponent:9,Fragment:10},F={ELEMENT_NODE:1,TEXT_NODE:3,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_FRAGMENT_NODE:11},\nya=E.HostComponent,za=E.HostText,Aa=F.ELEMENT_NODE,Ba=F.COMMENT_NODE,Ea=A.ID_ATTRIBUTE_NAME,Fa={hasCachedChildNodes:1},Ga=Math.random().toString(36).slice(2),Ha=\"__reactInternalInstance$\"+Ga,Ia=\"__reactEventHandlers$\"+Ga;function La(a){for(var b;b=a._renderedComponent;)a=b;return a}function Ma(a,b){a=La(a);a._hostNode=b;b[Ha]=a}\nfunction Na(a,b){if(!(a._flags&Fa.hasCachedChildNodes)){var c=a._renderedChildren;b=b.firstChild;var d;a:for(d in c)if(c.hasOwnProperty(d)){var e=c[d],f=La(e)._domID;if(0!==f){for(;null!==b;b=b.nextSibling){var g=b,h=f;if(g.nodeType===Aa&&g.getAttribute(Ea)===\"\"+h||g.nodeType===Ba&&g.nodeValue===\" react-text: \"+h+\" \"||g.nodeType===Ba&&g.nodeValue===\" react-empty: \"+h+\" \"){Ma(e,b);continue a}}w(\"32\",f)}}a._flags|=Fa.hasCachedChildNodes}}\nfunction Oa(a){if(a[Ha])return a[Ha];for(var b=[];!a[Ha];)if(b.push(a),a.parentNode)a=a.parentNode;else return null;var c=a[Ha];if(c.tag===ya||c.tag===za)return c;for(;a&&(c=a[Ha]);a=b.pop()){var d=c;b.length&&Na(c,a)}return d}\nvar G={getClosestInstanceFromNode:Oa,getInstanceFromNode:function(a){var b=a[Ha];if(b)return b.tag===ya||b.tag===za?b:b._hostNode===a?b:null;b=Oa(a);return null!=b&&b._hostNode===a?b:null},getNodeFromInstance:function(a){if(a.tag===ya||a.tag===za)return a.stateNode;void 0===a._hostNode?w(\"33\"):void 0;if(a._hostNode)return a._hostNode;for(var b=[];!a._hostNode;)b.push(a),a._hostParent?void 0:w(\"34\"),a=a._hostParent;for(;b.length;a=b.pop())Na(a,a._hostNode);return a._hostNode},precacheChildNodes:Na,\nprecacheNode:Ma,uncacheNode:function(a){var b=a._hostNode;b&&(delete b[Ha],a._hostNode=null)},precacheFiberNode:function(a,b){b[Ha]=a},getFiberCurrentPropsFromNode:function(a){return a[Ia]||null},updateFiberProps:function(a,b){a[Ia]=b}},Pa={remove:function(a){a._reactInternalFiber=void 0},get:function(a){return a._reactInternalFiber},has:function(a){return void 0!==a._reactInternalFiber},set:function(a,b){a._reactInternalFiber=b}},Qa={ReactCurrentOwner:aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner};\nfunction Ra(a){if(\"function\"===typeof a.getName)return a.getName();if(\"number\"===typeof a.tag){a=a.type;if(\"string\"===typeof a)return a;if(\"function\"===typeof a)return a.displayName||a.name}return null}var J={NoEffect:0,PerformedWork:1,Placement:2,Update:4,PlacementAndUpdate:6,Deletion:8,ContentReset:16,Callback:32,Err:64,Ref:128},Sa=E.HostComponent,Ta=E.HostRoot,Ua=E.HostPortal,Va=E.HostText,Wa=J.NoEffect,Xa=J.Placement;\nfunction Za(a){var b=a;if(a.alternate)for(;b[\"return\"];)b=b[\"return\"];else{if((b.effectTag&Xa)!==Wa)return 1;for(;b[\"return\"];)if(b=b[\"return\"],(b.effectTag&Xa)!==Wa)return 1}return b.tag===Ta?2:3}function $a(a){2!==Za(a)?w(\"188\"):void 0}\nfunction ab(a){var b=a.alternate;if(!b)return b=Za(a),3===b?w(\"188\"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c[\"return\"],f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return $a(e),a;if(g===d)return $a(e),b;g=g.sibling}w(\"188\")}if(c[\"return\"]!==d[\"return\"])c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?\nvoid 0:w(\"189\")}}c.alternate!==d?w(\"190\"):void 0}c.tag!==Ta?w(\"188\"):void 0;return c.stateNode.current===c?a:b}\nvar bb={isFiberMounted:function(a){return 2===Za(a)},isMounted:function(a){return(a=Pa.get(a))?2===Za(a):!1},findCurrentFiberUsingSlowPath:ab,findCurrentHostFiber:function(a){a=ab(a);if(!a)return null;for(var b=a;;){if(b.tag===Sa||b.tag===Va)return b;if(b.child)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null},findCurrentHostFiberWithNoPortals:function(a){a=ab(a);\nif(!a)return null;for(var b=a;;){if(b.tag===Sa||b.tag===Va)return b;if(b.child&&b.tag!==Ua)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null}},K={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(a){\"function\"!==typeof a.invokeGuardedCallback?w(\"197\"):void 0;cb=a.invokeGuardedCallback}},invokeGuardedCallback:function(a,\nb,c,d,e,f,g,h,k){cb.apply(K,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){K.invokeGuardedCallback.apply(this,arguments);if(K.hasCaughtError()){var p=K.clearCaughtError();K._hasRethrowError||(K._hasRethrowError=!0,K._rethrowError=p)}},rethrowCaughtError:function(){return db.apply(K,arguments)},hasCaughtError:function(){return K._hasCaughtError},clearCaughtError:function(){if(K._hasCaughtError){var a=K._caughtError;K._caughtError=null;K._hasCaughtError=!1;return a}w(\"198\")}};\nfunction cb(a,b,c,d,e,f,g,h,k){K._hasCaughtError=!1;K._caughtError=null;var p=Array.prototype.slice.call(arguments,3);try{b.apply(c,p)}catch(x){K._caughtError=x,K._hasCaughtError=!0}}function db(){if(K._hasRethrowError){var a=K._rethrowError;K._rethrowError=null;K._hasRethrowError=!1;throw a;}}var eb=K,fb;function gb(a,b,c,d){b=a.type||\"unknown-event\";a.currentTarget=hb.getNodeFromInstance(d);eb.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}\nvar hb={isEndish:function(a){return\"topMouseUp\"===a||\"topTouchEnd\"===a||\"topTouchCancel\"===a},isMoveish:function(a){return\"topMouseMove\"===a||\"topTouchMove\"===a},isStartish:function(a){return\"topMouseDown\"===a||\"topTouchStart\"===a},executeDirectDispatch:function(a){var b=a._dispatchListeners,c=a._dispatchInstances;Array.isArray(b)?w(\"103\"):void 0;a.currentTarget=b?hb.getNodeFromInstance(c):null;b=b?b(a):null;a.currentTarget=null;a._dispatchListeners=null;a._dispatchInstances=null;return b},executeDispatchesInOrder:function(a,\nb){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;ewb.length&&wb.push(a)}}}},L=yb;function Cb(a,b){null==b?w(\"30\"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}\nfunction Db(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var Eb=null;function Fb(a,b){a&&(ib.executeDispatchesInOrder(a,b),a.isPersistent()||a.constructor.release(a))}function Gb(a){return Fb(a,!0)}function Hb(a){return Fb(a,!1)}\nfunction Ib(a,b,c){switch(a){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":return!(!c.disabled||\"button\"!==b&&\"input\"!==b&&\"select\"!==b&&\"textarea\"!==b);default:return!1}}\nvar Jb={injection:{injectEventPluginOrder:sa.injectEventPluginOrder,injectEventPluginsByName:sa.injectEventPluginsByName},getListener:function(a,b){if(\"number\"===typeof a.tag){var c=a.stateNode;if(!c)return null;var d=ib.getFiberCurrentPropsFromNode(c);if(!d)return null;c=d[b];if(Ib(b,a.type,d))return null}else{d=a._currentElement;if(\"string\"===typeof d||\"number\"===typeof d||!a._rootNodeID)return null;a=d.props;c=a[b];if(Ib(b,d.type,a))return null}c&&\"function\"!==typeof c?w(\"231\",b,typeof c):void 0;\nreturn c},extractEvents:function(a,b,c,d){for(var e,f=sa.plugins,g=0;gc||d.hasOverloadedBooleanValue&&!1===c?gc.deleteValueForProperty(a,\nb):d.mustUseProperty?a[d.propertyName]=c:(b=d.attributeName,(e=d.attributeNamespace)?a.setAttributeNS(e,b,\"\"+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&!0===c?a.setAttribute(b,\"\"):a.setAttribute(b,\"\"+c))}else gc.setValueForAttribute(a,b,A.shouldSetAttribute(b,c)?c:null)},setValueForAttribute:function(a,b,c){fc(b)&&(null==c?a.removeAttribute(b):a.setAttribute(b,\"\"+c))},deleteValueForAttribute:function(a,b){a.removeAttribute(b)},deleteValueForProperty:function(a,b){var c=A.getPropertyInfo(b);\nc?(b=c.mutationMethod)?b(a,void 0):c.mustUseProperty?a[c.propertyName]=c.hasBooleanValue?!1:\"\":a.removeAttribute(c.attributeName):a.removeAttribute(b)}},hc=gc,ic=Qa.ReactDebugCurrentFrame;function jc(){return null}\nvar kc={current:null,phase:null,resetCurrentFiber:function(){ic.getCurrentStack=null;kc.current=null;kc.phase=null},setCurrentFiber:function(a,b){ic.getCurrentStack=jc;kc.current=a;kc.phase=b},getCurrentFiberOwnerName:function(){return null},getCurrentFiberStackAddendum:jc},lc=kc,mc={getHostProps:function(a,b){var c=b.value,d=b.checked;return n({type:void 0,step:void 0,min:void 0,max:void 0},b,{defaultChecked:void 0,defaultValue:void 0,value:null!=c?c:a._wrapperState.initialValue,checked:null!=d?\nd:a._wrapperState.initialChecked})},initWrapperState:function(a,b){var c=b.defaultValue;a._wrapperState={initialChecked:null!=b.checked?b.checked:b.defaultChecked,initialValue:null!=b.value?b.value:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}},updateWrapper:function(a,b){var c=b.checked;null!=c&&hc.setValueForProperty(a,\"checked\",c||!1);c=b.value;if(null!=c)if(0===c&&\"\"===a.value)a.value=\"0\";else if(\"number\"===b.type){if(b=parseFloat(a.value)||0,c!=b||c==b&&a.value!=\nc)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else null==b.value&&null!=b.defaultValue&&a.defaultValue!==\"\"+b.defaultValue&&(a.defaultValue=\"\"+b.defaultValue),null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)},postMountWrapper:function(a,b){switch(b.type){case \"submit\":case \"reset\":break;case \"color\":case \"date\":case \"datetime\":case \"datetime-local\":case \"month\":case \"time\":case \"week\":a.value=\"\";a.value=a.defaultValue;break;default:a.value=a.value}b=a.name;\"\"!==\nb&&(a.name=\"\");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;\"\"!==b&&(a.name=b)},restoreControlledState:function(a,b){mc.updateWrapper(a,b);var c=b.name;if(\"radio\"===b.type&&null!=c){for(b=a;b.parentNode;)b=b.parentNode;c=b.querySelectorAll(\"input[name\\x3d\"+JSON.stringify(\"\"+c)+'][type\\x3d\"radio\"]');for(b=0;b=b.length?void 0:w(\"93\"),b=b[0]),c=\"\"+b),null==c&&(c=\"\"),d=c);a._wrapperState={initialValue:\"\"+d}},updateWrapper:function(a,b){var c=b.value;null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)},postMountWrapper:function(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)},restoreControlledState:function(a,b){vc.updateWrapper(a,b)}},wc=vc,xc=n({menuitem:!0},{area:!0,\nbase:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function yc(a,b){b&&(xc[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?w(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?w(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:w(\"61\")),null!=b.style&&\"object\"!==typeof b.style?w(\"62\",\"\"):void 0)}\nfunction zc(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ac(a){var b=zc(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"function\"===typeof c.get&&\"function\"===typeof c.set)return Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:!0,get:function(){return c.get.call(this)},set:function(a){d=\"\"+a;c.set.call(this,a)}}),{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=null;delete a[b]}}}\nvar Bc={_getTrackerFromNode:function(a){return a._valueTracker},track:function(a){a._valueTracker||(a._valueTracker=Ac(a))},updateValueIfChanged:function(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=zc(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1},stopTracking:function(a){(a=a._valueTracker)&&a.stopTracking()}};\nfunction Cc(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nvar Dc=ka.Namespaces,Ec,Fc=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Dc.svg||\"innerHTML\"in a)a.innerHTML=b;else for(Ec=Ec||document.createElement(\"div\"),Ec.innerHTML=\"\\x3csvg\\x3e\"+b+\"\\x3c/svg\\x3e\",b=Ec.firstChild;b.firstChild;)a.appendChild(b.firstChild)}),Gc=/[\"'&<>]/,Hc=F.TEXT_NODE;\nfunction Ic(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&c.nodeType===Hc){c.nodeValue=b;return}}a.textContent=b}\nl.canUseDOM&&(\"textContent\"in document.documentElement||(Ic=function(a,b){if(a.nodeType===Hc)a.nodeValue=b;else{if(\"boolean\"===typeof b||\"number\"===typeof b)b=\"\"+b;else{b=\"\"+b;var c=Gc.exec(b);if(c){var d=\"\",e,f=0;for(e=c.index;e\nb&&(b=8),$c=b=od(a.last.priorityLevel,b))c=a.last;else for(a=a.first;null!==a&&0>=od(a.priorityLevel,b);)c=a,a=a.next;return c}\nfunction sd(a,b){var c=a.alternate,d=a.updateQueue;null===d&&(d=a.updateQueue=pd());null!==c?(a=c.updateQueue,null===a&&(a=c.updateQueue=pd())):a=null;md=d;nd=a!==d?a:null;var e=md;c=nd;var f=rd(e,b),g=null!==f?f.next:e.first;if(null===c)return qd(e,b,f,g),null;d=rd(c,b);a=null!==d?d.next:c.first;qd(e,b,f,g);if(g===a&&null!==g||f===d&&null!==f)return null===d&&(c.first=b),null===a&&(c.last=null),null;b={priorityLevel:b.priorityLevel,partialState:b.partialState,callback:b.callback,isReplace:b.isReplace,\nisForced:b.isForced,isTopLevelUnmount:b.isTopLevelUnmount,next:null};qd(c,b,d,a);return b}function td(a,b,c,d){a=a.partialState;return\"function\"===typeof a?a.call(b,c,d):a}\nvar ud={addUpdate:function(a,b,c,d){sd(a,{priorityLevel:d,partialState:b,callback:c,isReplace:!1,isForced:!1,isTopLevelUnmount:!1,next:null})},addReplaceUpdate:function(a,b,c,d){sd(a,{priorityLevel:d,partialState:b,callback:c,isReplace:!0,isForced:!1,isTopLevelUnmount:!1,next:null})},addForceUpdate:function(a,b,c){sd(a,{priorityLevel:c,partialState:null,callback:b,isReplace:!1,isForced:!0,isTopLevelUnmount:!1,next:null})},getUpdatePriority:function(a){var b=a.updateQueue;return null===b||a.tag!==\njd&&a.tag!==kd?gd:null!==b.first?b.first.priorityLevel:gd},addTopLevelUpdate:function(a,b,c,d){var e=null===b.element;b={priorityLevel:d,partialState:b,callback:c,isReplace:!1,isForced:!1,isTopLevelUnmount:e,next:null};a=sd(a,b);e&&(e=md,c=nd,null!==e&&null!==b.next&&(b.next=null,e.last=b),null!==c&&null!==a&&null!==a.next&&(a.next=null,c.last=b))},beginUpdateQueue:function(a,b,c,d,e,f,g){null!==a&&a.updateQueue===c&&(c=b.updateQueue={first:c.first,last:c.last,callbackList:null,hasForceUpdate:!1});\na=c.callbackList;for(var h=c.hasForceUpdate,k=!0,p=c.first;null!==p&&0>=od(p.priorityLevel,g);){c.first=p.next;null===c.first&&(c.last=null);var x;if(p.isReplace)e=td(p,d,e,f),k=!0;else if(x=td(p,d,e,f))e=k?n({},e,x):n(e,x),k=!1;p.isForced&&(h=!0);null===p.callback||p.isTopLevelUnmount&&null!==p.next||(a=null!==a?a:[],a.push(p.callback),b.effectTag|=fd);p=p.next}c.callbackList=a;c.hasForceUpdate=h;null!==c.first||null!==a||h||(b.updateQueue=null);return e},commitCallbacks:function(a,b,c){a=b.callbackList;\nif(null!==a)for(b.callbackList=null,b=0;bwd||(a.current=vd[wd],vd[wd]=null,wd--)},push:function(a,b){wd++;vd[wd]=a.current;a.current=b},reset:function(){for(;-1a)?a:b}},ee=de.createHostRootFiber,fe=E.IndeterminateComponent,ge=E.FunctionalComponent,he=E.ClassComponent,\nie=E.HostComponent,je,ke;\"function\"===typeof Symbol&&Symbol[\"for\"]?(je=Symbol[\"for\"](\"react.coroutine\"),ke=Symbol[\"for\"](\"react.yield\")):(je=60104,ke=60105);\nvar le={createCoroutine:function(a,b,c){var d=3r?(p=q,q=null):p=q.sibling;var v=H(a,q,h[r],k);if(null===v){null===q&&(q=p);break}b&&q&&null===v.alternate&&c(a,q);f=g(v,f,r);null===t?m=v:t.sibling=v;t=v;q=p}if(r===h.length)return d(a,q),m;if(null===q){for(;rk?(p=q,q=null):p=q.sibling;var V=H(a,q,v.value,r);if(null===V){q||(q=p);break}b&&\nq&&null===V.alternate&&c(a,q);f=g(V,f,k);null===t?m=V:t.sibling=V;t=V;q=p}if(v.done)return d(a,q),m;if(null===q){for(;!v.done;k++,v=h.next())v=B(a,v.value,r),null!==v&&(f=g(v,f,k),null===t?m=v:t.sibling=v,t=v);return m}for(q=e(a,q);!v.done;k++,v=h.next())if(v=C(q,a,k,v.value,r),null!==v){if(b&&null!==v.alternate)q[\"delete\"](null===v.key?k:v.key);f=g(v,f,k);null===t?m=v:t.sibling=v;t=v}b&&q.forEach(function(b){return c(a,b)});return m}return function(a,b,e,g){var m=\"object\"===typeof e&&null!==e;if(m)switch(e.$$typeof){case Ke:a:{var C=\ne.key;for(m=b;null!==m;){if(m.key===C)if(m.type===e.type){d(a,m.sibling);b=f(m,g);b.ref=Me(m,e);b.pendingProps=e.props;b[\"return\"]=a;a=b;break a}else{d(a,m);break}else c(a,m);m=m.sibling}g=se(e,a.internalContextTag,g);g.ref=Me(b,e);g[\"return\"]=a;a=g}return h(a);case oe:a:{for(m=e.key;null!==b;){if(b.key===m)if(b.tag===De){d(a,b.sibling);b=f(b,g);b.pendingProps=e;b[\"return\"]=a;a=b;break a}else{d(a,b);break}else c(a,b);b=b.sibling}e=ve(e,a.internalContextTag,g);e[\"return\"]=a;a=e}return h(a);case pe:a:{if(null!==\nb)if(b.tag===Ee){d(a,b.sibling);b=f(b,g);b.type=e.value;b[\"return\"]=a;a=b;break a}else d(a,b);b=we(e,a.internalContextTag,g);b.type=e.value;b[\"return\"]=a;a=b}return h(a);case qe:a:{for(m=e.key;null!==b;){if(b.key===m)if(b.tag===Ce&&b.stateNode.containerInfo===e.containerInfo&&b.stateNode.implementation===e.implementation){d(a,b.sibling);b=f(b,g);b.pendingProps=e.children||[];b[\"return\"]=a;a=b;break a}else{d(a,b);break}else c(a,b);b=b.sibling}e=xe(e,a.internalContextTag,g);e[\"return\"]=a;a=e}return h(a)}if(\"string\"===\ntypeof e||\"number\"===typeof e)return e=\"\"+e,null!==b&&b.tag===Be?(d(a,b.sibling),b=f(b,g),b.pendingProps=e,b[\"return\"]=a,a=b):(d(a,b),e=ue(e,a.internalContextTag,g),e[\"return\"]=a,a=e),h(a);if(ye(e))return Ca(a,b,e,g);if(Le(e))return r(a,b,e,g);m&&Ne(a,e);if(\"undefined\"===typeof e)switch(a.tag){case Ae:case ze:e=a.type,w(\"152\",e.displayName||e.name||\"Component\")}return d(a,b)}}\nvar Pe=Oe(!0,!0),Qe=Oe(!1,!0),Re=Oe(!1,!1),Se={reconcileChildFibers:Pe,reconcileChildFibersInPlace:Qe,mountChildFibersInPlace:Re,cloneChildFibers:function(a,b){null!==a&&b.child!==a.child?w(\"153\"):void 0;if(null!==b.child){a=b.child;var c=re(a,a.pendingWorkPriority);c.pendingProps=a.pendingProps;b.child=c;for(c[\"return\"]=b;null!==a.sibling;)a=a.sibling,c=c.sibling=re(a,a.pendingWorkPriority),c.pendingProps=a.pendingProps,c[\"return\"]=b;c.sibling=null}}},Te=J.Update,Ue=Pd.AsyncUpdates,Ve=R.cacheContext,\nWe=R.getMaskedContext,Xe=R.getUnmaskedContext,Ye=R.isContextConsumer,Ze=ud.addUpdate,$e=ud.addReplaceUpdate,af=ud.addForceUpdate,bf=ud.beginUpdateQueue,cf=R.hasContextChanged,df=bb.isMounted;\nfunction ef(a,b,c,d){function e(a,b){b.updater=f;a.stateNode=b;Pa.set(b,a)}var f={isMounted:df,enqueueSetState:function(c,d,e){c=Pa.get(c);var f=b(c,!1);Ze(c,d,void 0===e?null:e,f);a(c,f)},enqueueReplaceState:function(c,d,e){c=Pa.get(c);var f=b(c,!1);$e(c,d,void 0===e?null:e,f);a(c,f)},enqueueForceUpdate:function(c,d){c=Pa.get(c);var e=b(c,!1);af(c,void 0===d?null:d,e);a(c,e)}};return{adoptClassInstance:e,constructClassInstance:function(a,b){var c=a.type,d=Xe(a),f=Ye(a),g=f?We(a,d):da;b=new c(b,g);\ne(a,b);f&&Ve(a,d,g);return b},mountClassInstance:function(a,b){var c=a.alternate,d=a.stateNode,e=d.state||null,g=a.pendingProps;g?void 0:w(\"158\");var h=Xe(a);d.props=g;d.state=e;d.refs=da;d.context=We(a,h);ed.enableAsyncSubtreeAPI&&null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent&&(a.internalContextTag|=Ue);\"function\"===typeof d.componentWillMount&&(h=d.state,d.componentWillMount(),h!==d.state&&f.enqueueReplaceState(d,d.state,null),h=a.updateQueue,null!==\nh&&(d.state=bf(c,a,h,d,e,g,b)));\"function\"===typeof d.componentDidMount&&(a.effectTag|=Te)},updateClassInstance:function(a,b,e){var g=b.stateNode;g.props=b.memoizedProps;g.state=b.memoizedState;var h=b.memoizedProps,k=b.pendingProps;k||(k=h,null==k?w(\"159\"):void 0);var D=g.context,y=Xe(b);y=We(b,y);\"function\"!==typeof g.componentWillReceiveProps||h===k&&D===y||(D=g.state,g.componentWillReceiveProps(k,y),g.state!==D&&f.enqueueReplaceState(g,g.state,null));D=b.memoizedState;e=null!==b.updateQueue?bf(a,\nb,b.updateQueue,g,D,k,e):D;if(!(h!==k||D!==e||cf()||null!==b.updateQueue&&b.updateQueue.hasForceUpdate))return\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&D===a.memoizedState||(b.effectTag|=Te),!1;var B=k;if(null===h||null!==b.updateQueue&&b.updateQueue.hasForceUpdate)B=!0;else{var H=b.stateNode,C=b.type;B=\"function\"===typeof H.shouldComponentUpdate?H.shouldComponentUpdate(B,e,y):C.prototype&&C.prototype.isPureReactComponent?!ea(h,B)||!ea(D,e):!0}B?(\"function\"===typeof g.componentWillUpdate&&\ng.componentWillUpdate(k,e,y),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=Te)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&D===a.memoizedState||(b.effectTag|=Te),c(b,k),d(b,e));g.props=k;g.state=e;g.context=y;return B}}}\nvar ff=Se.mountChildFibersInPlace,gf=Se.reconcileChildFibers,hf=Se.reconcileChildFibersInPlace,jf=Se.cloneChildFibers,kf=ud.beginUpdateQueue,lf=R.getMaskedContext,mf=R.getUnmaskedContext,nf=R.hasContextChanged,of=R.pushContextProvider,pf=R.pushTopLevelContextObject,qf=R.invalidateContextProvider,rf=E.IndeterminateComponent,sf=E.FunctionalComponent,tf=E.ClassComponent,uf=E.HostRoot,wf=E.HostComponent,xf=E.HostText,yf=E.HostPortal,zf=E.CoroutineComponent,Af=E.CoroutineHandlerPhase,Bf=E.YieldComponent,\nCf=E.Fragment,Df=Q.NoWork,Ef=Q.OffscreenPriority,Ff=J.PerformedWork,Gf=J.Placement,Hf=J.ContentReset,If=J.Err,Jf=J.Ref,Kf=Qa.ReactCurrentOwner;\nfunction Lf(a,b,c,d,e){function f(a,b,c){g(a,b,c,b.pendingWorkPriority)}function g(a,b,c,d){b.child=null===a?ff(b,b.child,c,d):a.child===b.child?gf(b,b.child,c,d):hf(b,b.child,c,d)}function h(a,b){var c=b.ref;null===c||a&&a.ref===c||(b.effectTag|=Jf)}function k(a,b,c,d){h(a,b);if(!c)return d&&qf(b,!1),x(a,b);c=b.stateNode;Kf.current=b;var e=c.render();b.effectTag|=Ff;f(a,b,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&qf(b,!0);return b.child}function p(a){var b=a.stateNode;b.pendingContext?\npf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&pf(a,b.context,!1);C(a,b.containerInfo)}function x(a,b){jf(a,b);return b.child}function S(a,b){switch(b.tag){case uf:p(b);break;case tf:of(b);break;case yf:C(b,b.stateNode.containerInfo)}return null}var D=a.shouldSetTextContent,y=a.useSyncScheduling,B=a.shouldDeprioritizeSubtree,H=b.pushHostContext,C=b.pushHostContainer,Ca=c.enterHydrationState,r=c.resetHydrationState,m=c.tryToClaimNextHydratableInstance;a=ef(d,e,function(a,b){a.memoizedProps=\nb},function(a,b){a.memoizedState=b});var t=a.adoptClassInstance,v=a.constructClassInstance,V=a.mountClassInstance,ld=a.updateClassInstance;return{beginWork:function(a,b,c){if(b.pendingWorkPriority===Df||b.pendingWorkPriority>c)return S(a,b);switch(b.tag){case rf:null!==a?w(\"155\"):void 0;var d=b.type,e=b.pendingProps,g=mf(b);g=lf(b,g);d=d(e,g);b.effectTag|=Ff;\"object\"===typeof d&&null!==d&&\"function\"===typeof d.render?(b.tag=tf,e=of(b),t(b,d),V(b,c),b=k(a,b,!0,e)):(b.tag=sf,f(a,b,d),b.memoizedProps=\ne,b=b.child);return b;case sf:a:{e=b.type;c=b.pendingProps;d=b.memoizedProps;if(nf())null===c&&(c=d);else if(null===c||d===c){b=x(a,b);break a}d=mf(b);d=lf(b,d);e=e(c,d);b.effectTag|=Ff;f(a,b,e);b.memoizedProps=c;b=b.child}return b;case tf:return e=of(b),d=void 0,null===a?b.stateNode?w(\"153\"):(v(b,b.pendingProps),V(b,c),d=!0):d=ld(a,b,c),k(a,b,d,e);case uf:return p(b),d=b.updateQueue,null!==d?(e=b.memoizedState,d=kf(a,b,d,null,e,null,c),e===d?(r(),b=x(a,b)):(e=d.element,null!==a&&null!==a.child||\n!Ca(b)?(r(),f(a,b,e)):(b.effectTag|=Gf,b.child=ff(b,b.child,e,c)),b.memoizedState=d,b=b.child)):(r(),b=x(a,b)),b;case wf:H(b);null===a&&m(b);e=b.type;var q=b.memoizedProps;d=b.pendingProps;null===d&&(d=q,null===d?w(\"154\"):void 0);g=null!==a?a.memoizedProps:null;nf()||null!==d&&q!==d?(q=d.children,D(e,d)?q=null:g&&D(e,g)&&(b.effectTag|=Hf),h(a,b),c!==Ef&&!y&&B(e,d)?(b.pendingWorkPriority=Ef,b=null):(f(a,b,q),b.memoizedProps=d,b=b.child)):b=x(a,b);return b;case xf:return null===a&&m(b),a=b.pendingProps,\nnull===a&&(a=b.memoizedProps),b.memoizedProps=a,null;case Af:b.tag=zf;case zf:c=b.pendingProps;if(nf())null===c&&(c=a&&a.memoizedProps,null===c?w(\"154\"):void 0);else if(null===c||b.memoizedProps===c)c=b.memoizedProps;e=c.children;d=b.pendingWorkPriority;b.stateNode=null===a?ff(b,b.stateNode,e,d):a.child===b.child?gf(b,b.stateNode,e,d):hf(b,b.stateNode,e,d);b.memoizedProps=c;return b.stateNode;case Bf:return null;case yf:a:{C(b,b.stateNode.containerInfo);c=b.pendingWorkPriority;e=b.pendingProps;if(nf())null===\ne&&(e=a&&a.memoizedProps,null==e?w(\"154\"):void 0);else if(null===e||b.memoizedProps===e){b=x(a,b);break a}null===a?b.child=hf(b,b.child,e,c):f(a,b,e);b.memoizedProps=e;b=b.child}return b;case Cf:a:{c=b.pendingProps;if(nf())null===c&&(c=b.memoizedProps);else if(null===c||b.memoizedProps===c){b=x(a,b);break a}f(a,b,c);b.memoizedProps=c;b=b.child}return b;default:w(\"156\")}},beginFailedWork:function(a,b,c){switch(b.tag){case tf:of(b);break;case uf:p(b);break;default:w(\"157\")}b.effectTag|=If;null===a?\nb.child=null:b.child!==a.child&&(b.child=a.child);if(b.pendingWorkPriority===Df||b.pendingWorkPriority>c)return S(a,b);b.firstEffect=null;b.lastEffect=null;g(a,b,null,c);b.tag===tf&&(a=b.stateNode,b.memoizedProps=a.props,b.memoizedState=a.state);return b.child}}}\nvar Mf=Se.reconcileChildFibers,Nf=R.popContextProvider,Of=R.popTopLevelContextObject,Pf=E.IndeterminateComponent,Qf=E.FunctionalComponent,Rf=E.ClassComponent,Sf=E.HostRoot,Tf=E.HostComponent,Uf=E.HostText,Vf=E.HostPortal,Wf=E.CoroutineComponent,Xf=E.CoroutineHandlerPhase,Yf=E.YieldComponent,Zf=E.Fragment,ag=J.Placement,bg=J.Ref,cg=J.Update,dg=Q.OffscreenPriority;\nfunction eg(a,b,c){var d=a.createInstance,e=a.createTextInstance,f=a.appendInitialChild,g=a.finalizeInitialChildren,h=a.prepareUpdate,k=b.getRootHostContainer,p=b.popHostContext,x=b.getHostContext,S=b.popHostContainer,D=c.prepareToHydrateHostInstance,y=c.prepareToHydrateHostTextInstance,B=c.popHydrationState;return{completeWork:function(a,b,c){var r=b.pendingProps;if(null===r)r=b.memoizedProps;else if(b.pendingWorkPriority!==dg||c===dg)b.pendingProps=null;switch(b.tag){case Qf:return null;case Rf:return Nf(b),\nnull;case Sf:S(b);Of(b);r=b.stateNode;r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null);if(null===a||null===a.child)B(b),b.effectTag&=~ag;return null;case Tf:p(b);c=k();var m=b.type;if(null!==a&&null!=b.stateNode){var t=a.memoizedProps,C=b.stateNode,V=x();r=h(C,m,t,r,c,V);if(b.updateQueue=r)b.effectTag|=cg;a.ref!==b.ref&&(b.effectTag|=bg)}else{if(!r)return null===b.stateNode?w(\"166\"):void 0,null;a=x();if(B(b))D(b,c,a)&&(b.effectTag|=cg);else{a=d(m,r,c,a,b);a:for(t=b.child;null!==\nt;){if(t.tag===Tf||t.tag===Uf)f(a,t.stateNode);else if(t.tag!==Vf&&null!==t.child){t=t.child;continue}if(t===b)break a;for(;null===t.sibling;){if(null===t[\"return\"]||t[\"return\"]===b)break a;t=t[\"return\"]}t=t.sibling}g(a,m,r,c)&&(b.effectTag|=cg);b.stateNode=a}null!==b.ref&&(b.effectTag|=bg)}return null;case Uf:if(a&&null!=b.stateNode)a.memoizedProps!==r&&(b.effectTag|=cg);else{if(\"string\"!==typeof r)return null===b.stateNode?w(\"166\"):void 0,null;a=k();c=x();B(b)?y(b)&&(b.effectTag|=cg):b.stateNode=\ne(r,a,c,b)}return null;case Wf:(r=b.memoizedProps)?void 0:w(\"165\");b.tag=Xf;c=[];a:for((m=b.stateNode)&&(m[\"return\"]=b);null!==m;){if(m.tag===Tf||m.tag===Uf||m.tag===Vf)w(\"164\");else if(m.tag===Yf)c.push(m.type);else if(null!==m.child){m.child[\"return\"]=m;m=m.child;continue}for(;null===m.sibling;){if(null===m[\"return\"]||m[\"return\"]===b)break a;m=m[\"return\"]}m.sibling[\"return\"]=m[\"return\"];m=m.sibling}m=r.handler;r=m(r.props,c);b.child=Mf(b,null!==a?a.child:null,r,b.pendingWorkPriority);return b.child;\ncase Xf:return b.tag=Wf,null;case Yf:return null;case Zf:return null;case Vf:return b.effectTag|=cg,S(b),null;case Pf:w(\"167\");default:w(\"156\")}}}}var fg=null,gg=null;function hg(a){return function(b){try{return a(b)}catch(c){}}}\nvar ig={injectInternals:function(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!b.supportsFiber)return!0;try{var c=b.inject(a);fg=hg(function(a){return b.onCommitFiberRoot(c,a)});gg=hg(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0},onCommitRoot:function(a){\"function\"===typeof fg&&fg(a)},onCommitUnmount:function(a){\"function\"===typeof gg&&gg(a)}},jg=E.ClassComponent,kg=E.HostRoot,lg=E.HostComponent,mg=E.HostText,ng=\nE.HostPortal,og=E.CoroutineComponent,pg=ud.commitCallbacks,qg=ig.onCommitUnmount,rg=J.Placement,sg=J.Update,tg=J.Callback,ug=J.ContentReset;\nfunction vg(a,b){function c(a){var c=a.ref;if(null!==c)try{c(null)}catch(t){b(a,t)}}function d(a){return a.tag===lg||a.tag===kg||a.tag===ng}function e(a){for(var b=a;;)if(g(b),null!==b.child&&b.tag!==ng)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||b[\"return\"]===a)return;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}function f(a){for(var b=a,c=!1,d=void 0,f=void 0;;){if(!c){c=b[\"return\"];a:for(;;){null===c?w(\"160\"):void 0;switch(c.tag){case lg:d=\nc.stateNode;f=!1;break a;case kg:d=c.stateNode.containerInfo;f=!0;break a;case ng:d=c.stateNode.containerInfo;f=!0;break a}c=c[\"return\"]}c=!0}if(b.tag===lg||b.tag===mg)e(b),f?C(d,b.stateNode):H(d,b.stateNode);else if(b.tag===ng?d=b.stateNode.containerInfo:g(b),null!==b.child){b.child[\"return\"]=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||b[\"return\"]===a)return;b=b[\"return\"];b.tag===ng&&(c=!1)}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}function g(a){\"function\"===\ntypeof qg&&qg(a);switch(a.tag){case jg:c(a);var d=a.stateNode;if(\"function\"===typeof d.componentWillUnmount)try{d.props=a.memoizedProps,d.state=a.memoizedState,d.componentWillUnmount()}catch(t){b(a,t)}break;case lg:c(a);break;case og:e(a.stateNode);break;case ng:f(a)}}var h=a.commitMount,k=a.commitUpdate,p=a.resetTextContent,x=a.commitTextUpdate,S=a.appendChild,D=a.appendChildToContainer,y=a.insertBefore,B=a.insertInContainerBefore,H=a.removeChild,C=a.removeChildFromContainer,Ca=a.getPublicInstance;\nreturn{commitPlacement:function(a){a:{for(var b=a[\"return\"];null!==b;){if(d(b)){var c=b;break a}b=b[\"return\"]}w(\"160\");c=void 0}var e=b=void 0;switch(c.tag){case lg:b=c.stateNode;e=!1;break;case kg:b=c.stateNode.containerInfo;e=!0;break;case ng:b=c.stateNode.containerInfo;e=!0;break;default:w(\"161\")}c.effectTag&ug&&(p(b),c.effectTag&=~ug);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c[\"return\"]||d(c[\"return\"])){c=null;break a}c=c[\"return\"]}c.sibling[\"return\"]=c[\"return\"];for(c=c.sibling;c.tag!==\nlg&&c.tag!==mg;){if(c.effectTag&rg)continue b;if(null===c.child||c.tag===ng)continue b;else c.child[\"return\"]=c,c=c.child}if(!(c.effectTag&rg)){c=c.stateNode;break a}}for(var f=a;;){if(f.tag===lg||f.tag===mg)c?e?B(b,f.stateNode,c):y(b,f.stateNode,c):e?D(b,f.stateNode):S(b,f.stateNode);else if(f.tag!==ng&&null!==f.child){f.child[\"return\"]=f;f=f.child;continue}if(f===a)break;for(;null===f.sibling;){if(null===f[\"return\"]||f[\"return\"]===a)return;f=f[\"return\"]}f.sibling[\"return\"]=f[\"return\"];f=f.sibling}},\ncommitDeletion:function(a){f(a);a[\"return\"]=null;a.child=null;a.alternate&&(a.alternate.child=null,a.alternate[\"return\"]=null)},commitWork:function(a,b){switch(b.tag){case jg:break;case lg:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&k(c,f,e,a,d,b)}break;case mg:null===b.stateNode?w(\"162\"):void 0;c=b.memoizedProps;x(b.stateNode,null!==a?a.memoizedProps:c,c);break;case kg:break;case ng:break;default:w(\"163\")}},\ncommitLifeCycles:function(a,b){switch(b.tag){case jg:var c=b.stateNode;if(b.effectTag&sg)if(null===a)c.props=b.memoizedProps,c.state=b.memoizedState,c.componentDidMount();else{var d=a.memoizedProps;a=a.memoizedState;c.props=b.memoizedProps;c.state=b.memoizedState;c.componentDidUpdate(d,a)}b.effectTag&tg&&null!==b.updateQueue&&pg(b,b.updateQueue,c);break;case kg:a=b.updateQueue;null!==a&&pg(b,a,b.child&&b.child.stateNode);break;case lg:c=b.stateNode;null===a&&b.effectTag&sg&&h(c,b.type,b.memoizedProps,\nb);break;case mg:break;case ng:break;default:w(\"163\")}},commitAttachRef:function(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case lg:b(Ca(c));break;default:b(c)}}},commitDetachRef:function(a){a=a.ref;null!==a&&a(null)}}}var wg=xd.createCursor,xg=xd.pop,yg=xd.push,zg={};\nfunction Ag(a){function b(a){a===zg?w(\"174\"):void 0;return a}var c=a.getChildHostContext,d=a.getRootHostContext,e=wg(zg),f=wg(zg),g=wg(zg);return{getHostContext:function(){return b(e.current)},getRootHostContainer:function(){return b(g.current)},popHostContainer:function(a){xg(e,a);xg(f,a);xg(g,a)},popHostContext:function(a){f.current===a&&(xg(e,a),xg(f,a))},pushHostContainer:function(a,b){yg(g,b,a);b=d(b);yg(f,a,a);yg(e,b,a)},pushHostContext:function(a){var d=b(g.current),h=b(e.current);d=c(h,a.type,\nd);h!==d&&(yg(f,a,a),yg(e,d,a))},resetHostContainer:function(){e.current=zg;g.current=zg}}}var Bg=E.HostComponent,Cg=E.HostText,Dg=E.HostRoot,Eg=J.Deletion,Fg=J.Placement,Gg=de.createFiberFromHostInstanceForDeletion;\nfunction Hg(a){function b(a,b){var c=Gg();c.stateNode=b;c[\"return\"]=a;c.effectTag=Eg;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function c(a,b){switch(a.tag){case Bg:return f(b,a.type,a.pendingProps);case Cg:return g(b,a.pendingProps);default:return!1}}function d(a){for(a=a[\"return\"];null!==a&&a.tag!==Bg&&a.tag!==Dg;)a=a[\"return\"];y=a}var e=a.shouldSetTextContent,f=a.canHydrateInstance,g=a.canHydrateTextInstance,h=a.getNextHydratableSibling,k=a.getFirstHydratableChild,\np=a.hydrateInstance,x=a.hydrateTextInstance,S=a.didNotHydrateInstance,D=a.didNotFindHydratableInstance;a=a.didNotFindHydratableTextInstance;if(!(f&&g&&h&&k&&p&&x&&S&&D&&a))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){w(\"175\")},prepareToHydrateHostTextInstance:function(){w(\"176\")},popHydrationState:function(){return!1}};var y=null,B=null,H=!1;return{enterHydrationState:function(a){B=\nk(a.stateNode.containerInfo);y=a;return H=!0},resetHydrationState:function(){B=y=null;H=!1},tryToClaimNextHydratableInstance:function(a){if(H){var d=B;if(d){if(!c(a,d)){d=h(d);if(!d||!c(a,d)){a.effectTag|=Fg;H=!1;y=a;return}b(y,B)}a.stateNode=d;y=a;B=k(d)}else a.effectTag|=Fg,H=!1,y=a}},prepareToHydrateHostInstance:function(a,b,c){b=p(a.stateNode,a.type,a.memoizedProps,b,c,a);a.updateQueue=b;return null!==b?!0:!1},prepareToHydrateHostTextInstance:function(a){return x(a.stateNode,a.memoizedProps,a)},\npopHydrationState:function(a){if(a!==y)return!1;if(!H)return d(a),H=!0,!1;var c=a.type;if(a.tag!==Bg||\"head\"!==c&&\"body\"!==c&&!e(c,a.memoizedProps))for(c=B;c;)b(a,c),c=h(c);d(a);B=y?h(a.stateNode):null;return!0}}}\nvar Ig=R.popContextProvider,Jg=xd.reset,Kg=Qa.ReactCurrentOwner,Lg=de.createWorkInProgress,Mg=de.largerPriority,Ng=ig.onCommitRoot,T=Q.NoWork,Og=Q.SynchronousPriority,U=Q.TaskPriority,Pg=Q.HighPriority,Qg=Q.LowPriority,Rg=Q.OffscreenPriority,Sg=Pd.AsyncUpdates,Tg=J.PerformedWork,Ug=J.Placement,Vg=J.Update,Wg=J.PlacementAndUpdate,Xg=J.Deletion,Yg=J.ContentReset,Zg=J.Callback,$g=J.Err,ah=J.Ref,bh=E.HostRoot,ch=E.HostComponent,dh=E.HostPortal,eh=E.ClassComponent,fh=ud.getUpdatePriority,gh=R.resetContext;\nfunction hh(a){function b(){for(;null!==ma&&ma.current.pendingWorkPriority===T;){ma.isScheduled=!1;var a=ma.nextScheduledRoot;ma.nextScheduledRoot=null;if(ma===zb)return zb=ma=null,z=T,null;ma=a}a=ma;for(var b=null,c=T;null!==a;)a.current.pendingWorkPriority!==T&&(c===T||c>a.current.pendingWorkPriority)&&(c=a.current.pendingWorkPriority,b=a),a=a.nextScheduledRoot;null!==b?(z=c,Jg(),gh(),t(),I=Lg(b.current,c),b!==nc&&(oc=0,nc=b)):(z=T,nc=I=null)}function c(c){Hd=!0;na=null;var d=c.stateNode;d.current===\nc?w(\"177\"):void 0;z!==Og&&z!==U||oc++;Kg.current=null;if(c.effectTag>Tg)if(null!==c.lastEffect){c.lastEffect.nextEffect=c;var e=c.firstEffect}else e=c;else e=c.firstEffect;Ui();for(u=e;null!==u;){var f=!1,g=void 0;try{for(;null!==u;){var h=u.effectTag;h&Yg&&a.resetTextContent(u.stateNode);if(h&ah){var k=u.alternate;null!==k&&Ph(k)}switch(h&~(Zg|$g|Yg|ah|Tg)){case Ug:q(u);u.effectTag&=~Ug;break;case Wg:q(u);u.effectTag&=~Ug;vf(u.alternate,u);break;case Vg:vf(u.alternate,u);break;case Xg:Id=!0,Mh(u),\nId=!1}u=u.nextEffect}}catch(Jd){f=!0,g=Jd}f&&(null===u?w(\"178\"):void 0,x(u,g),null!==u&&(u=u.nextEffect))}Vi();d.current=c;for(u=e;null!==u;){d=!1;e=void 0;try{for(;null!==u;){var Gd=u.effectTag;Gd&(Vg|Zg)&&Nh(u.alternate,u);Gd&ah&&Oh(u);if(Gd&$g)switch(f=u,g=void 0,null!==P&&(g=P.get(f),P[\"delete\"](f),null==g&&null!==f.alternate&&(f=f.alternate,g=P.get(f),P[\"delete\"](f))),null==g?w(\"184\"):void 0,f.tag){case eh:f.stateNode.componentDidCatch(g.error,{componentStack:g.componentStack});break;case bh:null===\nJa&&(Ja=g.error);break;default:w(\"157\")}var m=u.nextEffect;u.nextEffect=null;u=m}}catch(Jd){d=!0,e=Jd}d&&(null===u?w(\"178\"):void 0,x(u,e),null!==u&&(u=u.nextEffect))}Hd=!1;\"function\"===typeof Ng&&Ng(c.stateNode);va&&(va.forEach(H),va=null);b()}function d(a){for(;;){var b=Lh(a.alternate,a,z),c=a[\"return\"],d=a.sibling;var e=a;if(!(e.pendingWorkPriority!==T&&e.pendingWorkPriority>z)){for(var f=fh(e),g=e.child;null!==g;)f=Mg(f,g.pendingWorkPriority),g=g.sibling;e.pendingWorkPriority=f}if(null!==b)return b;\nnull!==c&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),a.effectTag>Tg&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;if(null!==c)a=c;else{na=a;break}}return null}function e(a){var b=V(a.alternate,a,z);null===b&&(b=d(a));Kg.current=null;return b}function f(a){var b=ld(a.alternate,a,z);null===b&&(b=d(a));Kg.current=null;return b}\nfunction g(a){p(Rg,a)}function h(){if(null!==P&&0a)){O=z;a:do{if(z<=U)for(;null!==I&&!(I=e(I),null===I&&(null===na?w(\"179\"):void 0,O=U,c(na),O=z,h(),z===T||z>a||z>U)););else if(null!==d)for(;null!==I&&!Ab;)if(1a||zU&&!Bb&&($f(g),Bb=!0);a=Ja;Ya=Ab=Da=!1;nc=Ka=P=Ja=null;oc=0;if(null!==a)throw a;}function x(a,b){var c=Kg.current=null,d=!1,e=!1,f=null;if(a.tag===bh)c=a,S(a)&&(Ya=!0);else for(var g=a[\"return\"];null!==g&&null===c;){g.tag===eh?\"function\"===typeof g.stateNode.componentDidCatch&&\n(d=!0,f=Ra(g),c=g,e=!0):g.tag===bh&&(c=g);if(S(g)){if(Id||null!==va&&(va.has(g)||null!==g.alternate&&va.has(g.alternate)))return null;c=null;e=!1}g=g[\"return\"]}if(null!==c){null===Ka&&(Ka=new Set);Ka.add(c);var h=\"\";g=a;do{a:switch(g.tag){case fe:case ge:case he:case ie:var k=g._debugOwner,m=g._debugSource;var p=Ra(g);var q=null;k&&(q=Ra(k));k=m;p=\"\\n in \"+(p||\"Unknown\")+(k?\" (at \"+k.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+k.lineNumber+\")\":q?\" (created by \"+q+\")\":\"\");break a;default:p=\"\"}h+=p;g=g[\"return\"]}while(g);\ng=h;a=Ra(a);null===P&&(P=new Map);b={componentName:a,componentStack:g,error:b,errorBoundary:d?c.stateNode:null,errorBoundaryFound:d,errorBoundaryName:f,willRetry:e};P.set(c,b);try{console.error(b.error)}catch(Wi){console.error(Wi)}Hd?(null===va&&(va=new Set),va.add(c)):H(c);return c}null===Ja&&(Ja=b);return null}function S(a){return null!==Ka&&(Ka.has(a)||null!==a.alternate&&Ka.has(a.alternate))}function D(a,b){return y(a,b,!1)}function y(a,b){oc>Xi&&(Ya=!0,w(\"185\"));!Da&&b<=z&&(I=null);for(var c=\n!0;null!==a&&c;){c=!1;if(a.pendingWorkPriority===T||a.pendingWorkPriority>b)c=!0,a.pendingWorkPriority=b;null!==a.alternate&&(a.alternate.pendingWorkPriority===T||a.alternate.pendingWorkPriority>b)&&(c=!0,a.alternate.pendingWorkPriority=b);if(null===a[\"return\"])if(a.tag===bh){var d=a.stateNode;b===T||d.isScheduled||(d.isScheduled=!0,zb?zb.nextScheduledRoot=d:ma=d,zb=d);if(!Da)switch(b){case Og:pc?p(Og,null):p(U,null);break;case U:W?void 0:w(\"186\");break;default:Bb||($f(g),Bb=!0)}}else break;a=a[\"return\"]}}\nfunction B(a,b){var c=O;c===T&&(c=!Yi||a.internalContextTag&Sg||b?Qg:Og);return c===Og&&(Da||W)?U:c}function H(a){y(a,U,!0)}var C=Ag(a),Ca=Hg(a),r=C.popHostContainer,m=C.popHostContext,t=C.resetHostContainer,v=Lf(a,C,Ca,D,B),V=v.beginWork,ld=v.beginFailedWork,Lh=eg(a,C,Ca).completeWork;C=vg(a,x);var q=C.commitPlacement,Mh=C.commitDeletion,vf=C.commitWork,Nh=C.commitLifeCycles,Oh=C.commitAttachRef,Ph=C.commitDetachRef,$f=a.scheduleDeferredCallback,Yi=a.useSyncScheduling,Ui=a.prepareForCommit,Vi=a.resetAfterCommit,\nO=T,Da=!1,Ab=!1,W=!1,pc=!1,I=null,z=T,u=null,na=null,ma=null,zb=null,Bb=!1,P=null,Ka=null,va=null,Ja=null,Ya=!1,Hd=!1,Id=!1,Xi=1E3,oc=0,nc=null;return{scheduleUpdate:D,getPriorityContext:B,batchedUpdates:function(a,b){var c=W;W=!0;try{return a(b)}finally{W=c,Da||W||p(U,null)}},unbatchedUpdates:function(a){var b=pc,c=W;pc=W;W=!1;try{return a()}finally{W=c,pc=b}},flushSync:function(a){var b=W,c=O;W=!0;O=Og;try{return a()}finally{W=b,O=c,Da?w(\"187\"):void 0,p(U,null)}},deferredUpdates:function(a){var b=\nO;O=Qg;try{return a()}finally{O=b}}}}function ih(){w(\"196\")}function jh(a){if(!a)return da;a=Pa.get(a);return\"number\"===typeof a.tag?ih(a):a._processChildContext(a._context)}jh._injectFiber=function(a){ih=a};var kh=ud.addTopLevelUpdate,lh=R.findCurrentUnmaskedContext,mh=R.isContextProvider,nh=R.processChildContext,oh=E.HostComponent,ph=bb.findCurrentHostFiber,qh=bb.findCurrentHostFiberWithNoPortals;jh._injectFiber(function(a){var b=lh(a);return mh(a)?nh(a,b,!1):b});var rh=F.TEXT_NODE;\nfunction sh(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function th(a,b){var c=sh(a);a=0;for(var d;c;){if(c.nodeType===rh){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=sh(c)}}var uh=null;function vh(){!uh&&l.canUseDOM&&(uh=\"textContent\"in document.documentElement?\"textContent\":\"innerText\");return uh}\nvar wh={getOffsets:function(a){var b=window.getSelection&&window.getSelection();if(!b||0===b.rangeCount)return null;var c=b.anchorNode,d=b.anchorOffset,e=b.focusNode,f=b.focusOffset,g=b.getRangeAt(0);try{g.startContainer.nodeType,g.endContainer.nodeType}catch(k){return null}b=b.anchorNode===b.focusNode&&b.anchorOffset===b.focusOffset?0:g.toString().length;var h=g.cloneRange();h.selectNodeContents(a);h.setEnd(g.startContainer,g.startOffset);a=h.startContainer===h.endContainer&&h.startOffset===h.endOffset?\n0:h.toString().length;g=a+b;b=document.createRange();b.setStart(c,d);b.setEnd(e,f);c=b.collapsed;return{start:c?g:a,end:c?a:g}},setOffsets:function(a,b){if(window.getSelection){var c=window.getSelection(),d=a[vh()].length,e=Math.min(b.start,d);b=void 0===b.end?e:Math.min(b.end,d);!c.extend&&e>b&&(d=b,b=e,e=d);d=th(a,e);a=th(a,b);if(d&&a){var f=document.createRange();f.setStart(d.node,d.offset);c.removeAllRanges();e>b?(c.addRange(f),c.extend(a.node,a.offset)):(f.setEnd(a.node,a.offset),c.addRange(f))}}}},\nxh=F.ELEMENT_NODE,yh={hasSelectionCapabilities:function(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&\"text\"===a.type||\"textarea\"===b||\"true\"===a.contentEditable)},getSelectionInformation:function(){var a=ia();return{focusedElem:a,selectionRange:yh.hasSelectionCapabilities(a)?yh.getSelection(a):null}},restoreSelection:function(a){var b=ia(),c=a.focusedElem;a=a.selectionRange;if(b!==c&&fa(document.documentElement,c)){yh.hasSelectionCapabilities(c)&&yh.setSelection(c,a);b=\n[];for(a=c;a=a.parentNode;)a.nodeType===xh&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});ha(c);for(c=0;cthis.eventPool.length&&this.eventPool.push(a)}function Yh(a){a.eventPool=[];a.getPooled=Zh;a.release=$h}function ai(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(ai,{data:null});function bi(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(bi,{data:null});var ci=[9,13,27,32],di=l.canUseDOM&&\"CompositionEvent\"in window,ei=null;l.canUseDOM&&\"documentMode\"in document&&(ei=document.documentMode);var fi;\nif(fi=l.canUseDOM&&\"TextEvent\"in window&&!ei){var gi=window.opera;fi=!(\"object\"===typeof gi&&\"function\"===typeof gi.version&&12>=parseInt(gi.version(),10))}\nvar hi=fi,ii=l.canUseDOM&&(!di||ei&&8=ei),ji=String.fromCharCode(32),ki={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")}},li=!1;\nfunction mi(a,b){switch(a){case \"topKeyUp\":return-1!==ci.indexOf(b.keyCode);case \"topKeyDown\":return 229!==b.keyCode;case \"topKeyPress\":case \"topMouseDown\":case \"topBlur\":return!0;default:return!1}}function ni(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var oi=!1;function pi(a,b){switch(a){case \"topCompositionEnd\":return ni(b);case \"topKeyPress\":if(32!==b.which)return null;li=!0;return ji;case \"topTextInput\":return a=b.data,a===ji&&li?null:a;default:return null}}\nfunction qi(a,b){if(oi)return\"topCompositionEnd\"===a||!di&&mi(a,b)?(a=Vh.getData(),Vh.reset(),oi=!1,a):null;switch(a){case \"topPaste\":return null;case \"topKeyPress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,Si={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},\ndependencies:\"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange\".split(\" \")}},Ti=null,Zi=null,$i=null,aj=!1,bj=M.isListeningToAllDependencies;\nfunction cj(a,b){if(aj||null==Ti||Ti!==ia())return null;var c=Ti;\"selectionStart\"in c&&zh.hasSelectionCapabilities(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return $i&&ea($i,c)?null:($i=c,a=Y.getPooled(Si.select,Zi,a,b),a.type=\"select\",a.target=Ti,Th.accumulateTwoPhaseDispatches(a),a)}\nvar dj={eventTypes:Si,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:d.nodeType===Qi?d:d.ownerDocument;if(!e||!bj(\"onSelect\",e))return null;e=b?G.getNodeFromInstance(b):window;switch(a){case \"topFocus\":if(ti(e)||\"true\"===e.contentEditable)Ti=e,Zi=b,$i=null;break;case \"topBlur\":$i=Zi=Ti=null;break;case \"topMouseDown\":aj=!0;break;case \"topContextMenu\":case \"topMouseUp\":return aj=!1,cj(c,d);case \"topSelectionChange\":if(Ri)break;case \"topKeyDown\":case \"topKeyUp\":return cj(c,d)}return null}};\nfunction ej(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(ej,{animationName:null,elapsedTime:null,pseudoElement:null});function fj(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(fj,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}});function gj(a,b,c,d){return Y.call(this,a,b,c,d)}Ji.augmentClass(gj,{relatedTarget:null});function hj(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;return 32<=a||13===a?a:0}\nvar ij={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},jj={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};function kj(a,b,c,d){return Y.call(this,a,b,c,d)}\nJi.augmentClass(kj,{key:function(a){if(a.key){var b=ij[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=hj(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?jj[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Mi,charCode:function(a){return\"keypress\"===a.type?hj(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?hj(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}});function lj(a,b,c,d){return Y.call(this,a,b,c,d)}Ni.augmentClass(lj,{dataTransfer:null});function mj(a,b,c,d){return Y.call(this,a,b,c,d)}Ji.augmentClass(mj,{touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Mi});function nj(a,b,c,d){return Y.call(this,a,b,c,d)}Y.augmentClass(nj,{propertyName:null,elapsedTime:null,pseudoElement:null});\nfunction oj(a,b,c,d){return Y.call(this,a,b,c,d)}Ni.augmentClass(oj,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null});var pj={},qj={};\n\"abort animationEnd animationIteration animationStart blur cancel canPlay canPlayThrough click close contextMenu copy cut doubleClick drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error focus input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing progress rateChange reset scroll seeked seeking stalled submit suspend timeUpdate toggle touchCancel touchEnd touchMove touchStart transitionEnd volumeChange waiting wheel\".split(\" \").forEach(function(a){var b=a[0].toUpperCase()+\na.slice(1),c=\"on\"+b;b=\"top\"+b;c={phasedRegistrationNames:{bubbled:c,captured:c+\"Capture\"},dependencies:[b]};pj[a]=c;qj[b]=c});\nvar rj={eventTypes:pj,extractEvents:function(a,b,c,d){var e=qj[a];if(!e)return null;switch(a){case \"topAbort\":case \"topCancel\":case \"topCanPlay\":case \"topCanPlayThrough\":case \"topClose\":case \"topDurationChange\":case \"topEmptied\":case \"topEncrypted\":case \"topEnded\":case \"topError\":case \"topInput\":case \"topInvalid\":case \"topLoad\":case \"topLoadedData\":case \"topLoadedMetadata\":case \"topLoadStart\":case \"topPause\":case \"topPlay\":case \"topPlaying\":case \"topProgress\":case \"topRateChange\":case \"topReset\":case \"topSeeked\":case \"topSeeking\":case \"topStalled\":case \"topSubmit\":case \"topSuspend\":case \"topTimeUpdate\":case \"topToggle\":case \"topVolumeChange\":case \"topWaiting\":var f=Y;\nbreak;case \"topKeyPress\":if(0===hj(c))return null;case \"topKeyDown\":case \"topKeyUp\":f=kj;break;case \"topBlur\":case \"topFocus\":f=gj;break;case \"topClick\":if(2===c.button)return null;case \"topDoubleClick\":case \"topMouseDown\":case \"topMouseMove\":case \"topMouseUp\":case \"topMouseOut\":case \"topMouseOver\":case \"topContextMenu\":f=Ni;break;case \"topDrag\":case \"topDragEnd\":case \"topDragEnter\":case \"topDragExit\":case \"topDragLeave\":case \"topDragOver\":case \"topDragStart\":case \"topDrop\":f=lj;break;case \"topTouchCancel\":case \"topTouchEnd\":case \"topTouchMove\":case \"topTouchStart\":f=\nmj;break;case \"topAnimationEnd\":case \"topAnimationIteration\":case \"topAnimationStart\":f=ej;break;case \"topTransitionEnd\":f=nj;break;case \"topScroll\":f=Ji;break;case \"topWheel\":f=oj;break;case \"topCopy\":case \"topCut\":case \"topPaste\":f=fj}f?void 0:w(\"86\",a);a=f.getPooled(e,b,c,d);Th.accumulateTwoPhaseDispatches(a);return a}};L.setHandleTopLevel(M.handleTopLevel);Jb.injection.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nib.injection.injectComponentTree(G);Jb.injection.injectEventPluginsByName({SimpleEventPlugin:rj,EnterLeaveEventPlugin:Pi,ChangeEventPlugin:Ii,SelectEventPlugin:dj,BeforeInputEventPlugin:ri});\nvar sj=A.injection.MUST_USE_PROPERTY,Z=A.injection.HAS_BOOLEAN_VALUE,tj=A.injection.HAS_NUMERIC_VALUE,uj=A.injection.HAS_POSITIVE_NUMERIC_VALUE,vj=A.injection.HAS_STRING_BOOLEAN_VALUE,wj={Properties:{allowFullScreen:Z,allowTransparency:vj,async:Z,autoPlay:Z,capture:Z,checked:sj|Z,cols:uj,contentEditable:vj,controls:Z,\"default\":Z,defer:Z,disabled:Z,download:A.injection.HAS_OVERLOADED_BOOLEAN_VALUE,draggable:vj,formNoValidate:Z,hidden:Z,loop:Z,multiple:sj|Z,muted:sj|Z,noValidate:Z,open:Z,playsInline:Z,\nreadOnly:Z,required:Z,reversed:Z,rows:uj,rowSpan:tj,scoped:Z,seamless:Z,selected:sj|Z,size:uj,start:tj,span:uj,spellCheck:vj,style:0,itemScope:Z,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:vj},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMMutationMethods:{value:function(a,b){if(null==b)return a.removeAttribute(\"value\");\"number\"!==a.type||!1===a.hasAttribute(\"value\")?a.setAttribute(\"value\",\"\"+b):a.validity&&!a.validity.badInput&&\na.ownerDocument.activeElement!==a&&a.setAttribute(\"value\",\"\"+b)}}},xj=A.injection.HAS_STRING_BOOLEAN_VALUE,yj={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},zj={Properties:{autoReverse:xj,externalResourcesRequired:xj,preserveAlpha:xj},DOMAttributeNames:{autoReverse:\"autoReverse\",externalResourcesRequired:\"externalResourcesRequired\",preserveAlpha:\"preserveAlpha\"},DOMAttributeNamespaces:{xlinkActuate:yj.xlink,xlinkArcrole:yj.xlink,xlinkHref:yj.xlink,xlinkRole:yj.xlink,\nxlinkShow:yj.xlink,xlinkTitle:yj.xlink,xlinkType:yj.xlink,xmlBase:yj.xml,xmlLang:yj.xml,xmlSpace:yj.xml}},Aj=/[\\-\\:]([a-z])/g;function Bj(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space\".split(\" \").forEach(function(a){var b=a.replace(Aj,\nBj);zj.Properties[b]=0;zj.DOMAttributeNames[b]=a});A.injection.injectDOMPropertyConfig(wj);A.injection.injectDOMPropertyConfig(zj);\nvar Cj=ig.injectInternals,Dj=F.ELEMENT_NODE,Ej=F.TEXT_NODE,Fj=F.COMMENT_NODE,Gj=F.DOCUMENT_NODE,Hj=F.DOCUMENT_FRAGMENT_NODE,Ij=A.ROOT_ATTRIBUTE_NAME,Jj=ka.getChildNamespace,Kj=N.createElement,Lj=N.createTextNode,Mj=N.setInitialProperties,Nj=N.diffProperties,Oj=N.updateProperties,Pj=N.diffHydratedProperties,Qj=N.diffHydratedText,Rj=N.warnForDeletedHydratableElement,Sj=N.warnForDeletedHydratableText,Tj=N.warnForInsertedHydratedElement,Uj=N.warnForInsertedHydratedText,Vj=G.precacheFiberNode,Wj=G.updateFiberProps;\nnb.injection.injectFiberControlledHostComponent(N);Dh._injectFiber(function(a){return Xj.findHostInstance(a)});var Yj=null,Zj=null;function ak(a){return!(!a||a.nodeType!==Dj&&a.nodeType!==Gj&&a.nodeType!==Hj&&(a.nodeType!==Fj||\" react-mount-point-unstable \"!==a.nodeValue))}function bk(a){a=a?a.nodeType===Gj?a.documentElement:a.firstChild:null;return!(!a||a.nodeType!==Dj||!a.hasAttribute(Ij))}\nvar Xj=function(a){var b=a.getPublicInstance;a=hh(a);var c=a.scheduleUpdate,d=a.getPriorityContext;return{createContainer:function(a){var b=ee();a={current:b,containerInfo:a,isScheduled:!1,nextScheduledRoot:null,context:null,pendingContext:null};return b.stateNode=a},updateContainer:function(a,b,g,h){var e=b.current;g=jh(g);null===b.context?b.context=g:b.pendingContext=g;b=h;h=d(e,ed.enableAsyncSubtreeAPI&&null!=a&&null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent);\na={element:a};kh(e,a,void 0===b?null:b,h);c(e,h)},batchedUpdates:a.batchedUpdates,unbatchedUpdates:a.unbatchedUpdates,deferredUpdates:a.deferredUpdates,flushSync:a.flushSync,getPublicRootInstance:function(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case oh:return b(a.child.stateNode);default:return a.child.stateNode}},findHostInstance:function(a){a=ph(a);return null===a?null:a.stateNode},findHostInstanceWithNoPortals:function(a){a=qh(a);return null===a?null:a.stateNode}}}({getRootHostContext:function(a){if(a.nodeType===\nGj)a=(a=a.documentElement)?a.namespaceURI:Jj(null,\"\");else{var b=a.nodeType===Fj?a.parentNode:a;a=b.namespaceURI||null;b=b.tagName;a=Jj(a,b)}return a},getChildHostContext:function(a,b){return Jj(a,b)},getPublicInstance:function(a){return a},prepareForCommit:function(){Yj=M.isEnabled();Zj=zh.getSelectionInformation();M.setEnabled(!1)},resetAfterCommit:function(){zh.restoreSelection(Zj);Zj=null;M.setEnabled(Yj);Yj=null},createInstance:function(a,b,c,d,e){a=Kj(a,b,c,d);Vj(e,a);Wj(a,b);return a},appendInitialChild:function(a,\nb){a.appendChild(b)},finalizeInitialChildren:function(a,b,c,d){Mj(a,b,c,d);a:{switch(b){case \"button\":case \"input\":case \"select\":case \"textarea\":a=!!c.autoFocus;break a}a=!1}return a},prepareUpdate:function(a,b,c,d,e){return Nj(a,b,c,d,e)},commitMount:function(a){a.focus()},commitUpdate:function(a,b,c,d,e){Wj(a,e);Oj(a,b,c,d,e)},shouldSetTextContent:function(a,b){return\"textarea\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&\n\"string\"===typeof b.dangerouslySetInnerHTML.__html},resetTextContent:function(a){a.textContent=\"\"},shouldDeprioritizeSubtree:function(a,b){return!!b.hidden},createTextInstance:function(a,b,c,d){a=Lj(a,b);Vj(d,a);return a},commitTextUpdate:function(a,b,c){a.nodeValue=c},appendChild:function(a,b){a.appendChild(b)},appendChildToContainer:function(a,b){a.nodeType===Fj?a.parentNode.insertBefore(b,a):a.appendChild(b)},insertBefore:function(a,b,c){a.insertBefore(b,c)},insertInContainerBefore:function(a,\nb,c){a.nodeType===Fj?a.parentNode.insertBefore(b,c):a.insertBefore(b,c)},removeChild:function(a,b){a.removeChild(b)},removeChildFromContainer:function(a,b){a.nodeType===Fj?a.parentNode.removeChild(b):a.removeChild(b)},canHydrateInstance:function(a,b){return a.nodeType===Dj&&b===a.nodeName.toLowerCase()},canHydrateTextInstance:function(a,b){return\"\"===b?!1:a.nodeType===Ej},getNextHydratableSibling:function(a){for(a=a.nextSibling;a&&a.nodeType!==Dj&&a.nodeType!==Ej;)a=a.nextSibling;return a},getFirstHydratableChild:function(a){for(a=\na.firstChild;a&&a.nodeType!==Dj&&a.nodeType!==Ej;)a=a.nextSibling;return a},hydrateInstance:function(a,b,c,d,e,f){Vj(f,a);Wj(a,c);return Pj(a,b,c,e,d)},hydrateTextInstance:function(a,b,c){Vj(c,a);return Qj(a,b)},didNotHydrateInstance:function(a,b){1===b.nodeType?Rj(a,b):Sj(a,b)},didNotFindHydratableInstance:function(a,b,c){Tj(a,b,c)},didNotFindHydratableTextInstance:function(a,b){Uj(a,b)},scheduleDeferredCallback:dd.rIC,useSyncScheduling:!0});sb.injection.injectFiberBatchedUpdates(Xj.batchedUpdates);\nfunction ck(a,b,c,d,e){ak(c)?void 0:w(\"200\");var f=c._reactRootContainer;if(f)Xj.updateContainer(b,f,a,e);else{if(!d&&!bk(c))for(d=void 0;d=c.lastChild;)c.removeChild(d);var g=Xj.createContainer(c);f=c._reactRootContainer=g;Xj.unbatchedUpdates(function(){Xj.updateContainer(b,g,a,e)})}return Xj.getPublicRootInstance(f)}function dk(a,b){var c=2 {\n if (!node.children[str[0]]) {\n node.children[str[0]] = new PrefixTreeNode(str[0]);\n }\n \n if (str.length === 1) {\n node.children[str[0]].endWord = 1; //set the end word, even if a longer word exists already\n } else if (str.length > 1) {\n addWordHelper(node.children[str[0]], str.slice(1));\n }\n };\n addWordHelper(this, word);\n }\n }\n \n export default PrefixTree;\n \n\n\n// WEBPACK FOOTER //\n// ./src/prefixTrie.js","import Guid from \"guid\";\n\n//react-d3-tree requires a tree in this format. PrefixTrie.js is a little different.\nexport default class D3CompatibleTree {\n constructor(prefixTrie) {\n const mapNode = (node, parentNode) => {\n var newObj = { name: node.value, attributes: {}, guid: Guid.raw() };\n if (node.endWord === 1) newObj.attributes.endWord = true;\n\n var childrenArray = Object.keys(node.children).filter(function(key) {\n return key !== \"endWord\" || key !== \"value\" || key !== \"children\";\n });\n if (childrenArray.length > 0) {\n newObj.children = childrenArray.map(function(key, index) {\n return mapNode(node.children[key], newObj);\n });\n }\n\n return newObj;\n };\n\n var treeForReactD3Tree = mapNode(prefixTrie, null);\n this.name = treeForReactD3Tree.name;\n this.attributes = treeForReactD3Tree.attributes;\n this.guid = treeForReactD3Tree.guid;\n this.children = treeForReactD3Tree.children;\n }\n\n getPriorNodes(node) {\n var correctPriorNodesForCurrentNode;\n const traverse = (n, priorNodes) => {\n if (n.guid === node.guid) {\n correctPriorNodesForCurrentNode = priorNodes;\n return;\n }\n\n if (n.name && n.name !== null) priorNodes.push(n);\n\n if (n.children) {\n n.children.forEach(function(cn) {\n traverse(cn, priorNodes.slice()); //use slice to copy to a new array, this is required for seperate/distinct prior node paths and this method to work correctly\n });\n }\n };\n\n traverse(this, []);\n return correctPriorNodesForCurrentNode;\n }\n\n getFollowingNodePaths(node) {\n var nodePaths = [];\n const traverse = (n, nodesOnThisPath) => {\n if (!n || !n.name || n.name === null) return;\n\n nodesOnThisPath.push(n);\n\n if (n.attributes && n.attributes.endWord) {\n nodePaths.push(nodesOnThisPath);\n nodesOnThisPath = nodesOnThisPath.slice(); //copy to new array, to not mutate the previous word found (one already pushed)\n }\n\n if (n.children) {\n n.children.forEach(function(cn) {\n traverse(cn, nodesOnThisPath.slice());\n });\n }\n };\n\n traverse(node, []);\n return nodePaths;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/prefixTrieForReactD3.js","(function () {\n var validator = new RegExp(\"^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$\", \"i\");\n\n function gen(count) {\n var out = \"\";\n for (var i=0; i=0&&g.splice(t,1)}function s(e){var t=document.createElement(\"style\");return e.attrs.type=\"text/css\",l(t,e.attrs),a(e,t),t}function u(e){var t=document.createElement(\"link\");return e.attrs.type=\"text/css\",e.attrs.rel=\"stylesheet\",l(t,e.attrs),a(e,t),t}function l(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function c(e,t){var n,r,o,a;if(t.transform&&e.css){if(!(a=t.transform(e.css)))return function(){};e.css=a}if(t.singleton){var l=m++;n=v||(v=s(t)),r=f.bind(null,n,l,!1),o=f.bind(null,n,l,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=u(t),r=p.bind(null,n,t),o=function(){i(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=d.bind(null,n),o=function(){i(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}function f(e,t,n,r){var o=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=k(t,o);else{var a=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function d(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute(\"media\",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function p(e,t,n){var r=n.css,o=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||a)&&(r=x(r)),o&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var i=new Blob([r],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(i),s&&URL.revokeObjectURL(s)}var h={},y=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),b=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e.call(this,n)),t[n]}}(function(e){return document.querySelector(e)}),v=null,m=0,g=[],x=n(14);e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");t=t||{},t.attrs=\"object\"==typeof t.attrs?t.attrs:{},void 0===t.singleton&&(t.singleton=y()),void 0===t.insertInto&&(t.insertInto=\"head\"),void 0===t.insertAt&&(t.insertAt=\"bottom\");var n=o(e,t);return r(n,t),function(e){for(var a=[],i=0;i=t})}},{key:\"bindZoomListener\",value:function(e){var t=e.zoomable,n=e.scaleExtent,r=e.translate,o=(0,h.select)(\".rd3t-svg\"),a=(0,h.select)(\".rd3t-g\");t&&o.call(h.behavior.zoom().scaleExtent([n.min,n.max]).on(\"zoom\",function(){a.attr(\"transform\",\"translate(\"+h.event.translate+\") scale(\"+h.event.scale+\")\")}).translate([r.x,r.y]))}},{key:\"assignInternalProperties\",value:function(e){var t=this;return e.map(function(e){return e.id=x.default.v4(),e._collapsed=!1,e.children&&e.children.length>0&&(e.children=t.assignInternalProperties(e.children),e._children=e.children),e})}},{key:\"findNodesById\",value:function(e,t,n){var r=this;return n.length>0?n:(n=n.concat(t.filter(function(t){return t.id===e})),t.forEach(function(t){return t._children&&t._children.length>0?n=r.findNodesById(e,t._children,n):n}),n)}},{key:\"collapseNode\",value:function(e){var t=this;e._collapsed=!0,e._children&&e._children.length>0&&e._children.forEach(function(e){t.collapseNode(e)})}},{key:\"expandNode\",value:function(e){e._collapsed=!1}},{key:\"handleNodeToggle\",value:function(e){var t=this,n=(0,b.default)(this.state.data),r=this.findNodesById(e,n,[]),o=r[0];this.props.collapsible?(o._collapsed?this.expandNode(o):this.collapseNode(o),this.setState({data:n},function(){return t.handleOnClickCb(o)})):this.handleOnClickCb(o)}},{key:\"handleOnClickCb\",value:function(e){var t=this.props.onClick;t&&\"function\"==typeof t&&t((0,b.default)(e))}},{key:\"generateTree\",value:function(){var e=this.props,t=e.initialDepth,n=e.depthFactor,r=e.separation,o=e.nodeSize,a=e.orientation,i=h.layout.tree().nodeSize(\"horizontal\"===a?[o.y,o.x]:[o.x,o.y]).separation(function(e,t){return(0,m.default)(e.parent,t.parent)?r.siblings:r.nonSiblings}).children(function(e){return e._collapsed?null:e._children}),s=this.state.data[0],u=i.nodes(s),l=i.links(u);return void 0!==t&&this.state.initialRender&&this.setInitialTreeDepth(u,t),n&&u.forEach(function(e){e.y=e.depth*n}),{nodes:u,links:l}}},{key:\"render\",value:function(){var e=this,t=this.generateTree(),n=t.nodes,r=t.links,o=this.props,a=o.nodeSvgShape,i=o.orientation,u=o.translate,l=o.pathFunc,f=o.transitionDuration,d=o.zoomable,h=o.textLayout,y=o.nodeSize,b=o.depthFactor,v=o.initialDepth,m=o.separation,g=o.circleRadius,k=o.styles,_=s({},y,m,{depthFactor:b,initialDepth:v});return c.default.createElement(\"div\",{className:\"rd3t-tree-container \"+(d?\"rd3t-grabbable\":void 0)},c.default.createElement(\"svg\",{className:\"rd3t-svg\",width:\"100%\",height:\"100%\"},c.default.createElement(p.TransitionGroup,{component:\"g\",className:\"rd3t-g\",transform:\"translate(\"+u.x+\",\"+u.y+\")\"},r.map(function(e){return c.default.createElement(w.default,{key:x.default.v4(),orientation:i,pathFunc:l,linkData:e,transitionDuration:f,styles:k.links})}),n.map(function(t){return c.default.createElement(O.default,{key:t.id,nodeSvgShape:a,orientation:i,transitionDuration:f,nodeData:t,name:t.name,attributes:t.attributes,onClick:e.handleNodeToggle,textLayout:h,circleRadius:g,subscriptions:_,styles:k.nodes})}))))}}]),t}(c.default.Component);t.default=j,j.defaultProps={nodeSvgShape:{shape:\"circle\",shapeProps:{r:10}},onClick:void 0,orientation:\"horizontal\",translate:{x:0,y:0},pathFunc:\"diagonal\",transitionDuration:500,depthFactor:void 0,collapsible:!0,initialDepth:void 0,zoomable:!0,scaleExtent:{min:.1,max:1},nodeSize:{x:140,y:140},separation:{siblings:1,nonSiblings:2},textLayout:{textAnchor:\"start\",x:10,y:-10},circleRadius:void 0,styles:{}},j.propTypes={data:d.default.array.isRequired,nodeSvgShape:d.default.shape({shape:d.default.string,shapeProps:d.default.object}),onClick:d.default.func,orientation:d.default.oneOf([\"horizontal\",\"vertical\"]),translate:d.default.shape({x:d.default.number,y:d.default.number}),pathFunc:d.default.oneOfType([d.default.oneOf([\"diagonal\",\"elbow\",\"straight\"]),d.default.func]),transitionDuration:d.default.number,depthFactor:d.default.number,collapsible:d.default.bool,initialDepth:d.default.number,zoomable:d.default.bool,scaleExtent:d.default.shape({min:d.default.number,max:d.default.number}),nodeSize:d.default.shape({x:d.default.number,y:d.default.number}),separation:d.default.shape({siblings:d.default.number,nonSiblings:d.default.number}),textLayout:d.default.object,circleRadius:d.default.number,styles:d.default.shape({nodes:d.default.object,links:d.default.object})},e.exports=t.default},function(e,t){e.exports=o},function(e,t){e.exports=a},function(e,t){e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function i(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){};0===t?((0,y.select)(this.node).attr(\"transform\",e).style(\"opacity\",n),r()):(0,y.select)(this.node).transition().duration(t).attr(\"transform\",e).style(\"opacity\",n).each(\"end\",r)}},{key:\"handleClick\",value:function(){this.props.onClick(this.props.nodeData.id)}},{key:\"componentWillLeave\",value:function(e){var t=this.props,n=t.nodeData.parent,r=t.orientation,o=t.transitionDuration,a=n?n.x:0,i=n?n.y:0,s=this.setTransformOrientation(a,i,r);this.applyTransform(s,o,0,e)}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.nodeData,r=t.nodeSvgShape,o=t.textLayout,a=t.styles,i=n._children?s({},a.node):s({},a.leafNode);return c.default.createElement(\"g\",{id:n.id,ref:function(t){e.node=t},style:this.state.initialStyle,className:n._children?\"nodeBase\":\"leafNodeBase\",transform:this.state.transform,onClick:this.handleClick},this.props.circleRadius?c.default.createElement(\"circle\",{r:this.props.circleRadius,style:i.circle}):c.default.createElement(r.shape,s({},r.shapeProps,i.circle)),c.default.createElement(\"text\",{className:\"nodeNameBase\",style:i.name,textAnchor:o.textAnchor,x:o.x,y:o.y,dy:\".35em\"},this.props.name),c.default.createElement(\"text\",{className:\"nodeAttributesBase\",y:o.y+10,textAnchor:o.textAnchor,style:i.attributes},this.props.attributes&&Object.keys(this.props.attributes).map(function(t){return c.default.createElement(\"tspan\",{x:o.x,dy:\"1.2em\",key:h.default.v4()},t,\": \",e.props.attributes[t])})))}}]),t}(c.default.Component);t.default=b,b.defaultProps={textAnchor:\"start\",attributes:void 0,circleRadius:void 0,styles:{node:{circle:{},name:{},attributes:{}},leafNode:{circle:{},name:{},attributes:{}}}},b.propTypes={nodeData:d.default.object.isRequired,nodeSvgShape:d.default.object.isRequired,orientation:d.default.oneOf([\"horizontal\",\"vertical\"]).isRequired,transitionDuration:d.default.number.isRequired,onClick:d.default.func.isRequired,name:d.default.string.isRequired,attributes:d.default.object,textLayout:d.default.object.isRequired,subscriptions:d.default.object.isRequired,circleRadius:d.default.number,styles:d.default.object},e.exports=t.default},function(e,t,n){var r=n(13);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={};o.transform=void 0;n(5)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(4)(void 0),t.push([e.i,\".nodeBase {\\n cursor: pointer;\\n fill: #777;\\n stroke: #000;\\n stroke-width: 2;\\n}\\n\\n.leafNodeBase {\\n cursor: pointer;\\n fill: transparent;\\n stroke: #000;\\n stroke-width: 2;\\n}\\n\\n.nodeNameBase {\\n fill: #000;\\n stroke: #000;\\n stroke-width: 1;\\n}\\n\\n.nodeAttributesBase {\\n fill: #777;\\n stroke: #777;\\n stroke-width: 1;\\n font-size: smaller;\\n}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,r=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,function(e,t){var o=t.trim().replace(/^\"(.*)\"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});if(/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(o))return e;var a;return a=0===o.indexOf(\"//\")?o:0===o.indexOf(\"/\")?n+o:r+o.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(a)+\")\"})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function i(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:function(){};0===t?((0,p.select)(this.link).style(\"opacity\",e),n()):(0,p.select)(this.link).transition().duration(t).style(\"opacity\",e).each(\"end\",n)}},{key:\"diagonalPath\",value:function(e,t){return p.svg.diagonal().projection(function(e){return\"horizontal\"===t?[e.y,e.x]:[e.x,e.y]})(e)}},{key:\"straightPath\",value:function(e,t){var n=p.svg.line().interpolate(\"basis\").x(function(e){return e.x}).y(function(e){return e.y}),r=[{x:e.source.x,y:e.source.y},{x:e.target.x,y:e.target.y}];return\"horizontal\"===t&&(r=[{x:e.source.y,y:e.source.x},{x:e.target.y,y:e.target.x}]),n(r)}},{key:\"elbowPath\",value:function(e,t){return\"horizontal\"===t?\"M\"+e.source.y+\",\"+e.source.x+\"V\"+e.target.x+\"H\"+e.target.y:\"M\"+e.source.x+\",\"+e.source.y+\"V\"+e.target.y+\"H\"+e.target.x}},{key:\"drawPath\",value:function(){var e=this.props,t=e.linkData,n=e.orientation,r=e.pathFunc;return\"function\"==typeof r?r(t,n):\"elbow\"===r?this.elbowPath(t,n):\"straight\"===r?this.straightPath(t,n):this.diagonalPath(t,n)}},{key:\"render\",value:function(){var e=this,t=this.props.styles;return c.default.createElement(\"path\",{ref:function(t){e.link=t},style:s({},this.state.initialStyle,t),className:\"linkBase\",d:this.drawPath()})}}]),t}(c.default.PureComponent);t.default=h,h.defaultProps={styles:{}},h.propTypes={linkData:d.default.object.isRequired,orientation:d.default.oneOf([\"horizontal\",\"vertical\"]).isRequired,pathFunc:d.default.oneOfType([d.default.oneOf([\"diagonal\",\"elbow\",\"straight\"]),d.default.func]).isRequired,transitionDuration:d.default.number.isRequired,styles:d.default.object},e.exports=t.default},function(e,t,n){var r=n(17);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={};o.transform=void 0;n(5)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(4)(void 0),t.push([e.i,\".linkBase {\\n fill: none;\\n stroke: #000;\\n}\",\"\"])},function(e,t,n){var r=n(19);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={};o.transform=void 0;n(5)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(4)(void 0),t.push([e.i,\".rd3t-tree-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.rd3t-grabbable {\\n cursor: move; /* fallback if grab cursor is unsupported */\\n cursor: grab;\\n cursor: -moz-grab;\\n cursor: -webkit-grab;\\n}\\n.rd3t-grabbable:active {\\n cursor: grabbing;\\n cursor: -moz-grabbing;\\n cursor: -webkit-grabbing;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";function r(e,t){var n={},r=function(e){return n[e]||(n[e]={name:e}),n[e]},o=function(e,t){return n[e]||(n[e]={name:e,attributes:t}),n[e]};return e.forEach(function(e){if(t){var n={};t.forEach(function(t){n[t]=e[t]}),e.attributes=n}e.source=r(e.parent),e.target=o(e.child,e.attributes);var a=e.source,i=e.target;a.id=c.default.v4(),i.id=c.default.v4(),i.parent=a.name||null,a._collapsed=i._collapsed=!1,a._children?a._children.push(i):a._children=[i]}),[e.filter(function(e){return!e.source.parent})[0].source]}function o(e,t){return new Promise(function(n,o){try{(0,u.csv)(e,function(e){return n(r(e,t))})}catch(e){o(e)}})}function a(e){return new Promise(function(t,n){try{(0,u.json)(e,function(e){return t([e])})}catch(e){n(e)}})}function i(e,t){return new Promise(function(n,o){try{(0,u.json)(e,function(e){return n(r(e,t))})}catch(e){o(e)}})}function s(e){return r(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=n(0),l=n(3),c=function(e){return e&&e.__esModule?e:{default:e}}(l);t.default={parseCSV:o,parseJSON:a,parseFlatJSON:i,generateHierarchy:s},e.exports=t.default}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-d3-tree/lib/react-d3-tree.min.js\n// module id = 35\n// module chunks = 0","!function() {\n var d3 = {\n version: \"3.5.17\"\n };\n var d3_arraySlice = [].slice, d3_array = function(list) {\n return d3_arraySlice.call(list);\n };\n var d3_document = this.document;\n function d3_documentElement(node) {\n return node && (node.ownerDocument || node.document || node).documentElement;\n }\n function d3_window(node) {\n return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView);\n }\n if (d3_document) {\n try {\n d3_array(d3_document.documentElement.childNodes)[0].nodeType;\n } catch (e) {\n d3_array = function(list) {\n var i = list.length, array = new Array(i);\n while (i--) array[i] = list[i];\n return array;\n };\n }\n }\n if (!Date.now) Date.now = function() {\n return +new Date();\n };\n if (d3_document) {\n try {\n d3_document.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n } catch (error) {\n var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;\n d3_element_prototype.setAttribute = function(name, value) {\n d3_element_setAttribute.call(this, name, value + \"\");\n };\n d3_element_prototype.setAttributeNS = function(space, local, value) {\n d3_element_setAttributeNS.call(this, space, local, value + \"\");\n };\n d3_style_prototype.setProperty = function(name, value, priority) {\n d3_style_setProperty.call(this, name, value + \"\", priority);\n };\n }\n }\n d3.ascending = d3_ascending;\n function d3_ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n }\n d3.descending = function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n };\n d3.min = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && a > b) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;\n }\n return a;\n };\n d3.max = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && b > a) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;\n }\n return a;\n };\n d3.extent = function(array, f) {\n var i = -1, n = array.length, a, b, c;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n }\n return [ a, c ];\n };\n function d3_number(x) {\n return x === null ? NaN : +x;\n }\n function d3_numeric(x) {\n return !isNaN(x);\n }\n d3.sum = function(array, f) {\n var s = 0, n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = +array[i])) s += a;\n } else {\n while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;\n }\n return s;\n };\n d3.mean = function(array, f) {\n var s = 0, n = array.length, a, i = -1, j = n;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;\n }\n if (j) return s / j;\n };\n d3.quantile = function(values, p) {\n var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;\n return e ? v + e * (values[h] - v) : v;\n };\n d3.median = function(array, f) {\n var numbers = [], n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);\n }\n if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);\n };\n d3.variance = function(array, f) {\n var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0;\n if (arguments.length === 1) {\n while (++i < n) {\n if (d3_numeric(a = d3_number(array[i]))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n } else {\n while (++i < n) {\n if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n }\n if (j > 1) return s / (j - 1);\n };\n d3.deviation = function() {\n var v = d3.variance.apply(this, arguments);\n return v ? Math.sqrt(v) : v;\n };\n function d3_bisector(compare) {\n return {\n left: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;\n }\n return lo;\n }\n };\n }\n var d3_bisect = d3_bisector(d3_ascending);\n d3.bisectLeft = d3_bisect.left;\n d3.bisect = d3.bisectRight = d3_bisect.right;\n d3.bisector = function(f) {\n return d3_bisector(f.length === 1 ? function(d, x) {\n return d3_ascending(f(d), x);\n } : f);\n };\n d3.shuffle = function(array, i0, i1) {\n if ((m = arguments.length) < 3) {\n i1 = array.length;\n if (m < 2) i0 = 0;\n }\n var m = i1 - i0, t, i;\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;\n }\n return array;\n };\n d3.permute = function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n };\n d3.pairs = function(array) {\n var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ];\n return pairs;\n };\n d3.transpose = function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = d3.min(matrix, d3_transposeLength), transpose = new Array(m); ++i < m; ) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n; ) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n };\n function d3_transposeLength(d) {\n return d.length;\n }\n d3.zip = function() {\n return d3.transpose(arguments);\n };\n d3.keys = function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n };\n d3.values = function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n };\n d3.entries = function(map) {\n var entries = [];\n for (var key in map) entries.push({\n key: key,\n value: map[key]\n });\n return entries;\n };\n d3.merge = function(arrays) {\n var n = arrays.length, m, i = -1, j = 0, merged, array;\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n return merged;\n };\n var abs = Math.abs;\n d3.range = function(start, stop, step) {\n if (arguments.length < 3) {\n step = 1;\n if (arguments.length < 2) {\n stop = start;\n start = 0;\n }\n }\n if ((stop - start) / step === Infinity) throw new Error(\"infinite range\");\n var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;\n start *= k, stop *= k, step *= k;\n if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);\n return range;\n };\n function d3_range_integerScale(x) {\n var k = 1;\n while (x * k % 1) k *= 10;\n return k;\n }\n function d3_class(ctor, properties) {\n for (var key in properties) {\n Object.defineProperty(ctor.prototype, key, {\n value: properties[key],\n enumerable: false\n });\n }\n }\n d3.map = function(object, f) {\n var map = new d3_Map();\n if (object instanceof d3_Map) {\n object.forEach(function(key, value) {\n map.set(key, value);\n });\n } else if (Array.isArray(object)) {\n var i = -1, n = object.length, o;\n if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o);\n } else {\n for (var key in object) map.set(key, object[key]);\n }\n return map;\n };\n function d3_Map() {\n this._ = Object.create(null);\n }\n var d3_map_proto = \"__proto__\", d3_map_zero = \"\\x00\";\n d3_class(d3_Map, {\n has: d3_map_has,\n get: function(key) {\n return this._[d3_map_escape(key)];\n },\n set: function(key, value) {\n return this._[d3_map_escape(key)] = value;\n },\n remove: d3_map_remove,\n keys: d3_map_keys,\n values: function() {\n var values = [];\n for (var key in this._) values.push(this._[key]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var key in this._) entries.push({\n key: d3_map_unescape(key),\n value: this._[key]\n });\n return entries;\n },\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);\n }\n });\n function d3_map_escape(key) {\n return (key += \"\") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;\n }\n function d3_map_unescape(key) {\n return (key += \"\")[0] === d3_map_zero ? key.slice(1) : key;\n }\n function d3_map_has(key) {\n return d3_map_escape(key) in this._;\n }\n function d3_map_remove(key) {\n return (key = d3_map_escape(key)) in this._ && delete this._[key];\n }\n function d3_map_keys() {\n var keys = [];\n for (var key in this._) keys.push(d3_map_unescape(key));\n return keys;\n }\n function d3_map_size() {\n var size = 0;\n for (var key in this._) ++size;\n return size;\n }\n function d3_map_empty() {\n for (var key in this._) return false;\n return true;\n }\n d3.nest = function() {\n var nest = {}, keys = [], sortKeys = [], sortValues, rollup;\n function map(mapType, array, depth) {\n if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;\n var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(object = array[i]))) {\n values.push(object);\n } else {\n valuesByKey.set(keyValue, [ object ]);\n }\n }\n if (mapType) {\n object = mapType();\n setter = function(keyValue, values) {\n object.set(keyValue, map(mapType, values, depth));\n };\n } else {\n object = {};\n setter = function(keyValue, values) {\n object[keyValue] = map(mapType, values, depth);\n };\n }\n valuesByKey.forEach(setter);\n return object;\n }\n function entries(map, depth) {\n if (depth >= keys.length) return map;\n var array = [], sortKey = sortKeys[depth++];\n map.forEach(function(key, keyMap) {\n array.push({\n key: key,\n values: entries(keyMap, depth)\n });\n });\n return sortKey ? array.sort(function(a, b) {\n return sortKey(a.key, b.key);\n }) : array;\n }\n nest.map = function(array, mapType) {\n return map(mapType, array, 0);\n };\n nest.entries = function(array) {\n return entries(map(d3.map, array, 0), 0);\n };\n nest.key = function(d) {\n keys.push(d);\n return nest;\n };\n nest.sortKeys = function(order) {\n sortKeys[keys.length - 1] = order;\n return nest;\n };\n nest.sortValues = function(order) {\n sortValues = order;\n return nest;\n };\n nest.rollup = function(f) {\n rollup = f;\n return nest;\n };\n return nest;\n };\n d3.set = function(array) {\n var set = new d3_Set();\n if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);\n return set;\n };\n function d3_Set() {\n this._ = Object.create(null);\n }\n d3_class(d3_Set, {\n has: d3_map_has,\n add: function(key) {\n this._[d3_map_escape(key += \"\")] = true;\n return key;\n },\n remove: d3_map_remove,\n values: d3_map_keys,\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key));\n }\n });\n d3.behavior = {};\n function d3_identity(d) {\n return d;\n }\n d3.rebind = function(target, source) {\n var i = 1, n = arguments.length, method;\n while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);\n return target;\n };\n function d3_rebind(target, source, method) {\n return function() {\n var value = method.apply(source, arguments);\n return value === source ? target : value;\n };\n }\n function d3_vendorSymbol(object, name) {\n if (name in object) return name;\n name = name.charAt(0).toUpperCase() + name.slice(1);\n for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {\n var prefixName = d3_vendorPrefixes[i] + name;\n if (prefixName in object) return prefixName;\n }\n }\n var d3_vendorPrefixes = [ \"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\" ];\n function d3_noop() {}\n d3.dispatch = function() {\n var dispatch = new d3_dispatch(), i = -1, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n return dispatch;\n };\n function d3_dispatch() {}\n d3_dispatch.prototype.on = function(type, listener) {\n var i = type.indexOf(\".\"), name = \"\";\n if (i >= 0) {\n name = type.slice(i + 1);\n type = type.slice(0, i);\n }\n if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);\n if (arguments.length === 2) {\n if (listener == null) for (type in this) {\n if (this.hasOwnProperty(type)) this[type].on(name, null);\n }\n return this;\n }\n };\n function d3_dispatch_event(dispatch) {\n var listeners = [], listenerByName = new d3_Map();\n function event() {\n var z = listeners, i = -1, n = z.length, l;\n while (++i < n) if (l = z[i].on) l.apply(this, arguments);\n return dispatch;\n }\n event.on = function(name, listener) {\n var l = listenerByName.get(name), i;\n if (arguments.length < 2) return l && l.on;\n if (l) {\n l.on = null;\n listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));\n listenerByName.remove(name);\n }\n if (listener) listeners.push(listenerByName.set(name, {\n on: listener\n }));\n return dispatch;\n };\n return event;\n }\n d3.event = null;\n function d3_eventPreventDefault() {\n d3.event.preventDefault();\n }\n function d3_eventSource() {\n var e = d3.event, s;\n while (s = e.sourceEvent) e = s;\n return e;\n }\n function d3_eventDispatch(target) {\n var dispatch = new d3_dispatch(), i = 0, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n dispatch.of = function(thiz, argumentz) {\n return function(e1) {\n try {\n var e0 = e1.sourceEvent = d3.event;\n e1.target = target;\n d3.event = e1;\n dispatch[e1.type].apply(thiz, argumentz);\n } finally {\n d3.event = e0;\n }\n };\n };\n return dispatch;\n }\n d3.requote = function(s) {\n return s.replace(d3_requote_re, \"\\\\$&\");\n };\n var d3_requote_re = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n var d3_subclass = {}.__proto__ ? function(object, prototype) {\n object.__proto__ = prototype;\n } : function(object, prototype) {\n for (var property in prototype) object[property] = prototype[property];\n };\n function d3_selection(groups) {\n d3_subclass(groups, d3_selectionPrototype);\n return groups;\n }\n var d3_select = function(s, n) {\n return n.querySelector(s);\n }, d3_selectAll = function(s, n) {\n return n.querySelectorAll(s);\n }, d3_selectMatches = function(n, s) {\n var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, \"matchesSelector\")];\n d3_selectMatches = function(n, s) {\n return d3_selectMatcher.call(n, s);\n };\n return d3_selectMatches(n, s);\n };\n if (typeof Sizzle === \"function\") {\n d3_select = function(s, n) {\n return Sizzle(s, n)[0] || null;\n };\n d3_selectAll = Sizzle;\n d3_selectMatches = Sizzle.matchesSelector;\n }\n d3.selection = function() {\n return d3.select(d3_document.documentElement);\n };\n var d3_selectionPrototype = d3.selection.prototype = [];\n d3_selectionPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, group, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(subnode = selector.call(node, node.__data__, i, j));\n if (subnode && \"__data__\" in node) subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selector(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_select(selector, this);\n };\n }\n d3_selectionPrototype.selectAll = function(selector) {\n var subgroups = [], subgroup, node;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));\n subgroup.parentNode = node;\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selectorAll(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_selectAll(selector, this);\n };\n }\n var d3_nsXhtml = \"http://www.w3.org/1999/xhtml\";\n var d3_nsPrefix = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: d3_nsXhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n };\n d3.ns = {\n prefix: d3_nsPrefix,\n qualify: function(name) {\n var i = name.indexOf(\":\"), prefix = name;\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return d3_nsPrefix.hasOwnProperty(prefix) ? {\n space: d3_nsPrefix[prefix],\n local: name\n } : name;\n }\n };\n d3_selectionPrototype.attr = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node();\n name = d3.ns.qualify(name);\n return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);\n }\n for (value in name) this.each(d3_selection_attr(value, name[value]));\n return this;\n }\n return this.each(d3_selection_attr(name, value));\n };\n function d3_selection_attr(name, value) {\n name = d3.ns.qualify(name);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrConstant() {\n this.setAttribute(name, value);\n }\n function attrConstantNS() {\n this.setAttributeNS(name.space, name.local, value);\n }\n function attrFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);\n }\n function attrFunctionNS() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);\n }\n return value == null ? name.local ? attrNullNS : attrNull : typeof value === \"function\" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;\n }\n function d3_collapse(s) {\n return s.trim().replace(/\\s+/g, \" \");\n }\n d3_selectionPrototype.classed = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;\n if (value = node.classList) {\n while (++i < n) if (!value.contains(name[i])) return false;\n } else {\n value = node.getAttribute(\"class\");\n while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;\n }\n return true;\n }\n for (value in name) this.each(d3_selection_classed(value, name[value]));\n return this;\n }\n return this.each(d3_selection_classed(name, value));\n };\n function d3_selection_classedRe(name) {\n return new RegExp(\"(?:^|\\\\s+)\" + d3.requote(name) + \"(?:\\\\s+|$)\", \"g\");\n }\n function d3_selection_classes(name) {\n return (name + \"\").trim().split(/^|\\s+/);\n }\n function d3_selection_classed(name, value) {\n name = d3_selection_classes(name).map(d3_selection_classedName);\n var n = name.length;\n function classedConstant() {\n var i = -1;\n while (++i < n) name[i](this, value);\n }\n function classedFunction() {\n var i = -1, x = value.apply(this, arguments);\n while (++i < n) name[i](this, x);\n }\n return typeof value === \"function\" ? classedFunction : classedConstant;\n }\n function d3_selection_classedName(name) {\n var re = d3_selection_classedRe(name);\n return function(node, value) {\n if (c = node.classList) return value ? c.add(name) : c.remove(name);\n var c = node.getAttribute(\"class\") || \"\";\n if (value) {\n re.lastIndex = 0;\n if (!re.test(c)) node.setAttribute(\"class\", d3_collapse(c + \" \" + name));\n } else {\n node.setAttribute(\"class\", d3_collapse(c.replace(re, \" \")));\n }\n };\n }\n d3_selectionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.each(d3_selection_style(priority, name[priority], value));\n return this;\n }\n if (n < 2) {\n var node = this.node();\n return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);\n }\n priority = \"\";\n }\n return this.each(d3_selection_style(name, value, priority));\n };\n function d3_selection_style(name, value, priority) {\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleConstant() {\n this.style.setProperty(name, value, priority);\n }\n function styleFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);\n }\n return value == null ? styleNull : typeof value === \"function\" ? styleFunction : styleConstant;\n }\n d3_selectionPrototype.property = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") return this.node()[name];\n for (value in name) this.each(d3_selection_property(value, name[value]));\n return this;\n }\n return this.each(d3_selection_property(name, value));\n };\n function d3_selection_property(name, value) {\n function propertyNull() {\n delete this[name];\n }\n function propertyConstant() {\n this[name] = value;\n }\n function propertyFunction() {\n var x = value.apply(this, arguments);\n if (x == null) delete this[name]; else this[name] = x;\n }\n return value == null ? propertyNull : typeof value === \"function\" ? propertyFunction : propertyConstant;\n }\n d3_selectionPrototype.text = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n } : value == null ? function() {\n this.textContent = \"\";\n } : function() {\n this.textContent = value;\n }) : this.node().textContent;\n };\n d3_selectionPrototype.html = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n } : value == null ? function() {\n this.innerHTML = \"\";\n } : function() {\n this.innerHTML = value;\n }) : this.node().innerHTML;\n };\n d3_selectionPrototype.append = function(name) {\n name = d3_selection_creator(name);\n return this.select(function() {\n return this.appendChild(name.apply(this, arguments));\n });\n };\n function d3_selection_creator(name) {\n function create() {\n var document = this.ownerDocument, namespace = this.namespaceURI;\n return namespace === d3_nsXhtml && document.documentElement.namespaceURI === d3_nsXhtml ? document.createElement(name) : document.createElementNS(namespace, name);\n }\n function createNS() {\n return this.ownerDocument.createElementNS(name.space, name.local);\n }\n return typeof name === \"function\" ? name : (name = d3.ns.qualify(name)).local ? createNS : create;\n }\n d3_selectionPrototype.insert = function(name, before) {\n name = d3_selection_creator(name);\n before = d3_selection_selector(before);\n return this.select(function() {\n return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);\n });\n };\n d3_selectionPrototype.remove = function() {\n return this.each(d3_selectionRemove);\n };\n function d3_selectionRemove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n }\n d3_selectionPrototype.data = function(value, key) {\n var i = -1, n = this.length, group, node;\n if (!arguments.length) {\n value = new Array(n = (group = this[0]).length);\n while (++i < n) {\n if (node = group[i]) {\n value[i] = node.__data__;\n }\n }\n return value;\n }\n function bind(group, groupData) {\n var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;\n if (key) {\n var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;\n for (i = -1; ++i < n; ) {\n if (node = group[i]) {\n if (nodeByKeyValue.has(keyValue = key.call(node, node.__data__, i))) {\n exitNodes[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n keyValues[i] = keyValue;\n }\n }\n for (i = -1; ++i < m; ) {\n if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n } else if (node !== true) {\n updateNodes[i] = node;\n node.__data__ = nodeData;\n }\n nodeByKeyValue.set(keyValue, true);\n }\n for (i = -1; ++i < n; ) {\n if (i in keyValues && nodeByKeyValue.get(keyValues[i]) !== true) {\n exitNodes[i] = group[i];\n }\n }\n } else {\n for (i = -1; ++i < n0; ) {\n node = group[i];\n nodeData = groupData[i];\n if (node) {\n node.__data__ = nodeData;\n updateNodes[i] = node;\n } else {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n }\n }\n for (;i < m; ++i) {\n enterNodes[i] = d3_selection_dataNode(groupData[i]);\n }\n for (;i < n; ++i) {\n exitNodes[i] = group[i];\n }\n }\n enterNodes.update = updateNodes;\n enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;\n enter.push(enterNodes);\n update.push(updateNodes);\n exit.push(exitNodes);\n }\n var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);\n if (typeof value === \"function\") {\n while (++i < n) {\n bind(group = this[i], value.call(group, group.parentNode.__data__, i));\n }\n } else {\n while (++i < n) {\n bind(group = this[i], value);\n }\n }\n update.enter = function() {\n return enter;\n };\n update.exit = function() {\n return exit;\n };\n return update;\n };\n function d3_selection_dataNode(data) {\n return {\n __data__: data\n };\n }\n d3_selectionPrototype.datum = function(value) {\n return arguments.length ? this.property(\"__data__\", value) : this.property(\"__data__\");\n };\n d3_selectionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_filter(selector) {\n return function() {\n return d3_selectMatches(this, selector);\n };\n }\n d3_selectionPrototype.order = function() {\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n return this;\n };\n d3_selectionPrototype.sort = function(comparator) {\n comparator = d3_selection_sortComparator.apply(this, arguments);\n for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);\n return this.order();\n };\n function d3_selection_sortComparator(comparator) {\n if (!arguments.length) comparator = d3_ascending;\n return function(a, b) {\n return a && b ? comparator(a.__data__, b.__data__) : !a - !b;\n };\n }\n d3_selectionPrototype.each = function(callback) {\n return d3_selection_each(this, function(node, i, j) {\n callback.call(node, node.__data__, i, j);\n });\n };\n function d3_selection_each(groups, callback) {\n for (var j = 0, m = groups.length; j < m; j++) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {\n if (node = group[i]) callback(node, i, j);\n }\n }\n return groups;\n }\n d3_selectionPrototype.call = function(callback) {\n var args = d3_array(arguments);\n callback.apply(args[0] = this, args);\n return this;\n };\n d3_selectionPrototype.empty = function() {\n return !this.node();\n };\n d3_selectionPrototype.node = function() {\n for (var j = 0, m = this.length; j < m; j++) {\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n var node = group[i];\n if (node) return node;\n }\n }\n return null;\n };\n d3_selectionPrototype.size = function() {\n var n = 0;\n d3_selection_each(this, function() {\n ++n;\n });\n return n;\n };\n function d3_selection_enter(selection) {\n d3_subclass(selection, d3_selection_enterPrototype);\n return selection;\n }\n var d3_selection_enterPrototype = [];\n d3.selection.enter = d3_selection_enter;\n d3.selection.enter.prototype = d3_selection_enterPrototype;\n d3_selection_enterPrototype.append = d3_selectionPrototype.append;\n d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;\n d3_selection_enterPrototype.node = d3_selectionPrototype.node;\n d3_selection_enterPrototype.call = d3_selectionPrototype.call;\n d3_selection_enterPrototype.size = d3_selectionPrototype.size;\n d3_selection_enterPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, upgroup, group, node;\n for (var j = -1, m = this.length; ++j < m; ) {\n upgroup = (group = this[j]).update;\n subgroups.push(subgroup = []);\n subgroup.parentNode = group.parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));\n subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n d3_selection_enterPrototype.insert = function(name, before) {\n if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);\n return d3_selectionPrototype.insert.call(this, name, before);\n };\n function d3_selection_enterInsertBefore(enter) {\n var i0, j0;\n return function(d, i, j) {\n var group = enter[j].update, n = group.length, node;\n if (j != j0) j0 = j, i0 = 0;\n if (i >= i0) i0 = i + 1;\n while (!(node = group[i0]) && ++i0 < n) ;\n return node;\n };\n }\n d3.select = function(node) {\n var group;\n if (typeof node === \"string\") {\n group = [ d3_select(node, d3_document) ];\n group.parentNode = d3_document.documentElement;\n } else {\n group = [ node ];\n group.parentNode = d3_documentElement(node);\n }\n return d3_selection([ group ]);\n };\n d3.selectAll = function(nodes) {\n var group;\n if (typeof nodes === \"string\") {\n group = d3_array(d3_selectAll(nodes, d3_document));\n group.parentNode = d3_document.documentElement;\n } else {\n group = d3_array(nodes);\n group.parentNode = null;\n }\n return d3_selection([ group ]);\n };\n d3_selectionPrototype.on = function(type, listener, capture) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof type !== \"string\") {\n if (n < 2) listener = false;\n for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));\n return this;\n }\n if (n < 2) return (n = this.node()[\"__on\" + type]) && n._;\n capture = false;\n }\n return this.each(d3_selection_on(type, listener, capture));\n };\n function d3_selection_on(type, listener, capture) {\n var name = \"__on\" + type, i = type.indexOf(\".\"), wrap = d3_selection_onListener;\n if (i > 0) type = type.slice(0, i);\n var filter = d3_selection_onFilters.get(type);\n if (filter) type = filter, wrap = d3_selection_onFilter;\n function onRemove() {\n var l = this[name];\n if (l) {\n this.removeEventListener(type, l, l.$);\n delete this[name];\n }\n }\n function onAdd() {\n var l = wrap(listener, d3_array(arguments));\n onRemove.call(this);\n this.addEventListener(type, this[name] = l, l.$ = capture);\n l._ = listener;\n }\n function removeAll() {\n var re = new RegExp(\"^__on([^.]+)\" + d3.requote(type) + \"$\"), match;\n for (var name in this) {\n if (match = name.match(re)) {\n var l = this[name];\n this.removeEventListener(match[1], l, l.$);\n delete this[name];\n }\n }\n }\n return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;\n }\n var d3_selection_onFilters = d3.map({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\"\n });\n if (d3_document) {\n d3_selection_onFilters.forEach(function(k) {\n if (\"on\" + k in d3_document) d3_selection_onFilters.remove(k);\n });\n }\n function d3_selection_onListener(listener, argumentz) {\n return function(e) {\n var o = d3.event;\n d3.event = e;\n argumentz[0] = this.__data__;\n try {\n listener.apply(this, argumentz);\n } finally {\n d3.event = o;\n }\n };\n }\n function d3_selection_onFilter(listener, argumentz) {\n var l = d3_selection_onListener(listener, argumentz);\n return function(e) {\n var target = this, related = e.relatedTarget;\n if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {\n l.call(target, e);\n }\n };\n }\n var d3_event_dragSelect, d3_event_dragId = 0;\n function d3_event_dragSuppress(node) {\n var name = \".dragsuppress-\" + ++d3_event_dragId, click = \"click\" + name, w = d3.select(d3_window(node)).on(\"touchmove\" + name, d3_eventPreventDefault).on(\"dragstart\" + name, d3_eventPreventDefault).on(\"selectstart\" + name, d3_eventPreventDefault);\n if (d3_event_dragSelect == null) {\n d3_event_dragSelect = \"onselectstart\" in node ? false : d3_vendorSymbol(node.style, \"userSelect\");\n }\n if (d3_event_dragSelect) {\n var style = d3_documentElement(node).style, select = style[d3_event_dragSelect];\n style[d3_event_dragSelect] = \"none\";\n }\n return function(suppressClick) {\n w.on(name, null);\n if (d3_event_dragSelect) style[d3_event_dragSelect] = select;\n if (suppressClick) {\n var off = function() {\n w.on(click, null);\n };\n w.on(click, function() {\n d3_eventPreventDefault();\n off();\n }, true);\n setTimeout(off, 0);\n }\n };\n }\n d3.mouse = function(container) {\n return d3_mousePoint(container, d3_eventSource());\n };\n var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n function d3_mousePoint(container, e) {\n if (e.changedTouches) e = e.changedTouches[0];\n var svg = container.ownerSVGElement || container;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n if (d3_mouse_bug44083 < 0) {\n var window = d3_window(container);\n if (window.scrollX || window.scrollY) {\n svg = d3.select(\"body\").append(\"svg\").style({\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n border: \"none\"\n }, \"important\");\n var ctm = svg[0][0].getScreenCTM();\n d3_mouse_bug44083 = !(ctm.f || ctm.e);\n svg.remove();\n }\n }\n if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, \n point.y = e.clientY;\n point = point.matrixTransform(container.getScreenCTM().inverse());\n return [ point.x, point.y ];\n }\n var rect = container.getBoundingClientRect();\n return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];\n }\n d3.touch = function(container, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;\n if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return d3_mousePoint(container, touch);\n }\n }\n };\n d3.behavior.drag = function() {\n var event = d3_eventDispatch(drag, \"drag\", \"dragstart\", \"dragend\"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, \"mousemove\", \"mouseup\"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, \"touchmove\", \"touchend\");\n function drag() {\n this.on(\"mousedown.drag\", mousedown).on(\"touchstart.drag\", touchstart);\n }\n function dragstart(id, position, subject, move, end) {\n return function() {\n var that = this, target = d3.event.target.correspondingElement || d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = \".drag\" + (dragId == null ? \"\" : \"-\" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId);\n if (origin) {\n dragOffset = origin.apply(that, arguments);\n dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];\n } else {\n dragOffset = [ 0, 0 ];\n }\n dispatch({\n type: \"dragstart\"\n });\n function moved() {\n var position1 = position(parent, dragId), dx, dy;\n if (!position1) return;\n dx = position1[0] - position0[0];\n dy = position1[1] - position0[1];\n dragged |= dx | dy;\n position0 = position1;\n dispatch({\n type: \"drag\",\n x: position1[0] + dragOffset[0],\n y: position1[1] + dragOffset[1],\n dx: dx,\n dy: dy\n });\n }\n function ended() {\n if (!position(parent, dragId)) return;\n dragSubject.on(move + dragName, null).on(end + dragName, null);\n dragRestore(dragged);\n dispatch({\n type: \"dragend\"\n });\n }\n };\n }\n drag.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return drag;\n };\n return d3.rebind(drag, event, \"on\");\n };\n function d3_behavior_dragTouchId() {\n return d3.event.changedTouches[0].identifier;\n }\n d3.touches = function(container, touches) {\n if (arguments.length < 2) touches = d3_eventSource().touches;\n return touches ? d3_array(touches).map(function(touch) {\n var point = d3_mousePoint(container, touch);\n point.identifier = touch.identifier;\n return point;\n }) : [];\n };\n var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;\n function d3_sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function d3_cross2d(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n }\n function d3_acos(x) {\n return x > 1 ? 0 : x < -1 ? π : Math.acos(x);\n }\n function d3_asin(x) {\n return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);\n }\n function d3_sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n }\n function d3_cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n }\n function d3_tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n }\n function d3_haversin(x) {\n return (x = Math.sin(x / 2)) * x;\n }\n var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4;\n d3.interpolateZoom = function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;\n if (d2 < ε2) {\n S = Math.log(w1 / w0) / ρ;\n i = function(t) {\n return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * t * S) ];\n };\n } else {\n var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / ρ;\n i = function(t) {\n var s = t * S, coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));\n return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ];\n };\n }\n i.duration = S * 1e3;\n return i;\n };\n d3.behavior.zoom = function() {\n var view = {\n x: 0,\n y: 0,\n k: 1\n }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = \"mousedown.zoom\", mousemove = \"mousemove.zoom\", mouseup = \"mouseup.zoom\", mousewheelTimer, touchstart = \"touchstart.zoom\", touchtime, event = d3_eventDispatch(zoom, \"zoomstart\", \"zoom\", \"zoomend\"), x0, x1, y0, y1;\n if (!d3_behavior_zoomWheel) {\n d3_behavior_zoomWheel = \"onwheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);\n }, \"wheel\") : \"onmousewheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return d3.event.wheelDelta;\n }, \"mousewheel\") : (d3_behavior_zoomDelta = function() {\n return -d3.event.detail;\n }, \"MozMousePixelScroll\");\n }\n function zoom(g) {\n g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + \".zoom\", mousewheeled).on(\"dblclick.zoom\", dblclicked).on(touchstart, touchstarted);\n }\n zoom.event = function(g) {\n g.each(function() {\n var dispatch = event.of(this, arguments), view1 = view;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.zoom\", function() {\n view = this.__chart__ || {\n x: 0,\n y: 0,\n k: 1\n };\n zoomstarted(dispatch);\n }).tween(\"zoom:zoom\", function() {\n var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);\n return function(t) {\n var l = i(t), k = dx / l[2];\n this.__chart__ = view = {\n x: cx - l[0] * k,\n y: cy - l[1] * k,\n k: k\n };\n zoomed(dispatch);\n };\n }).each(\"interrupt.zoom\", function() {\n zoomended(dispatch);\n }).each(\"end.zoom\", function() {\n zoomended(dispatch);\n });\n } else {\n this.__chart__ = view;\n zoomstarted(dispatch);\n zoomed(dispatch);\n zoomended(dispatch);\n }\n });\n };\n zoom.translate = function(_) {\n if (!arguments.length) return [ view.x, view.y ];\n view = {\n x: +_[0],\n y: +_[1],\n k: view.k\n };\n rescale();\n return zoom;\n };\n zoom.scale = function(_) {\n if (!arguments.length) return view.k;\n view = {\n x: view.x,\n y: view.y,\n k: null\n };\n scaleTo(+_);\n rescale();\n return zoom;\n };\n zoom.scaleExtent = function(_) {\n if (!arguments.length) return scaleExtent;\n scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.center = function(_) {\n if (!arguments.length) return center;\n center = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.size = function(_) {\n if (!arguments.length) return size;\n size = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.duration = function(_) {\n if (!arguments.length) return duration;\n duration = +_;\n return zoom;\n };\n zoom.x = function(z) {\n if (!arguments.length) return x1;\n x1 = z;\n x0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n zoom.y = function(z) {\n if (!arguments.length) return y1;\n y1 = z;\n y0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n function location(p) {\n return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];\n }\n function point(l) {\n return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];\n }\n function scaleTo(s) {\n view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));\n }\n function translateTo(p, l) {\n l = point(l);\n view.x += p[0] - l[0];\n view.y += p[1] - l[1];\n }\n function zoomTo(that, p, l, k) {\n that.__chart__ = {\n x: view.x,\n y: view.y,\n k: view.k\n };\n scaleTo(Math.pow(2, k));\n translateTo(center0 = p, l);\n that = d3.select(that);\n if (duration > 0) that = that.transition().duration(duration);\n that.call(zoom.event);\n }\n function rescale() {\n if (x1) x1.domain(x0.range().map(function(x) {\n return (x - view.x) / view.k;\n }).map(x0.invert));\n if (y1) y1.domain(y0.range().map(function(y) {\n return (y - view.y) / view.k;\n }).map(y0.invert));\n }\n function zoomstarted(dispatch) {\n if (!zooming++) dispatch({\n type: \"zoomstart\"\n });\n }\n function zoomed(dispatch) {\n rescale();\n dispatch({\n type: \"zoom\",\n scale: view.k,\n translate: [ view.x, view.y ]\n });\n }\n function zoomended(dispatch) {\n if (!--zooming) dispatch({\n type: \"zoomend\"\n }), center0 = null;\n }\n function mousedowned() {\n var that = this, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that);\n d3_selection_interrupt.call(that);\n zoomstarted(dispatch);\n function moved() {\n dragged = 1;\n translateTo(d3.mouse(that), location0);\n zoomed(dispatch);\n }\n function ended() {\n subject.on(mousemove, null).on(mouseup, null);\n dragRestore(dragged);\n zoomended(dispatch);\n }\n }\n function touchstarted() {\n var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = \".zoom-\" + d3.event.changedTouches[0].identifier, touchmove = \"touchmove\" + zoomName, touchend = \"touchend\" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that);\n started();\n zoomstarted(dispatch);\n subject.on(mousedown, null).on(touchstart, started);\n function relocate() {\n var touches = d3.touches(that);\n scale0 = view.k;\n touches.forEach(function(t) {\n if (t.identifier in locations0) locations0[t.identifier] = location(t);\n });\n return touches;\n }\n function started() {\n var target = d3.event.target;\n d3.select(target).on(touchmove, moved).on(touchend, ended);\n targets.push(target);\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n locations0[changed[i].identifier] = null;\n }\n var touches = relocate(), now = Date.now();\n if (touches.length === 1) {\n if (now - touchtime < 500) {\n var p = touches[0];\n zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);\n d3_eventPreventDefault();\n }\n touchtime = now;\n } else if (touches.length > 1) {\n var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];\n distance0 = dx * dx + dy * dy;\n }\n }\n function moved() {\n var touches = d3.touches(that), p0, l0, p1, l1;\n d3_selection_interrupt.call(that);\n for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {\n p1 = touches[i];\n if (l1 = locations0[p1.identifier]) {\n if (l0) break;\n p0 = p1, l0 = l1;\n }\n }\n if (l1) {\n var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0);\n p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];\n l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];\n scaleTo(scale1 * scale0);\n }\n touchtime = null;\n translateTo(p0, l0);\n zoomed(dispatch);\n }\n function ended() {\n if (d3.event.touches.length) {\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n delete locations0[changed[i].identifier];\n }\n for (var identifier in locations0) {\n return void relocate();\n }\n }\n d3.selectAll(targets).on(zoomName, null);\n subject.on(mousedown, mousedowned).on(touchstart, touchstarted);\n dragRestore();\n zoomended(dispatch);\n }\n }\n function mousewheeled() {\n var dispatch = event.of(this, arguments);\n if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), \n translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);\n mousewheelTimer = setTimeout(function() {\n mousewheelTimer = null;\n zoomended(dispatch);\n }, 50);\n d3_eventPreventDefault();\n scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);\n translateTo(center0, translate0);\n zoomed(dispatch);\n }\n function dblclicked() {\n var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2;\n zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);\n }\n return d3.rebind(zoom, event, \"on\");\n };\n var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel;\n d3.color = d3_color;\n function d3_color() {}\n d3_color.prototype.toString = function() {\n return this.rgb() + \"\";\n };\n d3.hsl = d3_hsl;\n function d3_hsl(h, s, l) {\n return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse(\"\" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l);\n }\n var d3_hslPrototype = d3_hsl.prototype = new d3_color();\n d3_hslPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, this.l / k);\n };\n d3_hslPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, k * this.l);\n };\n d3_hslPrototype.rgb = function() {\n return d3_hsl_rgb(this.h, this.s, this.l);\n };\n function d3_hsl_rgb(h, s, l) {\n var m1, m2;\n h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;\n s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n m2 = l <= .5 ? l * (1 + s) : l + s - l * s;\n m1 = 2 * l - m2;\n function v(h) {\n if (h > 360) h -= 360; else if (h < 0) h += 360;\n if (h < 60) return m1 + (m2 - m1) * h / 60;\n if (h < 180) return m2;\n if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;\n return m1;\n }\n function vv(h) {\n return Math.round(v(h) * 255);\n }\n return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));\n }\n d3.hcl = d3_hcl;\n function d3_hcl(h, c, l) {\n return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l);\n }\n var d3_hclPrototype = d3_hcl.prototype = new d3_color();\n d3_hclPrototype.brighter = function(k) {\n return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.darker = function(k) {\n return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.rgb = function() {\n return d3_hcl_lab(this.h, this.c, this.l).rgb();\n };\n function d3_hcl_lab(h, c, l) {\n if (isNaN(h)) h = 0;\n if (isNaN(c)) c = 0;\n return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);\n }\n d3.lab = d3_lab;\n function d3_lab(l, a, b) {\n return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);\n }\n var d3_lab_K = 18;\n var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;\n var d3_labPrototype = d3_lab.prototype = new d3_color();\n d3_labPrototype.brighter = function(k) {\n return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.darker = function(k) {\n return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.rgb = function() {\n return d3_lab_rgb(this.l, this.a, this.b);\n };\n function d3_lab_rgb(l, a, b) {\n var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;\n x = d3_lab_xyz(x) * d3_lab_X;\n y = d3_lab_xyz(y) * d3_lab_Y;\n z = d3_lab_xyz(z) * d3_lab_Z;\n return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));\n }\n function d3_lab_hcl(l, a, b) {\n return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l);\n }\n function d3_lab_xyz(x) {\n return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;\n }\n function d3_xyz_lab(x) {\n return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;\n }\n function d3_xyz_rgb(r) {\n return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));\n }\n d3.rgb = d3_rgb;\n function d3_rgb(r, g, b) {\n return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse(\"\" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b);\n }\n function d3_rgbNumber(value) {\n return new d3_rgb(value >> 16, value >> 8 & 255, value & 255);\n }\n function d3_rgbString(value) {\n return d3_rgbNumber(value) + \"\";\n }\n var d3_rgbPrototype = d3_rgb.prototype = new d3_color();\n d3_rgbPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n var r = this.r, g = this.g, b = this.b, i = 30;\n if (!r && !g && !b) return new d3_rgb(i, i, i);\n if (r && r < i) r = i;\n if (g && g < i) g = i;\n if (b && b < i) b = i;\n return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));\n };\n d3_rgbPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_rgb(k * this.r, k * this.g, k * this.b);\n };\n d3_rgbPrototype.hsl = function() {\n return d3_rgb_hsl(this.r, this.g, this.b);\n };\n d3_rgbPrototype.toString = function() {\n return \"#\" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);\n };\n function d3_rgb_hex(v) {\n return v < 16 ? \"0\" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);\n }\n function d3_rgb_parse(format, rgb, hsl) {\n var r = 0, g = 0, b = 0, m1, m2, color;\n m1 = /([a-z]+)\\((.*)\\)/.exec(format = format.toLowerCase());\n if (m1) {\n m2 = m1[2].split(\",\");\n switch (m1[1]) {\n case \"hsl\":\n {\n return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);\n }\n\n case \"rgb\":\n {\n return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));\n }\n }\n }\n if (color = d3_rgb_names.get(format)) {\n return rgb(color.r, color.g, color.b);\n }\n if (format != null && format.charAt(0) === \"#\" && !isNaN(color = parseInt(format.slice(1), 16))) {\n if (format.length === 4) {\n r = (color & 3840) >> 4;\n r = r >> 4 | r;\n g = color & 240;\n g = g >> 4 | g;\n b = color & 15;\n b = b << 4 | b;\n } else if (format.length === 7) {\n r = (color & 16711680) >> 16;\n g = (color & 65280) >> 8;\n b = color & 255;\n }\n }\n return rgb(r, g, b);\n }\n function d3_rgb_hsl(r, g, b) {\n var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;\n if (d) {\n s = l < .5 ? d / (max + min) : d / (2 - max - min);\n if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;\n h *= 60;\n } else {\n h = NaN;\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new d3_hsl(h, s, l);\n }\n function d3_rgb_lab(r, g, b) {\n r = d3_rgb_xyz(r);\n g = d3_rgb_xyz(g);\n b = d3_rgb_xyz(b);\n var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);\n return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));\n }\n function d3_rgb_xyz(r) {\n return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);\n }\n function d3_rgb_parseNumber(c) {\n var f = parseFloat(c);\n return c.charAt(c.length - 1) === \"%\" ? Math.round(f * 2.55) : f;\n }\n var d3_rgb_names = d3.map({\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n });\n d3_rgb_names.forEach(function(key, value) {\n d3_rgb_names.set(key, d3_rgbNumber(value));\n });\n function d3_functor(v) {\n return typeof v === \"function\" ? v : function() {\n return v;\n };\n }\n d3.functor = d3_functor;\n d3.xhr = d3_xhrType(d3_identity);\n function d3_xhrType(response) {\n return function(url, mimeType, callback) {\n if (arguments.length === 2 && typeof mimeType === \"function\") callback = mimeType, \n mimeType = null;\n return d3_xhr(url, mimeType, response, callback);\n };\n }\n function d3_xhr(url, mimeType, response, callback) {\n var xhr = {}, dispatch = d3.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), headers = {}, request = new XMLHttpRequest(), responseType = null;\n if (this.XDomainRequest && !(\"withCredentials\" in request) && /^(http(s)?:)?\\/\\//.test(url)) request = new XDomainRequest();\n \"onload\" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {\n request.readyState > 3 && respond();\n };\n function respond() {\n var status = request.status, result;\n if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {\n try {\n result = response.call(xhr, request);\n } catch (e) {\n dispatch.error.call(xhr, e);\n return;\n }\n dispatch.load.call(xhr, result);\n } else {\n dispatch.error.call(xhr, request);\n }\n }\n request.onprogress = function(event) {\n var o = d3.event;\n d3.event = event;\n try {\n dispatch.progress.call(xhr, request);\n } finally {\n d3.event = o;\n }\n };\n xhr.header = function(name, value) {\n name = (name + \"\").toLowerCase();\n if (arguments.length < 2) return headers[name];\n if (value == null) delete headers[name]; else headers[name] = value + \"\";\n return xhr;\n };\n xhr.mimeType = function(value) {\n if (!arguments.length) return mimeType;\n mimeType = value == null ? null : value + \"\";\n return xhr;\n };\n xhr.responseType = function(value) {\n if (!arguments.length) return responseType;\n responseType = value;\n return xhr;\n };\n xhr.response = function(value) {\n response = value;\n return xhr;\n };\n [ \"get\", \"post\" ].forEach(function(method) {\n xhr[method] = function() {\n return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));\n };\n });\n xhr.send = function(method, data, callback) {\n if (arguments.length === 2 && typeof data === \"function\") callback = data, data = null;\n request.open(method, url, true);\n if (mimeType != null && !(\"accept\" in headers)) headers[\"accept\"] = mimeType + \",*/*\";\n if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);\n if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);\n if (responseType != null) request.responseType = responseType;\n if (callback != null) xhr.on(\"error\", callback).on(\"load\", function(request) {\n callback(null, request);\n });\n dispatch.beforesend.call(xhr, request);\n request.send(data == null ? null : data);\n return xhr;\n };\n xhr.abort = function() {\n request.abort();\n return xhr;\n };\n d3.rebind(xhr, dispatch, \"on\");\n return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));\n }\n function d3_xhr_fixCallback(callback) {\n return callback.length === 1 ? function(error, request) {\n callback(error == null ? request : null);\n } : callback;\n }\n function d3_xhrHasResponse(request) {\n var type = request.responseType;\n return type && type !== \"text\" ? request.response : request.responseText;\n }\n d3.dsv = function(delimiter, mimeType) {\n var reFormat = new RegExp('[\"' + delimiter + \"\\n]\"), delimiterCode = delimiter.charCodeAt(0);\n function dsv(url, row, callback) {\n if (arguments.length < 3) callback = row, row = null;\n var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);\n xhr.row = function(_) {\n return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;\n };\n return xhr;\n }\n function response(request) {\n return dsv.parse(request.responseText);\n }\n function typedResponse(f) {\n return function(request) {\n return dsv.parse(request.responseText, f);\n };\n }\n dsv.parse = function(text, f) {\n var o;\n return dsv.parseRows(text, function(row, i) {\n if (o) return o(row, i - 1);\n var a = new Function(\"d\", \"return {\" + row.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n o = f ? function(row, i) {\n return f(a(row), i);\n } : a;\n });\n };\n dsv.parseRows = function(text, f) {\n var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;\n function token() {\n if (I >= N) return EOF;\n if (eol) return eol = false, EOL;\n var j = I;\n if (text.charCodeAt(j) === 34) {\n var i = j;\n while (i++ < N) {\n if (text.charCodeAt(i) === 34) {\n if (text.charCodeAt(i + 1) !== 34) break;\n ++i;\n }\n }\n I = i + 2;\n var c = text.charCodeAt(i + 1);\n if (c === 13) {\n eol = true;\n if (text.charCodeAt(i + 2) === 10) ++I;\n } else if (c === 10) {\n eol = true;\n }\n return text.slice(j + 1, i).replace(/\"\"/g, '\"');\n }\n while (I < N) {\n var c = text.charCodeAt(I++), k = 1;\n if (c === 10) eol = true; else if (c === 13) {\n eol = true;\n if (text.charCodeAt(I) === 10) ++I, ++k;\n } else if (c !== delimiterCode) continue;\n return text.slice(j, I - k);\n }\n return text.slice(j);\n }\n while ((t = token()) !== EOF) {\n var a = [];\n while (t !== EOL && t !== EOF) {\n a.push(t);\n t = token();\n }\n if (f && (a = f(a, n++)) == null) continue;\n rows.push(a);\n }\n return rows;\n };\n dsv.format = function(rows) {\n if (Array.isArray(rows[0])) return dsv.formatRows(rows);\n var fieldSet = new d3_Set(), fields = [];\n rows.forEach(function(row) {\n for (var field in row) {\n if (!fieldSet.has(field)) {\n fields.push(fieldSet.add(field));\n }\n }\n });\n return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {\n return fields.map(function(field) {\n return formatValue(row[field]);\n }).join(delimiter);\n })).join(\"\\n\");\n };\n dsv.formatRows = function(rows) {\n return rows.map(formatRow).join(\"\\n\");\n };\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n function formatValue(text) {\n return reFormat.test(text) ? '\"' + text.replace(/\\\"/g, '\"\"') + '\"' : text;\n }\n return dsv;\n };\n d3.csv = d3.dsv(\",\", \"text/csv\");\n d3.tsv = d3.dsv(\"\t\", \"text/tab-separated-values\");\n var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_frame = this[d3_vendorSymbol(this, \"requestAnimationFrame\")] || function(callback) {\n setTimeout(callback, 17);\n };\n d3.timer = function() {\n d3_timer.apply(this, arguments);\n };\n function d3_timer(callback, delay, then) {\n var n = arguments.length;\n if (n < 2) delay = 0;\n if (n < 3) then = Date.now();\n var time = then + delay, timer = {\n c: callback,\n t: time,\n n: null\n };\n if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer;\n d3_timer_queueTail = timer;\n if (!d3_timer_interval) {\n d3_timer_timeout = clearTimeout(d3_timer_timeout);\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n return timer;\n }\n function d3_timer_step() {\n var now = d3_timer_mark(), delay = d3_timer_sweep() - now;\n if (delay > 24) {\n if (isFinite(delay)) {\n clearTimeout(d3_timer_timeout);\n d3_timer_timeout = setTimeout(d3_timer_step, delay);\n }\n d3_timer_interval = 0;\n } else {\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n }\n d3.timer.flush = function() {\n d3_timer_mark();\n d3_timer_sweep();\n };\n function d3_timer_mark() {\n var now = Date.now(), timer = d3_timer_queueHead;\n while (timer) {\n if (now >= timer.t && timer.c(now - timer.t)) timer.c = null;\n timer = timer.n;\n }\n return now;\n }\n function d3_timer_sweep() {\n var t0, t1 = d3_timer_queueHead, time = Infinity;\n while (t1) {\n if (t1.c) {\n if (t1.t < time) time = t1.t;\n t1 = (t0 = t1).n;\n } else {\n t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;\n }\n }\n d3_timer_queueTail = t0;\n return time;\n }\n function d3_format_precision(x, p) {\n return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);\n }\n d3.round = function(x, n) {\n return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n };\n var d3_formatPrefixes = [ \"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\" ].map(d3_formatPrefix);\n d3.formatPrefix = function(value, precision) {\n var i = 0;\n if (value = +value) {\n if (value < 0) value *= -1;\n if (precision) value = d3.round(value, d3_format_precision(value, precision));\n i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);\n i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));\n }\n return d3_formatPrefixes[8 + i / 3];\n };\n function d3_formatPrefix(d, i) {\n var k = Math.pow(10, abs(8 - i) * 3);\n return {\n scale: i > 8 ? function(d) {\n return d / k;\n } : function(d) {\n return d * k;\n },\n symbol: d\n };\n }\n function d3_locale_numberFormat(locale) {\n var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {\n var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = locale_grouping[j = (j + 1) % locale_grouping.length];\n }\n return t.reverse().join(locale_thousands);\n } : d3_identity;\n return function(specifier) {\n var match = d3_format_re.exec(specifier), fill = match[1] || \" \", align = match[2] || \">\", sign = match[3] || \"-\", symbol = match[4] || \"\", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = \"\", suffix = \"\", integer = false, exponent = true;\n if (precision) precision = +precision.substring(1);\n if (zfill || fill === \"0\" && align === \"=\") {\n zfill = fill = \"0\";\n align = \"=\";\n }\n switch (type) {\n case \"n\":\n comma = true;\n type = \"g\";\n break;\n\n case \"%\":\n scale = 100;\n suffix = \"%\";\n type = \"f\";\n break;\n\n case \"p\":\n scale = 100;\n suffix = \"%\";\n type = \"r\";\n break;\n\n case \"b\":\n case \"o\":\n case \"x\":\n case \"X\":\n if (symbol === \"#\") prefix = \"0\" + type.toLowerCase();\n\n case \"c\":\n exponent = false;\n\n case \"d\":\n integer = true;\n precision = 0;\n break;\n\n case \"s\":\n scale = -1;\n type = \"r\";\n break;\n }\n if (symbol === \"$\") prefix = locale_currency[0], suffix = locale_currency[1];\n if (type == \"r\" && !precision) type = \"g\";\n if (precision != null) {\n if (type == \"g\") precision = Math.max(1, Math.min(21, precision)); else if (type == \"e\" || type == \"f\") precision = Math.max(0, Math.min(20, precision));\n }\n type = d3_format_types.get(type) || d3_format_typeDefault;\n var zcomma = zfill && comma;\n return function(value) {\n var fullSuffix = suffix;\n if (integer && value % 1) return \"\";\n var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, \"-\") : sign === \"-\" ? \"\" : sign;\n if (scale < 0) {\n var unit = d3.formatPrefix(value, precision);\n value = unit.scale(value);\n fullSuffix = unit.symbol + suffix;\n } else {\n value *= scale;\n }\n value = type(value, precision);\n var i = value.lastIndexOf(\".\"), before, after;\n if (i < 0) {\n var j = exponent ? value.lastIndexOf(\"e\") : -1;\n if (j < 0) before = value, after = \"\"; else before = value.substring(0, j), after = value.substring(j);\n } else {\n before = value.substring(0, i);\n after = locale_decimal + value.substring(i + 1);\n }\n if (!zfill && comma) before = formatGroup(before, Infinity);\n var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : \"\";\n if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);\n negative += prefix;\n value = before + after;\n return (align === \"<\" ? negative + value + padding : align === \">\" ? padding + negative + value : align === \"^\" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;\n };\n };\n }\n var d3_format_re = /(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i;\n var d3_format_types = d3.map({\n b: function(x) {\n return x.toString(2);\n },\n c: function(x) {\n return String.fromCharCode(x);\n },\n o: function(x) {\n return x.toString(8);\n },\n x: function(x) {\n return x.toString(16);\n },\n X: function(x) {\n return x.toString(16).toUpperCase();\n },\n g: function(x, p) {\n return x.toPrecision(p);\n },\n e: function(x, p) {\n return x.toExponential(p);\n },\n f: function(x, p) {\n return x.toFixed(p);\n },\n r: function(x, p) {\n return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));\n }\n });\n function d3_format_typeDefault(x) {\n return x + \"\";\n }\n var d3_time = d3.time = {}, d3_date = Date;\n function d3_date_utc() {\n this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);\n }\n d3_date_utc.prototype = {\n getDate: function() {\n return this._.getUTCDate();\n },\n getDay: function() {\n return this._.getUTCDay();\n },\n getFullYear: function() {\n return this._.getUTCFullYear();\n },\n getHours: function() {\n return this._.getUTCHours();\n },\n getMilliseconds: function() {\n return this._.getUTCMilliseconds();\n },\n getMinutes: function() {\n return this._.getUTCMinutes();\n },\n getMonth: function() {\n return this._.getUTCMonth();\n },\n getSeconds: function() {\n return this._.getUTCSeconds();\n },\n getTime: function() {\n return this._.getTime();\n },\n getTimezoneOffset: function() {\n return 0;\n },\n valueOf: function() {\n return this._.valueOf();\n },\n setDate: function() {\n d3_time_prototype.setUTCDate.apply(this._, arguments);\n },\n setDay: function() {\n d3_time_prototype.setUTCDay.apply(this._, arguments);\n },\n setFullYear: function() {\n d3_time_prototype.setUTCFullYear.apply(this._, arguments);\n },\n setHours: function() {\n d3_time_prototype.setUTCHours.apply(this._, arguments);\n },\n setMilliseconds: function() {\n d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);\n },\n setMinutes: function() {\n d3_time_prototype.setUTCMinutes.apply(this._, arguments);\n },\n setMonth: function() {\n d3_time_prototype.setUTCMonth.apply(this._, arguments);\n },\n setSeconds: function() {\n d3_time_prototype.setUTCSeconds.apply(this._, arguments);\n },\n setTime: function() {\n d3_time_prototype.setTime.apply(this._, arguments);\n }\n };\n var d3_time_prototype = Date.prototype;\n function d3_time_interval(local, step, number) {\n function round(date) {\n var d0 = local(date), d1 = offset(d0, 1);\n return date - d0 < d1 - date ? d0 : d1;\n }\n function ceil(date) {\n step(date = local(new d3_date(date - 1)), 1);\n return date;\n }\n function offset(date, k) {\n step(date = new d3_date(+date), k);\n return date;\n }\n function range(t0, t1, dt) {\n var time = ceil(t0), times = [];\n if (dt > 1) {\n while (time < t1) {\n if (!(number(time) % dt)) times.push(new Date(+time));\n step(time, 1);\n }\n } else {\n while (time < t1) times.push(new Date(+time)), step(time, 1);\n }\n return times;\n }\n function range_utc(t0, t1, dt) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = t0;\n return range(utc, t1, dt);\n } finally {\n d3_date = Date;\n }\n }\n local.floor = local;\n local.round = round;\n local.ceil = ceil;\n local.offset = offset;\n local.range = range;\n var utc = local.utc = d3_time_interval_utc(local);\n utc.floor = utc;\n utc.round = d3_time_interval_utc(round);\n utc.ceil = d3_time_interval_utc(ceil);\n utc.offset = d3_time_interval_utc(offset);\n utc.range = range_utc;\n return local;\n }\n function d3_time_interval_utc(method) {\n return function(date, k) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = date;\n return method(utc, k)._;\n } finally {\n d3_date = Date;\n }\n };\n }\n d3_time.year = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setMonth(0, 1);\n return date;\n }, function(date, offset) {\n date.setFullYear(date.getFullYear() + offset);\n }, function(date) {\n return date.getFullYear();\n });\n d3_time.years = d3_time.year.range;\n d3_time.years.utc = d3_time.year.utc.range;\n d3_time.day = d3_time_interval(function(date) {\n var day = new d3_date(2e3, 0);\n day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n return day;\n }, function(date, offset) {\n date.setDate(date.getDate() + offset);\n }, function(date) {\n return date.getDate() - 1;\n });\n d3_time.days = d3_time.day.range;\n d3_time.days.utc = d3_time.day.utc.range;\n d3_time.dayOfYear = function(date) {\n var year = d3_time.year(date);\n return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);\n };\n [ \"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\" ].forEach(function(day, i) {\n i = 7 - i;\n var interval = d3_time[day] = d3_time_interval(function(date) {\n (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);\n return date;\n }, function(date, offset) {\n date.setDate(date.getDate() + Math.floor(offset) * 7);\n }, function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);\n });\n d3_time[day + \"s\"] = interval.range;\n d3_time[day + \"s\"].utc = interval.utc.range;\n d3_time[day + \"OfYear\"] = function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);\n };\n });\n d3_time.week = d3_time.sunday;\n d3_time.weeks = d3_time.sunday.range;\n d3_time.weeks.utc = d3_time.sunday.utc.range;\n d3_time.weekOfYear = d3_time.sundayOfYear;\n function d3_locale_timeFormat(locale) {\n var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;\n function d3_time_format(template) {\n var n = template.length;\n function format(date) {\n var string = [], i = -1, j = 0, c, p, f;\n while (++i < n) {\n if (template.charCodeAt(i) === 37) {\n string.push(template.slice(j, i));\n if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);\n if (f = d3_time_formats[c]) c = f(date, p == null ? c === \"e\" ? \" \" : \"0\" : p);\n string.push(c);\n j = i + 1;\n }\n }\n string.push(template.slice(j, i));\n return string.join(\"\");\n }\n format.parse = function(string) {\n var d = {\n y: 1900,\n m: 0,\n d: 1,\n H: 0,\n M: 0,\n S: 0,\n L: 0,\n Z: null\n }, i = d3_time_parse(d, template, string, 0);\n if (i != string.length) return null;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();\n if (\"j\" in d) date.setFullYear(d.y, 0, d.j); else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"W\" in d ? 1 : 0;\n date.setFullYear(d.y, 0, 1);\n date.setFullYear(d.y, 0, \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);\n } else date.setFullYear(d.y, d.m, d.d);\n date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);\n return localZ ? date._ : date;\n };\n format.toString = function() {\n return template;\n };\n return format;\n }\n function d3_time_parse(date, template, string, j) {\n var c, p, t, i = 0, n = template.length, m = string.length;\n while (i < n) {\n if (j >= m) return -1;\n c = template.charCodeAt(i++);\n if (c === 37) {\n t = template.charAt(i++);\n p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];\n if (!p || (j = p(date, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n d3_time_format.utc = function(template) {\n var local = d3_time_format(template);\n function format(date) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date();\n utc._ = date;\n return local(utc);\n } finally {\n d3_date = Date;\n }\n }\n format.parse = function(string) {\n try {\n d3_date = d3_date_utc;\n var date = local.parse(string);\n return date && date._;\n } finally {\n d3_date = Date;\n }\n };\n format.toString = local.toString;\n return format;\n };\n d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;\n var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);\n locale_periods.forEach(function(p, i) {\n d3_time_periodLookup.set(p.toLowerCase(), i);\n });\n var d3_time_formats = {\n a: function(d) {\n return locale_shortDays[d.getDay()];\n },\n A: function(d) {\n return locale_days[d.getDay()];\n },\n b: function(d) {\n return locale_shortMonths[d.getMonth()];\n },\n B: function(d) {\n return locale_months[d.getMonth()];\n },\n c: d3_time_format(locale_dateTime),\n d: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n e: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n H: function(d, p) {\n return d3_time_formatPad(d.getHours(), p, 2);\n },\n I: function(d, p) {\n return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);\n },\n j: function(d, p) {\n return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);\n },\n L: function(d, p) {\n return d3_time_formatPad(d.getMilliseconds(), p, 3);\n },\n m: function(d, p) {\n return d3_time_formatPad(d.getMonth() + 1, p, 2);\n },\n M: function(d, p) {\n return d3_time_formatPad(d.getMinutes(), p, 2);\n },\n p: function(d) {\n return locale_periods[+(d.getHours() >= 12)];\n },\n S: function(d, p) {\n return d3_time_formatPad(d.getSeconds(), p, 2);\n },\n U: function(d, p) {\n return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);\n },\n w: function(d) {\n return d.getDay();\n },\n W: function(d, p) {\n return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);\n },\n x: d3_time_format(locale_date),\n X: d3_time_format(locale_time),\n y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 100, p, 2);\n },\n Y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);\n },\n Z: d3_time_zone,\n \"%\": function() {\n return \"%\";\n }\n };\n var d3_time_parsers = {\n a: d3_time_parseWeekdayAbbrev,\n A: d3_time_parseWeekday,\n b: d3_time_parseMonthAbbrev,\n B: d3_time_parseMonth,\n c: d3_time_parseLocaleFull,\n d: d3_time_parseDay,\n e: d3_time_parseDay,\n H: d3_time_parseHour24,\n I: d3_time_parseHour24,\n j: d3_time_parseDayOfYear,\n L: d3_time_parseMilliseconds,\n m: d3_time_parseMonthNumber,\n M: d3_time_parseMinutes,\n p: d3_time_parseAmPm,\n S: d3_time_parseSeconds,\n U: d3_time_parseWeekNumberSunday,\n w: d3_time_parseWeekdayNumber,\n W: d3_time_parseWeekNumberMonday,\n x: d3_time_parseLocaleDate,\n X: d3_time_parseLocaleTime,\n y: d3_time_parseYear,\n Y: d3_time_parseFullYear,\n Z: d3_time_parseZone,\n \"%\": d3_time_parseLiteralPercent\n };\n function d3_time_parseWeekdayAbbrev(date, string, i) {\n d3_time_dayAbbrevRe.lastIndex = 0;\n var n = d3_time_dayAbbrevRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseWeekday(date, string, i) {\n d3_time_dayRe.lastIndex = 0;\n var n = d3_time_dayRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonthAbbrev(date, string, i) {\n d3_time_monthAbbrevRe.lastIndex = 0;\n var n = d3_time_monthAbbrevRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonth(date, string, i) {\n d3_time_monthRe.lastIndex = 0;\n var n = d3_time_monthRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseLocaleFull(date, string, i) {\n return d3_time_parse(date, d3_time_formats.c.toString(), string, i);\n }\n function d3_time_parseLocaleDate(date, string, i) {\n return d3_time_parse(date, d3_time_formats.x.toString(), string, i);\n }\n function d3_time_parseLocaleTime(date, string, i) {\n return d3_time_parse(date, d3_time_formats.X.toString(), string, i);\n }\n function d3_time_parseAmPm(date, string, i) {\n var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());\n return n == null ? -1 : (date.p = n, i);\n }\n return d3_time_format;\n }\n var d3_time_formatPads = {\n \"-\": \"\",\n _: \" \",\n \"0\": \"0\"\n }, d3_time_numberRe = /^\\s*\\d+/, d3_time_percentRe = /^%/;\n function d3_time_formatPad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\", string = (sign ? -value : value) + \"\", length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function d3_time_formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(d3.requote).join(\"|\") + \")\", \"i\");\n }\n function d3_time_formatLookup(names) {\n var map = new d3_Map(), i = -1, n = names.length;\n while (++i < n) map.set(names[i].toLowerCase(), i);\n return map;\n }\n function d3_time_parseWeekdayNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 1));\n return n ? (date.w = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberSunday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.U = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberMonday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.W = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseFullYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 4));\n return n ? (date.y = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;\n }\n function d3_time_parseZone(date, string, i) {\n return /^[+-]\\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, \n i + 5) : -1;\n }\n function d3_time_expandYear(d) {\n return d + (d > 68 ? 1900 : 2e3);\n }\n function d3_time_parseMonthNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.m = n[0] - 1, i + n[0].length) : -1;\n }\n function d3_time_parseDay(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.d = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseDayOfYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.j = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseHour24(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.H = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMinutes(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.M = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseSeconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.S = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMilliseconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.L = +n[0], i + n[0].length) : -1;\n }\n function d3_time_zone(d) {\n var z = d.getTimezoneOffset(), zs = z > 0 ? \"-\" : \"+\", zh = abs(z) / 60 | 0, zm = abs(z) % 60;\n return zs + d3_time_formatPad(zh, \"0\", 2) + d3_time_formatPad(zm, \"0\", 2);\n }\n function d3_time_parseLiteralPercent(date, string, i) {\n d3_time_percentRe.lastIndex = 0;\n var n = d3_time_percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function d3_time_formatMulti(formats) {\n var n = formats.length, i = -1;\n while (++i < n) formats[i][0] = this(formats[i][0]);\n return function(date) {\n var i = 0, f = formats[i];\n while (!f[1](date)) f = formats[++i];\n return f[0](date);\n };\n }\n d3.locale = function(locale) {\n return {\n numberFormat: d3_locale_numberFormat(locale),\n timeFormat: d3_locale_timeFormat(locale)\n };\n };\n var d3_locale_enUS = d3.locale({\n decimal: \".\",\n thousands: \",\",\n grouping: [ 3 ],\n currency: [ \"$\", \"\" ],\n dateTime: \"%a %b %e %X %Y\",\n date: \"%m/%d/%Y\",\n time: \"%H:%M:%S\",\n periods: [ \"AM\", \"PM\" ],\n days: [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ],\n shortDays: [ \"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\" ],\n months: [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ],\n shortMonths: [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\n });\n d3.format = d3_locale_enUS.numberFormat;\n d3.geo = {};\n function d3_adder() {}\n d3_adder.prototype = {\n s: 0,\n t: 0,\n add: function(y) {\n d3_adderSum(y, this.t, d3_adderTemp);\n d3_adderSum(d3_adderTemp.s, this.s, this);\n if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;\n },\n reset: function() {\n this.s = this.t = 0;\n },\n valueOf: function() {\n return this.s;\n }\n };\n var d3_adderTemp = new d3_adder();\n function d3_adderSum(a, b, o) {\n var x = o.s = a + b, bv = x - a, av = x - bv;\n o.t = a - av + (b - bv);\n }\n d3.geo.stream = function(object, listener) {\n if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {\n d3_geo_streamObjectType[object.type](object, listener);\n } else {\n d3_geo_streamGeometry(object, listener);\n }\n };\n function d3_geo_streamGeometry(geometry, listener) {\n if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {\n d3_geo_streamGeometryType[geometry.type](geometry, listener);\n }\n }\n var d3_geo_streamObjectType = {\n Feature: function(feature, listener) {\n d3_geo_streamGeometry(feature.geometry, listener);\n },\n FeatureCollection: function(object, listener) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);\n }\n };\n var d3_geo_streamGeometryType = {\n Sphere: function(object, listener) {\n listener.sphere();\n },\n Point: function(object, listener) {\n object = object.coordinates;\n listener.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);\n },\n LineString: function(object, listener) {\n d3_geo_streamLine(object.coordinates, listener, 0);\n },\n MultiLineString: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);\n },\n Polygon: function(object, listener) {\n d3_geo_streamPolygon(object.coordinates, listener);\n },\n MultiPolygon: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);\n },\n GeometryCollection: function(object, listener) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) d3_geo_streamGeometry(geometries[i], listener);\n }\n };\n function d3_geo_streamLine(coordinates, listener, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n listener.lineStart();\n while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);\n listener.lineEnd();\n }\n function d3_geo_streamPolygon(coordinates, listener) {\n var i = -1, n = coordinates.length;\n listener.polygonStart();\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);\n listener.polygonEnd();\n }\n d3.geo.area = function(object) {\n d3_geo_areaSum = 0;\n d3.geo.stream(object, d3_geo_area);\n return d3_geo_areaSum;\n };\n var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();\n var d3_geo_area = {\n sphere: function() {\n d3_geo_areaSum += 4 * π;\n },\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_areaRingSum.reset();\n d3_geo_area.lineStart = d3_geo_areaRingStart;\n },\n polygonEnd: function() {\n var area = 2 * d3_geo_areaRingSum;\n d3_geo_areaSum += area < 0 ? 4 * π + area : area;\n d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;\n }\n };\n function d3_geo_areaRingStart() {\n var λ00, φ00, λ0, cosφ0, sinφ0;\n d3_geo_area.point = function(λ, φ) {\n d3_geo_area.point = nextPoint;\n λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), \n sinφ0 = Math.sin(φ);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n φ = φ * d3_radians / 2 + π / 4;\n var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ);\n d3_geo_areaRingSum.add(Math.atan2(v, u));\n λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;\n }\n d3_geo_area.lineEnd = function() {\n nextPoint(λ00, φ00);\n };\n }\n function d3_geo_cartesian(spherical) {\n var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ);\n return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ];\n }\n function d3_geo_cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n }\n function d3_geo_cartesianCross(a, b) {\n return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];\n }\n function d3_geo_cartesianAdd(a, b) {\n a[0] += b[0];\n a[1] += b[1];\n a[2] += b[2];\n }\n function d3_geo_cartesianScale(vector, k) {\n return [ vector[0] * k, vector[1] * k, vector[2] * k ];\n }\n function d3_geo_cartesianNormalize(d) {\n var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l;\n d[1] /= l;\n d[2] /= l;\n }\n function d3_geo_spherical(cartesian) {\n return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];\n }\n function d3_geo_sphericalEqual(a, b) {\n return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;\n }\n d3.geo.bounds = function() {\n var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range;\n var bound = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n bound.point = ringPoint;\n bound.lineStart = ringStart;\n bound.lineEnd = ringEnd;\n dλSum = 0;\n d3_geo_area.polygonStart();\n },\n polygonEnd: function() {\n d3_geo_area.polygonEnd();\n bound.point = point;\n bound.lineStart = lineStart;\n bound.lineEnd = lineEnd;\n if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90;\n range[0] = λ0, range[1] = λ1;\n }\n };\n function point(λ, φ) {\n ranges.push(range = [ λ0 = λ, λ1 = λ ]);\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n function linePoint(λ, φ) {\n var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]);\n if (p0) {\n var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);\n d3_geo_cartesianNormalize(inflection);\n inflection = d3_geo_spherical(inflection);\n var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180;\n if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = inflection[1] * d3_degrees;\n if (φi > φ1) φ1 = φi;\n } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = -inflection[1] * d3_degrees;\n if (φi < φ0) φ0 = φi;\n } else {\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n if (antimeridian) {\n if (λ < λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n } else {\n if (λ1 >= λ0) {\n if (λ < λ0) λ0 = λ;\n if (λ > λ1) λ1 = λ;\n } else {\n if (λ > λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n }\n }\n } else {\n point(λ, φ);\n }\n p0 = p, λ_ = λ;\n }\n function lineStart() {\n bound.point = linePoint;\n }\n function lineEnd() {\n range[0] = λ0, range[1] = λ1;\n bound.point = point;\n p0 = null;\n }\n function ringPoint(λ, φ) {\n if (p0) {\n var dλ = λ - λ_;\n dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;\n } else λ__ = λ, φ__ = φ;\n d3_geo_area.point(λ, φ);\n linePoint(λ, φ);\n }\n function ringStart() {\n d3_geo_area.lineStart();\n }\n function ringEnd() {\n ringPoint(λ__, φ__);\n d3_geo_area.lineEnd();\n if (abs(dλSum) > ε) λ0 = -(λ1 = 180);\n range[0] = λ0, range[1] = λ1;\n p0 = null;\n }\n function angle(λ0, λ1) {\n return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1;\n }\n function compareRanges(a, b) {\n return a[0] - b[0];\n }\n function withinRange(x, range) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n }\n return function(feature) {\n φ1 = λ1 = -(λ0 = φ0 = Infinity);\n ranges = [];\n d3.geo.stream(feature, bound);\n var n = ranges.length;\n if (n) {\n ranges.sort(compareRanges);\n for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {\n b = ranges[i];\n if (withinRange(b[0], a) || withinRange(b[1], a)) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n var best = -Infinity, dλ;\n for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {\n b = merged[i];\n if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];\n }\n }\n ranges = range = null;\n return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ];\n };\n }();\n d3.geo.centroid = function(object) {\n d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, d3_geo_centroid);\n var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;\n if (m < ε2) {\n x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;\n if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;\n m = x * x + y * y + z * z;\n if (m < ε2) return [ NaN, NaN ];\n }\n return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];\n };\n var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;\n var d3_geo_centroid = {\n sphere: d3_noop,\n point: d3_geo_centroidPoint,\n lineStart: d3_geo_centroidLineStart,\n lineEnd: d3_geo_centroidLineEnd,\n polygonStart: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidLineStart;\n }\n };\n function d3_geo_centroidPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));\n }\n function d3_geo_centroidPointXYZ(x, y, z) {\n ++d3_geo_centroidW0;\n d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;\n d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;\n d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;\n }\n function d3_geo_centroidLineStart() {\n var x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroid.point = nextPoint;\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_centroidLineEnd() {\n d3_geo_centroid.point = d3_geo_centroidPoint;\n }\n function d3_geo_centroidRingStart() {\n var λ00, φ00, x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ00 = λ, φ00 = φ;\n d3_geo_centroid.point = nextPoint;\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n d3_geo_centroid.lineEnd = function() {\n nextPoint(λ00, φ00);\n d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;\n d3_geo_centroid.point = d3_geo_centroidPoint;\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);\n d3_geo_centroidX2 += v * cx;\n d3_geo_centroidY2 += v * cy;\n d3_geo_centroidZ2 += v * cz;\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_compose(a, b) {\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n return compose;\n }\n function d3_true() {\n return true;\n }\n function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {\n var subject = [], clip = [];\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n];\n if (d3_geo_sphericalEqual(p0, p1)) {\n listener.lineStart();\n for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);\n listener.lineEnd();\n return;\n }\n var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false);\n a.o = b;\n subject.push(a);\n clip.push(b);\n a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);\n b = new d3_geo_clipPolygonIntersection(p1, null, a, true);\n a.o = b;\n subject.push(a);\n clip.push(b);\n });\n clip.sort(compare);\n d3_geo_clipPolygonLinkCircular(subject);\n d3_geo_clipPolygonLinkCircular(clip);\n if (!subject.length) return;\n for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {\n clip[i].e = entry = !entry;\n }\n var start = subject[0], points, point;\n while (1) {\n var current = start, isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n listener.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, listener);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, listener);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n listener.lineEnd();\n }\n }\n function d3_geo_clipPolygonLinkCircular(array) {\n if (!(n = array.length)) return;\n var n, i = 0, a = array[0], b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n }\n function d3_geo_clipPolygonIntersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other;\n this.e = entry;\n this.v = false;\n this.n = this.p = null;\n }\n function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {\n return function(rotate, listener) {\n var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = d3.merge(segments);\n var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);\n if (segments.length) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);\n } else if (clipStartInside) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (polygonStarted) listener.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n listener.polygonStart();\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n listener.polygonEnd();\n }\n };\n function point(λ, φ) {\n var point = rotate(λ, φ);\n if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);\n }\n function pointLine(λ, φ) {\n var point = rotate(λ, φ);\n line.point(point[0], point[1]);\n }\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n var segments;\n var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;\n function pointRing(λ, φ) {\n ring.push([ λ, φ ]);\n var point = rotate(λ, φ);\n ringListener.point(point[0], point[1]);\n }\n function ringStart() {\n ringListener.lineStart();\n ring = [];\n }\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringListener.lineEnd();\n var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;\n ring.pop();\n polygon.push(ring);\n ring = null;\n if (!n) return;\n if (clean & 1) {\n segment = ringSegments[0];\n var n = segment.length - 1, i = -1, point;\n if (n > 0) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n while (++i < n) listener.point((point = segment[i])[0], point[1]);\n listener.lineEnd();\n }\n return;\n }\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));\n }\n return clip;\n };\n }\n function d3_geo_clipSegmentLength1(segment) {\n return segment.length > 1;\n }\n function d3_geo_clipBufferListener() {\n var lines = [], line;\n return {\n lineStart: function() {\n lines.push(line = []);\n },\n point: function(λ, φ) {\n line.push([ λ, φ ]);\n },\n lineEnd: d3_noop,\n buffer: function() {\n var buffer = lines;\n lines = [];\n line = null;\n return buffer;\n },\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n }\n };\n }\n function d3_geo_clipSort(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);\n }\n var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]);\n function d3_geo_clipAntimeridianLine(listener) {\n var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean;\n return {\n lineStart: function() {\n listener.lineStart();\n clean = 1;\n },\n point: function(λ1, φ1) {\n var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0);\n if (abs(dλ - π) < ε) {\n listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n listener.point(λ1, φ0);\n clean = 0;\n } else if (sλ0 !== sλ1 && dλ >= π) {\n if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;\n if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;\n φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n clean = 0;\n }\n listener.point(λ0 = λ1, φ0 = φ1);\n sλ0 = sλ1;\n },\n lineEnd: function() {\n listener.lineEnd();\n λ0 = φ0 = NaN;\n },\n clean: function() {\n return 2 - clean;\n }\n };\n }\n function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {\n var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1);\n return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2;\n }\n function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {\n var φ;\n if (from == null) {\n φ = direction * halfπ;\n listener.point(-π, φ);\n listener.point(0, φ);\n listener.point(π, φ);\n listener.point(π, 0);\n listener.point(π, -φ);\n listener.point(0, -φ);\n listener.point(-π, -φ);\n listener.point(-π, 0);\n listener.point(-π, φ);\n } else if (abs(from[0] - to[0]) > ε) {\n var s = from[0] < to[0] ? π : -π;\n φ = direction * s / 2;\n listener.point(-s, φ);\n listener.point(0, φ);\n listener.point(s, φ);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function d3_geo_pointInPolygon(point, polygon) {\n var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0;\n d3_geo_areaRingSum.reset();\n for (var i = 0, n = polygon.length; i < n; ++i) {\n var ring = polygon[i], m = ring.length;\n if (!m) continue;\n var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1;\n while (true) {\n if (j === m) j = 0;\n point = ring[j];\n var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ;\n d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));\n polarAngle += antimeridian ? dλ + sdλ * τ : dλ;\n if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {\n var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));\n d3_geo_cartesianNormalize(arc);\n var intersection = d3_geo_cartesianCross(meridianNormal, arc);\n d3_geo_cartesianNormalize(intersection);\n var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);\n if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {\n winding += antimeridian ^ dλ >= 0 ? 1 : -1;\n }\n }\n if (!j++) break;\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;\n }\n }\n return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < -ε) ^ winding & 1;\n }\n function d3_geo_clipCircle(radius) {\n var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);\n return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]);\n function visible(λ, φ) {\n return Math.cos(λ) * Math.cos(φ) > cr;\n }\n function clipLine(listener) {\n var point0, c0, v0, v00, clean;\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(λ, φ) {\n var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;\n if (!point0 && (v00 = v0 = v)) listener.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {\n point1[0] += ε;\n point1[1] += ε;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n listener.lineStart();\n point2 = intersect(point1, point0);\n listener.point(point2[0], point2[1]);\n } else {\n point2 = intersect(point0, point1);\n listener.point(point2[0], point2[1]);\n listener.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n } else {\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {\n listener.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) listener.lineEnd();\n point0 = null;\n },\n clean: function() {\n return clean | (v00 && v0) << 1;\n }\n };\n }\n function intersect(a, b, two) {\n var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);\n var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n if (!determinant) return !two && a;\n var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);\n d3_geo_cartesianAdd(A, B);\n var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);\n if (t2 < 0) return;\n var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);\n d3_geo_cartesianAdd(q, A);\n q = d3_geo_spherical(q);\n if (!two) return q;\n var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z;\n if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;\n var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε;\n if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;\n if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {\n var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);\n d3_geo_cartesianAdd(q1, A);\n return [ q, d3_geo_spherical(q1) ];\n }\n }\n function code(λ, φ) {\n var r = smallRadius ? radius : π - radius, code = 0;\n if (λ < -r) code |= 1; else if (λ > r) code |= 2;\n if (φ < -r) code |= 4; else if (φ > r) code |= 8;\n return code;\n }\n }\n function d3_geom_clipLine(x0, y0, x1, y1) {\n return function(line) {\n var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n if (t0 > 0) line.a = {\n x: ax + t0 * dx,\n y: ay + t0 * dy\n };\n if (t1 < 1) line.b = {\n x: ax + t1 * dx,\n y: ay + t1 * dy\n };\n return line;\n };\n }\n var d3_geo_clipExtentMAX = 1e9;\n d3.geo.clipExtent = function() {\n var x0, y0, x1, y1, stream, clip, clipExtent = {\n stream: function(output) {\n if (stream) stream.valid = false;\n stream = clip(output);\n stream.valid = true;\n return stream;\n },\n extent: function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);\n if (stream) stream.valid = false, stream = null;\n return clipExtent;\n }\n };\n return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]);\n };\n function d3_geo_clipExtent(x0, y0, x1, y1) {\n return function(listener) {\n var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring;\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n listener = bufferListener;\n segments = [];\n polygon = [];\n clean = true;\n },\n polygonEnd: function() {\n listener = listener_;\n segments = d3.merge(segments);\n var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;\n if (inside || visible) {\n listener.polygonStart();\n if (inside) {\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (visible) {\n d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);\n }\n listener.polygonEnd();\n }\n segments = polygon = ring = null;\n }\n };\n function insidePolygon(p) {\n var wn = 0, n = polygon.length, y = p[1];\n for (var i = 0; i < n; ++i) {\n for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {\n b = v[j];\n if (a[1] <= y) {\n if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;\n } else {\n if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;\n }\n a = b;\n }\n }\n return wn !== 0;\n }\n function interpolate(from, to, direction, listener) {\n var a = 0, a1 = 0;\n if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {\n do {\n listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n } while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function pointVisible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n function point(x, y) {\n if (pointVisible(x, y)) listener.point(x, y);\n }\n var x__, y__, v__, x_, y_, v_, first, clean;\n function lineStart() {\n clip.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferListener.rejoin();\n segments.push(bufferListener.buffer());\n }\n clip.point = point;\n if (v_) listener.lineEnd();\n }\n function linePoint(x, y) {\n x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));\n y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));\n var v = pointVisible(x, y);\n if (polygon) ring.push([ x, y ]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n listener.lineStart();\n listener.point(x, y);\n }\n } else {\n if (v && v_) listener.point(x, y); else {\n var l = {\n a: {\n x: x_,\n y: y_\n },\n b: {\n x: x,\n y: y\n }\n };\n if (clipLine(l)) {\n if (!v_) {\n listener.lineStart();\n listener.point(l.a.x, l.a.y);\n }\n listener.point(l.b.x, l.b.y);\n if (!v) listener.lineEnd();\n clean = false;\n } else if (v) {\n listener.lineStart();\n listener.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n return clip;\n };\n function corner(p, direction) {\n return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n }\n function compare(a, b) {\n return comparePoints(a.x, b.x);\n }\n function comparePoints(a, b) {\n var ca = corner(a, 1), cb = corner(b, 1);\n return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n }\n }\n function d3_geo_conic(projectAt) {\n var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1);\n p.parallels = function(_) {\n if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ];\n return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);\n };\n return p;\n }\n function d3_geo_conicEqualArea(φ0, φ1) {\n var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n;\n function forward(λ, φ) {\n var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;\n return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = ρ0 - y;\n return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ];\n };\n return forward;\n }\n (d3.geo.conicEqualArea = function() {\n return d3_geo_conic(d3_geo_conicEqualArea);\n }).raw = d3_geo_conicEqualArea;\n d3.geo.albers = function() {\n return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);\n };\n d3.geo.albersUsa = function() {\n var lower48 = d3.geo.albers();\n var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);\n var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);\n var point, pointStream = {\n point: function(x, y) {\n point = [ x, y ];\n }\n }, lower48Point, alaskaPoint, hawaiiPoint;\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n point = null;\n (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);\n return point;\n }\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;\n return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);\n };\n albersUsa.stream = function(stream) {\n var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);\n return {\n point: function(x, y) {\n lower48Stream.point(x, y);\n alaskaStream.point(x, y);\n hawaiiStream.point(x, y);\n },\n sphere: function() {\n lower48Stream.sphere();\n alaskaStream.sphere();\n hawaiiStream.sphere();\n },\n lineStart: function() {\n lower48Stream.lineStart();\n alaskaStream.lineStart();\n hawaiiStream.lineStart();\n },\n lineEnd: function() {\n lower48Stream.lineEnd();\n alaskaStream.lineEnd();\n hawaiiStream.lineEnd();\n },\n polygonStart: function() {\n lower48Stream.polygonStart();\n alaskaStream.polygonStart();\n hawaiiStream.polygonStart();\n },\n polygonEnd: function() {\n lower48Stream.polygonEnd();\n alaskaStream.polygonEnd();\n hawaiiStream.polygonEnd();\n }\n };\n };\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_);\n alaska.precision(_);\n hawaii.precision(_);\n return albersUsa;\n };\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_);\n alaska.scale(_ * .35);\n hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;\n alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n return albersUsa;\n };\n return albersUsa.scale(1070);\n };\n var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_pathAreaPolygon = 0;\n d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;\n d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);\n }\n };\n function d3_geo_pathAreaRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathArea.point = function(x, y) {\n d3_geo_pathArea.point = nextPoint;\n x00 = x0 = x, y00 = y0 = y;\n };\n function nextPoint(x, y) {\n d3_geo_pathAreaPolygon += y0 * x - x0 * y;\n x0 = x, y0 = y;\n }\n d3_geo_pathArea.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;\n var d3_geo_pathBounds = {\n point: d3_geo_pathBoundsPoint,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_pathBoundsPoint(x, y) {\n if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;\n if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;\n if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;\n if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;\n }\n function d3_geo_pathBuffer() {\n var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointCircle = d3_geo_pathBufferCircle(_);\n return stream;\n },\n result: function() {\n if (buffer.length) {\n var result = buffer.join(\"\");\n buffer = [];\n return result;\n }\n }\n };\n function point(x, y) {\n buffer.push(\"M\", x, \",\", y, pointCircle);\n }\n function pointLineStart(x, y) {\n buffer.push(\"M\", x, \",\", y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n buffer.push(\"L\", x, \",\", y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n buffer.push(\"Z\");\n }\n return stream;\n }\n function d3_geo_pathBufferCircle(radius) {\n return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n }\n var d3_geo_pathCentroid = {\n point: d3_geo_pathCentroidPoint,\n lineStart: d3_geo_pathCentroidLineStart,\n lineEnd: d3_geo_pathCentroidLineEnd,\n polygonStart: function() {\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;\n d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;\n }\n };\n function d3_geo_pathCentroidPoint(x, y) {\n d3_geo_centroidX0 += x;\n d3_geo_centroidY0 += y;\n ++d3_geo_centroidZ0;\n }\n function d3_geo_pathCentroidLineStart() {\n var x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n }\n function d3_geo_pathCentroidLineEnd() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n }\n function d3_geo_pathCentroidRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n z = y0 * x - x0 * y;\n d3_geo_centroidX2 += z * (x0 + x);\n d3_geo_centroidY2 += z * (y0 + y);\n d3_geo_centroidZ2 += z * 3;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n d3_geo_pathCentroid.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n function d3_geo_pathContext(context) {\n var pointRadius = 4.5;\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointRadius = _;\n return stream;\n },\n result: d3_noop\n };\n function point(x, y) {\n context.moveTo(x + pointRadius, y);\n context.arc(x, y, pointRadius, 0, τ);\n }\n function pointLineStart(x, y) {\n context.moveTo(x, y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n context.lineTo(x, y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n context.closePath();\n }\n return stream;\n }\n function d3_geo_resample(project) {\n var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;\n function resample(stream) {\n return (maxDepth ? resampleRecursive : resampleNone)(stream);\n }\n function resampleNone(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n });\n }\n function resampleRecursive(stream) {\n var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0;\n var resample = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.polygonStart();\n resample.lineStart = ringStart;\n },\n polygonEnd: function() {\n stream.polygonEnd();\n resample.lineStart = lineStart;\n }\n };\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n function lineStart() {\n x0 = NaN;\n resample.point = linePoint;\n stream.lineStart();\n }\n function linePoint(λ, φ) {\n var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ);\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n function lineEnd() {\n resample.point = point;\n stream.lineEnd();\n }\n function ringStart() {\n lineStart();\n resample.point = ringPoint;\n resample.lineEnd = ringEnd;\n }\n function ringPoint(λ, φ) {\n linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resample.point = linePoint;\n }\n function ringEnd() {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);\n resample.lineEnd = lineEnd;\n lineEnd();\n }\n return resample;\n }\n function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n if (d2 > 4 * δ2 && depth--) {\n var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);\n }\n }\n }\n resample.precision = function(_) {\n if (!arguments.length) return Math.sqrt(δ2);\n maxDepth = (δ2 = _ * _) > 0 && 16;\n return resample;\n };\n return resample;\n }\n d3.geo.path = function() {\n var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);\n d3.geo.stream(object, cacheStream);\n }\n return contextStream.result();\n }\n path.area = function(object) {\n d3_geo_pathAreaSum = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathArea));\n return d3_geo_pathAreaSum;\n };\n path.centroid = function(object) {\n d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathCentroid));\n return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];\n };\n path.bounds = function(object) {\n d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);\n d3.geo.stream(object, projectStream(d3_geo_pathBounds));\n return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];\n };\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;\n return reset();\n };\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return reset();\n };\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n function reset() {\n cacheStream = null;\n return path;\n }\n return path.projection(d3.geo.albersUsa()).context(null);\n };\n function d3_geo_pathProjectStream(project) {\n var resample = d3_geo_resample(function(x, y) {\n return project([ x * d3_degrees, y * d3_degrees ]);\n });\n return function(stream) {\n return d3_geo_projectionRadians(resample(stream));\n };\n }\n d3.geo.transform = function(methods) {\n return {\n stream: function(stream) {\n var transform = new d3_geo_transform(stream);\n for (var k in methods) transform[k] = methods[k];\n return transform;\n }\n };\n };\n function d3_geo_transform(stream) {\n this.stream = stream;\n }\n d3_geo_transform.prototype = {\n point: function(x, y) {\n this.stream.point(x, y);\n },\n sphere: function() {\n this.stream.sphere();\n },\n lineStart: function() {\n this.stream.lineStart();\n },\n lineEnd: function() {\n this.stream.lineEnd();\n },\n polygonStart: function() {\n this.stream.polygonStart();\n },\n polygonEnd: function() {\n this.stream.polygonEnd();\n }\n };\n function d3_geo_transformPoint(stream, point) {\n return {\n point: point,\n sphere: function() {\n stream.sphere();\n },\n lineStart: function() {\n stream.lineStart();\n },\n lineEnd: function() {\n stream.lineEnd();\n },\n polygonStart: function() {\n stream.polygonStart();\n },\n polygonEnd: function() {\n stream.polygonEnd();\n }\n };\n }\n d3.geo.projection = d3_geo_projection;\n d3.geo.projectionMutator = d3_geo_projectionMutator;\n function d3_geo_projection(project) {\n return d3_geo_projectionMutator(function() {\n return project;\n })();\n }\n function d3_geo_projectionMutator(projectAt) {\n var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {\n x = project(x, y);\n return [ x[0] * k + δx, δy - x[1] * k ];\n }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;\n function projection(point) {\n point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);\n return [ point[0] * k + δx, δy - point[1] * k ];\n }\n function invert(point) {\n point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);\n return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];\n }\n projection.stream = function(output) {\n if (stream) stream.valid = false;\n stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));\n stream.valid = true;\n return stream;\n };\n projection.clipAngle = function(_) {\n if (!arguments.length) return clipAngle;\n preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);\n return invalidate();\n };\n projection.clipExtent = function(_) {\n if (!arguments.length) return clipExtent;\n clipExtent = _;\n postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;\n return invalidate();\n };\n projection.scale = function(_) {\n if (!arguments.length) return k;\n k = +_;\n return reset();\n };\n projection.translate = function(_) {\n if (!arguments.length) return [ x, y ];\n x = +_[0];\n y = +_[1];\n return reset();\n };\n projection.center = function(_) {\n if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ];\n λ = _[0] % 360 * d3_radians;\n φ = _[1] % 360 * d3_radians;\n return reset();\n };\n projection.rotate = function(_) {\n if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ];\n δλ = _[0] % 360 * d3_radians;\n δφ = _[1] % 360 * d3_radians;\n δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;\n return reset();\n };\n d3.rebind(projection, projectResample, \"precision\");\n function reset() {\n projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);\n var center = project(λ, φ);\n δx = x - center[0] * k;\n δy = y + center[1] * k;\n return invalidate();\n }\n function invalidate() {\n if (stream) stream.valid = false, stream = null;\n return projection;\n }\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return reset();\n };\n }\n function d3_geo_projectionRadians(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n stream.point(x * d3_radians, y * d3_radians);\n });\n }\n function d3_geo_equirectangular(λ, φ) {\n return [ λ, φ ];\n }\n (d3.geo.equirectangular = function() {\n return d3_geo_projection(d3_geo_equirectangular);\n }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;\n d3.geo.rotation = function(rotate) {\n rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n }\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n };\n return forward;\n };\n function d3_geo_identityRotation(λ, φ) {\n return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n }\n d3_geo_identityRotation.invert = d3_geo_equirectangular;\n function d3_geo_rotation(δλ, δφ, δγ) {\n return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation;\n }\n function d3_geo_forwardRotationλ(δλ) {\n return function(λ, φ) {\n return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n };\n }\n function d3_geo_rotationλ(δλ) {\n var rotation = d3_geo_forwardRotationλ(δλ);\n rotation.invert = d3_geo_forwardRotationλ(-δλ);\n return rotation;\n }\n function d3_geo_rotationφγ(δφ, δγ) {\n var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ);\n function rotation(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ;\n return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ];\n }\n rotation.invert = function(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ;\n return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ];\n };\n return rotation;\n }\n d3.geo.circle = function() {\n var origin = [ 0, 0 ], angle, precision = 6, interpolate;\n function circle() {\n var center = typeof origin === \"function\" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];\n interpolate(null, null, 1, {\n point: function(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= d3_degrees, x[1] *= d3_degrees;\n }\n });\n return {\n type: \"Polygon\",\n coordinates: [ ring ]\n };\n }\n circle.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return circle;\n };\n circle.angle = function(x) {\n if (!arguments.length) return angle;\n interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);\n return circle;\n };\n circle.precision = function(_) {\n if (!arguments.length) return precision;\n interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);\n return circle;\n };\n return circle.angle(90);\n };\n function d3_geo_circleInterpolate(radius, precision) {\n var cr = Math.cos(radius), sr = Math.sin(radius);\n return function(from, to, direction, listener) {\n var step = direction * precision;\n if (from != null) {\n from = d3_geo_circleAngle(cr, from);\n to = d3_geo_circleAngle(cr, to);\n if (direction > 0 ? from < to : from > to) from += direction * τ;\n } else {\n from = radius + direction * τ;\n to = radius - .5 * step;\n }\n for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {\n listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);\n }\n };\n }\n function d3_geo_circleAngle(cr, point) {\n var a = d3_geo_cartesian(point);\n a[0] -= cr;\n d3_geo_cartesianNormalize(a);\n var angle = d3_acos(-a[1]);\n return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);\n }\n d3.geo.distance = function(a, b) {\n var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t;\n return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ);\n };\n d3.geo.graticule = function() {\n var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;\n function graticule() {\n return {\n type: \"MultiLineString\",\n coordinates: lines()\n };\n }\n function lines() {\n return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {\n return abs(x % DX) > ε;\n }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {\n return abs(y % DY) > ε;\n }).map(y));\n }\n graticule.lines = function() {\n return lines().map(function(coordinates) {\n return {\n type: \"LineString\",\n coordinates: coordinates\n };\n });\n };\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]\n };\n };\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.minorExtent();\n return graticule.majorExtent(_).minorExtent(_);\n };\n graticule.majorExtent = function(_) {\n if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n graticule.minorExtent = function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n graticule.step = function(_) {\n if (!arguments.length) return graticule.minorStep();\n return graticule.majorStep(_).minorStep(_);\n };\n graticule.majorStep = function(_) {\n if (!arguments.length) return [ DX, DY ];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n graticule.minorStep = function(_) {\n if (!arguments.length) return [ dx, dy ];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = d3_geo_graticuleX(y0, y1, 90);\n y = d3_geo_graticuleY(x0, x1, precision);\n X = d3_geo_graticuleX(Y0, Y1, 90);\n Y = d3_geo_graticuleY(X0, X1, precision);\n return graticule;\n };\n return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]);\n };\n function d3_geo_graticuleX(y0, y1, dy) {\n var y = d3.range(y0, y1 - ε, dy).concat(y1);\n return function(x) {\n return y.map(function(y) {\n return [ x, y ];\n });\n };\n }\n function d3_geo_graticuleY(x0, x1, dx) {\n var x = d3.range(x0, x1 - ε, dx).concat(x1);\n return function(y) {\n return x.map(function(x) {\n return [ x, y ];\n });\n };\n }\n function d3_source(d) {\n return d.source;\n }\n function d3_target(d) {\n return d.target;\n }\n d3.geo.greatArc = function() {\n var source = d3_source, source_, target = d3_target, target_;\n function greatArc() {\n return {\n type: \"LineString\",\n coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]\n };\n }\n greatArc.distance = function() {\n return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));\n };\n greatArc.source = function(_) {\n if (!arguments.length) return source;\n source = _, source_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.target = function(_) {\n if (!arguments.length) return target;\n target = _, target_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.precision = function() {\n return arguments.length ? greatArc : 0;\n };\n return greatArc;\n };\n d3.geo.interpolate = function(source, target) {\n return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);\n };\n function d3_geo_interpolate(x0, y0, x1, y1) {\n var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);\n var interpolate = d ? function(t) {\n var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;\n return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];\n } : function() {\n return [ x0 * d3_degrees, y0 * d3_degrees ];\n };\n interpolate.distance = d;\n return interpolate;\n }\n d3.geo.length = function(object) {\n d3_geo_lengthSum = 0;\n d3.geo.stream(object, d3_geo_length);\n return d3_geo_lengthSum;\n };\n var d3_geo_lengthSum;\n var d3_geo_length = {\n sphere: d3_noop,\n point: d3_noop,\n lineStart: d3_geo_lengthLineStart,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_lengthLineStart() {\n var λ0, sinφ0, cosφ0;\n d3_geo_length.point = function(λ, φ) {\n λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ);\n d3_geo_length.point = nextPoint;\n };\n d3_geo_length.lineEnd = function() {\n d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;\n };\n function nextPoint(λ, φ) {\n var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t);\n d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ);\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ;\n }\n }\n function d3_geo_azimuthal(scale, angle) {\n function azimuthal(λ, φ) {\n var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ);\n return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ];\n }\n azimuthal.invert = function(x, y) {\n var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c);\n return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ];\n };\n return azimuthal;\n }\n var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) {\n return Math.sqrt(2 / (1 + cosλcosφ));\n }, function(ρ) {\n return 2 * Math.asin(ρ / 2);\n });\n (d3.geo.azimuthalEqualArea = function() {\n return d3_geo_projection(d3_geo_azimuthalEqualArea);\n }).raw = d3_geo_azimuthalEqualArea;\n var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) {\n var c = Math.acos(cosλcosφ);\n return c && c / Math.sin(c);\n }, d3_identity);\n (d3.geo.azimuthalEquidistant = function() {\n return d3_geo_projection(d3_geo_azimuthalEquidistant);\n }).raw = d3_geo_azimuthalEquidistant;\n function d3_geo_conicConformal(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), t = function(φ) {\n return Math.tan(π / 4 + φ / 2);\n }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n;\n if (!n) return d3_geo_mercator;\n function forward(λ, φ) {\n if (F > 0) {\n if (φ < -halfπ + ε) φ = -halfπ + ε;\n } else {\n if (φ > halfπ - ε) φ = halfπ - ε;\n }\n var ρ = F / Math.pow(t(φ), n);\n return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y);\n return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ];\n };\n return forward;\n }\n (d3.geo.conicConformal = function() {\n return d3_geo_conic(d3_geo_conicConformal);\n }).raw = d3_geo_conicConformal;\n function d3_geo_conicEquidistant(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0;\n if (abs(n) < ε) return d3_geo_equirectangular;\n function forward(λ, φ) {\n var ρ = G - φ;\n return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = G - y;\n return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ];\n };\n return forward;\n }\n (d3.geo.conicEquidistant = function() {\n return d3_geo_conic(d3_geo_conicEquidistant);\n }).raw = d3_geo_conicEquidistant;\n var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / cosλcosφ;\n }, Math.atan);\n (d3.geo.gnomonic = function() {\n return d3_geo_projection(d3_geo_gnomonic);\n }).raw = d3_geo_gnomonic;\n function d3_geo_mercator(λ, φ) {\n return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ];\n }\n d3_geo_mercator.invert = function(x, y) {\n return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ];\n };\n function d3_geo_mercatorProjection(project) {\n var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;\n m.scale = function() {\n var v = scale.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.translate = function() {\n var v = translate.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.clipExtent = function(_) {\n var v = clipExtent.apply(m, arguments);\n if (v === m) {\n if (clipAuto = _ == null) {\n var k = π * scale(), t = translate();\n clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);\n }\n } else if (clipAuto) {\n v = null;\n }\n return v;\n };\n return m.clipExtent(null);\n }\n (d3.geo.mercator = function() {\n return d3_geo_mercatorProjection(d3_geo_mercator);\n }).raw = d3_geo_mercator;\n var d3_geo_orthographic = d3_geo_azimuthal(function() {\n return 1;\n }, Math.asin);\n (d3.geo.orthographic = function() {\n return d3_geo_projection(d3_geo_orthographic);\n }).raw = d3_geo_orthographic;\n var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / (1 + cosλcosφ);\n }, function(ρ) {\n return 2 * Math.atan(ρ);\n });\n (d3.geo.stereographic = function() {\n return d3_geo_projection(d3_geo_stereographic);\n }).raw = d3_geo_stereographic;\n function d3_geo_transverseMercator(λ, φ) {\n return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ];\n }\n d3_geo_transverseMercator.invert = function(x, y) {\n return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ];\n };\n (d3.geo.transverseMercator = function() {\n var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;\n projection.center = function(_) {\n return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);\n };\n projection.rotate = function(_) {\n return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), \n [ _[0], _[1], _[2] - 90 ]);\n };\n return rotate([ 0, 0, 90 ]);\n }).raw = d3_geo_transverseMercator;\n d3.geom = {};\n function d3_geom_pointX(d) {\n return d[0];\n }\n function d3_geom_pointY(d) {\n return d[1];\n }\n d3.geom.hull = function(vertices) {\n var x = d3_geom_pointX, y = d3_geom_pointY;\n if (arguments.length) return hull(vertices);\n function hull(data) {\n if (data.length < 3) return [];\n var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];\n for (i = 0; i < n; i++) {\n points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);\n }\n points.sort(d3_geom_hullOrder);\n for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]);\n var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints);\n var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];\n for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);\n for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);\n return polygon;\n }\n hull.x = function(_) {\n return arguments.length ? (x = _, hull) : x;\n };\n hull.y = function(_) {\n return arguments.length ? (y = _, hull) : y;\n };\n return hull;\n };\n function d3_geom_hullUpper(points) {\n var n = points.length, hull = [ 0, 1 ], hs = 2;\n for (var i = 2; i < n; i++) {\n while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs;\n hull[hs++] = i;\n }\n return hull.slice(0, hs);\n }\n function d3_geom_hullOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n }\n d3.geom.polygon = function(coordinates) {\n d3_subclass(coordinates, d3_geom_polygonPrototype);\n return coordinates;\n };\n var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];\n d3_geom_polygonPrototype.area = function() {\n var i = -1, n = this.length, a, b = this[n - 1], area = 0;\n while (++i < n) {\n a = b;\n b = this[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n return area * .5;\n };\n d3_geom_polygonPrototype.centroid = function(k) {\n var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;\n if (!arguments.length) k = -1 / (6 * this.area());\n while (++i < n) {\n a = b;\n b = this[i];\n c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n return [ x * k, y * k ];\n };\n d3_geom_polygonPrototype.clip = function(subject) {\n var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;\n while (++i < n) {\n input = subject.slice();\n subject.length = 0;\n b = this[i];\n c = input[(m = input.length - closed) - 1];\n j = -1;\n while (++j < m) {\n d = input[j];\n if (d3_geom_polygonInside(d, a, b)) {\n if (!d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n subject.push(d);\n } else if (d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n c = d;\n }\n if (closed) subject.push(subject[0]);\n a = b;\n }\n return subject;\n };\n function d3_geom_polygonInside(p, a, b) {\n return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);\n }\n function d3_geom_polygonIntersect(c, d, a, b) {\n var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n return [ x1 + ua * x21, y1 + ua * y21 ];\n }\n function d3_geom_polygonClosed(coordinates) {\n var a = coordinates[0], b = coordinates[coordinates.length - 1];\n return !(a[0] - b[0] || a[1] - b[1]);\n }\n var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];\n function d3_geom_voronoiBeach() {\n d3_geom_voronoiRedBlackNode(this);\n this.edge = this.site = this.circle = null;\n }\n function d3_geom_voronoiCreateBeach(site) {\n var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();\n beach.site = site;\n return beach;\n }\n function d3_geom_voronoiDetachBeach(beach) {\n d3_geom_voronoiDetachCircle(beach);\n d3_geom_voronoiBeaches.remove(beach);\n d3_geom_voronoiBeachPool.push(beach);\n d3_geom_voronoiRedBlackNode(beach);\n }\n function d3_geom_voronoiRemoveBeach(beach) {\n var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {\n x: x,\n y: y\n }, previous = beach.P, next = beach.N, disappearing = [ beach ];\n d3_geom_voronoiDetachBeach(beach);\n var lArc = previous;\n while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachBeach(lArc);\n lArc = previous;\n }\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachCircle(lArc);\n var rArc = next;\n while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) {\n next = rArc.N;\n disappearing.push(rArc);\n d3_geom_voronoiDetachBeach(rArc);\n rArc = next;\n }\n disappearing.push(rArc);\n d3_geom_voronoiDetachCircle(rArc);\n var nArcs = disappearing.length, iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiAddBeach(site) {\n var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;\n while (node) {\n dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;\n if (dxl > ε) node = node.L; else {\n dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);\n if (dxr > ε) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -ε) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -ε) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n var newArc = d3_geom_voronoiCreateBeach(site);\n d3_geom_voronoiBeaches.insert(lArc, newArc);\n if (!lArc && !rArc) return;\n if (lArc === rArc) {\n d3_geom_voronoiDetachCircle(lArc);\n rArc = d3_geom_voronoiCreateBeach(lArc.site);\n d3_geom_voronoiBeaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n return;\n }\n if (!rArc) {\n newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n return;\n }\n d3_geom_voronoiDetachCircle(lArc);\n d3_geom_voronoiDetachCircle(rArc);\n var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {\n x: (cy * hb - by * hc) / d + ax,\n y: (bx * hc - cx * hb) / d + ay\n };\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);\n rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiLeftBreakPoint(arc, directrix) {\n var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;\n if (!pby2) return rfocx;\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n site = lArc.site;\n var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;\n if (!plby2) return lfocx;\n var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n return (rfocx + lfocx) / 2;\n }\n function d3_geom_voronoiRightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site.y === directrix ? site.x : Infinity;\n }\n function d3_geom_voronoiCell(site) {\n this.site = site;\n this.edges = [];\n }\n d3_geom_voronoiCell.prototype.prepare = function() {\n var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;\n while (iHalfEdge--) {\n edge = halfEdges[iHalfEdge].edge;\n if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);\n }\n halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);\n return halfEdges.length;\n };\n function d3_geom_voronoiCloseCells(extent) {\n var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;\n while (iCell--) {\n cell = cells[iCell];\n if (!cell || !cell.prepare()) continue;\n halfEdges = cell.edges;\n nHalfEdges = halfEdges.length;\n iHalfEdge = 0;\n while (iHalfEdge < nHalfEdges) {\n end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;\n start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;\n if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) {\n halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? {\n x: x0,\n y: abs(x2 - x0) < ε ? y2 : y1\n } : abs(y3 - y1) < ε && x1 - x3 > ε ? {\n x: abs(y2 - y1) < ε ? x2 : x1,\n y: y1\n } : abs(x3 - x1) < ε && y3 - y0 > ε ? {\n x: x1,\n y: abs(x2 - x1) < ε ? y2 : y0\n } : abs(y3 - y0) < ε && x3 - x0 > ε ? {\n x: abs(y2 - y0) < ε ? x2 : x0,\n y: y0\n } : null), cell.site, null));\n ++nHalfEdges;\n }\n }\n }\n }\n function d3_geom_voronoiHalfEdgeOrder(a, b) {\n return b.angle - a.angle;\n }\n function d3_geom_voronoiCircle() {\n d3_geom_voronoiRedBlackNode(this);\n this.x = this.y = this.arc = this.site = this.cy = null;\n }\n function d3_geom_voronoiAttachCircle(arc) {\n var lArc = arc.P, rArc = arc.N;\n if (!lArc || !rArc) return;\n var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;\n if (lSite === rSite) return;\n var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -ε2) return;\n var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;\n var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = cy + Math.sqrt(x * x + y * y);\n circle.cy = cy;\n arc.circle = circle;\n var before = null, node = d3_geom_voronoiCircles._;\n while (node) {\n if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {\n if (node.L) node = node.L; else {\n before = node.P;\n break;\n }\n } else {\n if (node.R) node = node.R; else {\n before = node;\n break;\n }\n }\n }\n d3_geom_voronoiCircles.insert(before, circle);\n if (!before) d3_geom_voronoiFirstCircle = circle;\n }\n function d3_geom_voronoiDetachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;\n d3_geom_voronoiCircles.remove(circle);\n d3_geom_voronoiCirclePool.push(circle);\n d3_geom_voronoiRedBlackNode(circle);\n arc.circle = null;\n }\n }\n function d3_geom_voronoiClipEdges(extent) {\n var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;\n while (i--) {\n e = edges[i];\n if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) {\n e.a = e.b = null;\n edges.splice(i, 1);\n }\n }\n }\n function d3_geom_voronoiConnectEdge(edge, extent) {\n var vb = edge.b;\n if (vb) return true;\n var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!va) va = {\n x: fx,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: fx,\n y: y1\n };\n } else {\n if (!va) va = {\n x: fx,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: fx,\n y: y0\n };\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!va) va = {\n x: (y0 - fb) / fm,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: (y1 - fb) / fm,\n y: y1\n };\n } else {\n if (!va) va = {\n x: (y1 - fb) / fm,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: (y0 - fb) / fm,\n y: y0\n };\n }\n } else {\n if (ly < ry) {\n if (!va) va = {\n x: x0,\n y: fm * x0 + fb\n }; else if (va.x >= x1) return;\n vb = {\n x: x1,\n y: fm * x1 + fb\n };\n } else {\n if (!va) va = {\n x: x1,\n y: fm * x1 + fb\n }; else if (va.x < x0) return;\n vb = {\n x: x0,\n y: fm * x0 + fb\n };\n }\n }\n }\n edge.a = va;\n edge.b = vb;\n return true;\n }\n function d3_geom_voronoiEdge(lSite, rSite) {\n this.l = lSite;\n this.r = rSite;\n this.a = this.b = null;\n }\n function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, rSite);\n d3_geom_voronoiEdges.push(edge);\n if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);\n if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);\n d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));\n d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));\n return edge;\n }\n function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, null);\n edge.a = va;\n edge.b = vb;\n d3_geom_voronoiEdges.push(edge);\n return edge;\n }\n function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {\n if (!edge.a && !edge.b) {\n edge.a = vertex;\n edge.l = lSite;\n edge.r = rSite;\n } else if (edge.l === rSite) {\n edge.b = vertex;\n } else {\n edge.a = vertex;\n }\n }\n function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {\n var va = edge.a, vb = edge.b;\n this.edge = edge;\n this.site = lSite;\n this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);\n }\n d3_geom_voronoiHalfEdge.prototype = {\n start: function() {\n return this.edge.l === this.site ? this.edge.a : this.edge.b;\n },\n end: function() {\n return this.edge.l === this.site ? this.edge.b : this.edge.a;\n }\n };\n function d3_geom_voronoiRedBlackTree() {\n this._ = null;\n }\n function d3_geom_voronoiRedBlackNode(node) {\n node.U = node.C = node.L = node.R = node.P = node.N = null;\n }\n d3_geom_voronoiRedBlackTree.prototype = {\n insert: function(after, node) {\n var parent, grandpa, uncle;\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = d3_geom_voronoiRedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n var parent = node.U, sibling, left = node.L, right = node.R, next, red;\n if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);\n if (parent) {\n if (parent.L === node) parent.L = next; else parent.R = next;\n } else {\n this._ = next;\n }\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) {\n node.C = false;\n return;\n }\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n if (node) node.C = false;\n }\n };\n function d3_geom_voronoiRedBlackRotateLeft(tree, node) {\n var p = node, q = node.R, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n }\n function d3_geom_voronoiRedBlackRotateRight(tree, node) {\n var p = node, q = node.L, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n }\n function d3_geom_voronoiRedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n }\n function d3_geom_voronoi(sites, bbox) {\n var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;\n d3_geom_voronoiEdges = [];\n d3_geom_voronoiCells = new Array(sites.length);\n d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();\n d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();\n while (true) {\n circle = d3_geom_voronoiFirstCircle;\n if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {\n if (site.x !== x0 || site.y !== y0) {\n d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);\n d3_geom_voronoiAddBeach(site);\n x0 = site.x, y0 = site.y;\n }\n site = sites.pop();\n } else if (circle) {\n d3_geom_voronoiRemoveBeach(circle.arc);\n } else {\n break;\n }\n }\n if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);\n var diagram = {\n cells: d3_geom_voronoiCells,\n edges: d3_geom_voronoiEdges\n };\n d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;\n return diagram;\n }\n function d3_geom_voronoiVertexOrder(a, b) {\n return b.y - a.y || b.x - a.x;\n }\n d3.geom.voronoi = function(points) {\n var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;\n if (points) return voronoi(points);\n function voronoi(data) {\n var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];\n d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {\n var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {\n var s = e.start();\n return [ s.x, s.y ];\n }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];\n polygon.point = data[i];\n });\n return polygons;\n }\n function sites(data) {\n return data.map(function(d, i) {\n return {\n x: Math.round(fx(d, i) / ε) * ε,\n y: Math.round(fy(d, i) / ε) * ε,\n i: i\n };\n });\n }\n voronoi.links = function(data) {\n return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {\n return edge.l && edge.r;\n }).map(function(edge) {\n return {\n source: data[edge.l.i],\n target: data[edge.r.i]\n };\n });\n };\n voronoi.triangles = function(data) {\n var triangles = [];\n d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {\n var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;\n while (++j < m) {\n e0 = e1;\n s0 = s1;\n e1 = edges[j].edge;\n s1 = e1.l === site ? e1.r : e1.l;\n if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {\n triangles.push([ data[i], data[s0.i], data[s1.i] ]);\n }\n }\n });\n return triangles;\n };\n voronoi.x = function(_) {\n return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;\n };\n voronoi.y = function(_) {\n return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;\n };\n voronoi.clipExtent = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;\n clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;\n return voronoi;\n };\n voronoi.size = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];\n return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);\n };\n return voronoi;\n };\n var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];\n function d3_geom_voronoiTriangleArea(a, b, c) {\n return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);\n }\n d3.geom.delaunay = function(vertices) {\n return d3.geom.voronoi().triangles(vertices);\n };\n d3.geom.quadtree = function(points, x1, y1, x2, y2) {\n var x = d3_geom_pointX, y = d3_geom_pointY, compat;\n if (compat = arguments.length) {\n x = d3_geom_quadtreeCompatX;\n y = d3_geom_quadtreeCompatY;\n if (compat === 3) {\n y2 = y1;\n x2 = x1;\n y1 = x1 = 0;\n }\n return quadtree(points);\n }\n function quadtree(data) {\n var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;\n if (x1 != null) {\n x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;\n } else {\n x2_ = y2_ = -(x1_ = y1_ = Infinity);\n xs = [], ys = [];\n n = data.length;\n if (compat) for (i = 0; i < n; ++i) {\n d = data[i];\n if (d.x < x1_) x1_ = d.x;\n if (d.y < y1_) y1_ = d.y;\n if (d.x > x2_) x2_ = d.x;\n if (d.y > y2_) y2_ = d.y;\n xs.push(d.x);\n ys.push(d.y);\n } else for (i = 0; i < n; ++i) {\n var x_ = +fx(d = data[i], i), y_ = +fy(d, i);\n if (x_ < x1_) x1_ = x_;\n if (y_ < y1_) y1_ = y_;\n if (x_ > x2_) x2_ = x_;\n if (y_ > y2_) y2_ = y_;\n xs.push(x_);\n ys.push(y_);\n }\n }\n var dx = x2_ - x1_, dy = y2_ - y1_;\n if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;\n function insert(n, d, x, y, x1, y1, x2, y2) {\n if (isNaN(x) || isNaN(y)) return;\n if (n.leaf) {\n var nx = n.x, ny = n.y;\n if (nx != null) {\n if (abs(nx - x) + abs(ny - y) < .01) {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n } else {\n var nPoint = n.point;\n n.x = n.y = n.point = null;\n insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n } else {\n n.x = x, n.y = y, n.point = d;\n }\n } else {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n }\n function insertChild(n, d, x, y, x1, y1, x2, y2) {\n var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;\n n.leaf = false;\n n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());\n if (right) x1 = xm; else x2 = xm;\n if (below) y1 = ym; else y2 = ym;\n insert(n, d, x, y, x1, y1, x2, y2);\n }\n var root = d3_geom_quadtreeNode();\n root.add = function(d) {\n insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);\n };\n root.visit = function(f) {\n d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);\n };\n root.find = function(point) {\n return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);\n };\n i = -1;\n if (x1 == null) {\n while (++i < n) {\n insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);\n }\n --i;\n } else data.forEach(root.add);\n xs = ys = data = d = null;\n return root;\n }\n quadtree.x = function(_) {\n return arguments.length ? (x = _, quadtree) : x;\n };\n quadtree.y = function(_) {\n return arguments.length ? (y = _, quadtree) : y;\n };\n quadtree.extent = function(_) {\n if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], \n y2 = +_[1][1];\n return quadtree;\n };\n quadtree.size = function(_) {\n if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];\n return quadtree;\n };\n return quadtree;\n };\n function d3_geom_quadtreeCompatX(d) {\n return d.x;\n }\n function d3_geom_quadtreeCompatY(d) {\n return d.y;\n }\n function d3_geom_quadtreeNode() {\n return {\n leaf: true,\n nodes: [],\n point: null,\n x: null,\n y: null\n };\n }\n function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {\n if (!f(node, x1, y1, x2, y2)) {\n var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;\n if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);\n if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);\n if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);\n if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);\n }\n }\n function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {\n var minDistance2 = Infinity, closestPoint;\n (function find(node, x1, y1, x2, y2) {\n if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;\n if (point = node.point) {\n var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy;\n if (distance2 < minDistance2) {\n var distance = Math.sqrt(minDistance2 = distance2);\n x0 = x - distance, y0 = y - distance;\n x3 = x + distance, y3 = y + distance;\n closestPoint = point;\n }\n }\n var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;\n for (var i = below << 1 | right, j = i + 4; i < j; ++i) {\n if (node = children[i & 3]) switch (i & 3) {\n case 0:\n find(node, x1, y1, xm, ym);\n break;\n\n case 1:\n find(node, xm, y1, x2, ym);\n break;\n\n case 2:\n find(node, x1, ym, xm, y2);\n break;\n\n case 3:\n find(node, xm, ym, x2, y2);\n break;\n }\n }\n })(root, x0, y0, x3, y3);\n return closestPoint;\n }\n d3.interpolateRgb = d3_interpolateRgb;\n function d3_interpolateRgb(a, b) {\n a = d3.rgb(a);\n b = d3.rgb(b);\n var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;\n return function(t) {\n return \"#\" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));\n };\n }\n d3.interpolateObject = d3_interpolateObject;\n function d3_interpolateObject(a, b) {\n var i = {}, c = {}, k;\n for (k in a) {\n if (k in b) {\n i[k] = d3_interpolate(a[k], b[k]);\n } else {\n c[k] = a[k];\n }\n }\n for (k in b) {\n if (!(k in a)) {\n c[k] = b[k];\n }\n }\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n }\n d3.interpolateNumber = d3_interpolateNumber;\n function d3_interpolateNumber(a, b) {\n a = +a, b = +b;\n return function(t) {\n return a * (1 - t) + b * t;\n };\n }\n d3.interpolateString = d3_interpolateString;\n function d3_interpolateString(a, b) {\n var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n a = a + \"\", b = b + \"\";\n while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s[i]) s[i] += bm; else s[++i] = bm;\n } else {\n s[++i] = null;\n q.push({\n i: i,\n x: d3_interpolateNumber(am, bm)\n });\n }\n bi = d3_interpolate_numberB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n return s.length < 2 ? q[0] ? (b = q[0].x, function(t) {\n return b(t) + \"\";\n }) : function() {\n return b;\n } : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n }\n var d3_interpolate_numberA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, \"g\");\n d3.interpolate = d3_interpolate;\n function d3_interpolate(a, b) {\n var i = d3.interpolators.length, f;\n while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;\n return f;\n }\n d3.interpolators = [ function(a, b) {\n var t = typeof b;\n return (t === \"string\" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === \"object\" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b);\n } ];\n d3.interpolateArray = d3_interpolateArray;\n function d3_interpolateArray(a, b) {\n var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;\n for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));\n for (;i < na; ++i) c[i] = a[i];\n for (;i < nb; ++i) c[i] = b[i];\n return function(t) {\n for (i = 0; i < n0; ++i) c[i] = x[i](t);\n return c;\n };\n }\n var d3_ease_default = function() {\n return d3_identity;\n };\n var d3_ease = d3.map({\n linear: d3_ease_default,\n poly: d3_ease_poly,\n quad: function() {\n return d3_ease_quad;\n },\n cubic: function() {\n return d3_ease_cubic;\n },\n sin: function() {\n return d3_ease_sin;\n },\n exp: function() {\n return d3_ease_exp;\n },\n circle: function() {\n return d3_ease_circle;\n },\n elastic: d3_ease_elastic,\n back: d3_ease_back,\n bounce: function() {\n return d3_ease_bounce;\n }\n });\n var d3_ease_mode = d3.map({\n \"in\": d3_identity,\n out: d3_ease_reverse,\n \"in-out\": d3_ease_reflect,\n \"out-in\": function(f) {\n return d3_ease_reflect(d3_ease_reverse(f));\n }\n });\n d3.ease = function(name) {\n var i = name.indexOf(\"-\"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : \"in\";\n t = d3_ease.get(t) || d3_ease_default;\n m = d3_ease_mode.get(m) || d3_identity;\n return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));\n };\n function d3_ease_clamp(f) {\n return function(t) {\n return t <= 0 ? 0 : t >= 1 ? 1 : f(t);\n };\n }\n function d3_ease_reverse(f) {\n return function(t) {\n return 1 - f(1 - t);\n };\n }\n function d3_ease_reflect(f) {\n return function(t) {\n return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));\n };\n }\n function d3_ease_quad(t) {\n return t * t;\n }\n function d3_ease_cubic(t) {\n return t * t * t;\n }\n function d3_ease_cubicInOut(t) {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n var t2 = t * t, t3 = t2 * t;\n return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);\n }\n function d3_ease_poly(e) {\n return function(t) {\n return Math.pow(t, e);\n };\n }\n function d3_ease_sin(t) {\n return 1 - Math.cos(t * halfπ);\n }\n function d3_ease_exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n function d3_ease_circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n function d3_ease_elastic(a, p) {\n var s;\n if (arguments.length < 2) p = .45;\n if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4;\n return function(t) {\n return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);\n };\n }\n function d3_ease_back(s) {\n if (!s) s = 1.70158;\n return function(t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n function d3_ease_bounce(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n }\n d3.interpolateHcl = d3_interpolateHcl;\n function d3_interpolateHcl(a, b) {\n a = d3.hcl(a);\n b = d3.hcl(b);\n var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;\n if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateHsl = d3_interpolateHsl;\n function d3_interpolateHsl(a, b) {\n a = d3.hsl(a);\n b = d3.hsl(b);\n var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;\n if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateLab = d3_interpolateLab;\n function d3_interpolateLab(a, b) {\n a = d3.lab(a);\n b = d3.lab(b);\n var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;\n return function(t) {\n return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + \"\";\n };\n }\n d3.interpolateRound = d3_interpolateRound;\n function d3_interpolateRound(a, b) {\n b -= a;\n return function(t) {\n return Math.round(a + b * t);\n };\n }\n d3.transform = function(string) {\n var g = d3_document.createElementNS(d3.ns.prefix.svg, \"g\");\n return (d3.transform = function(string) {\n if (string != null) {\n g.setAttribute(\"transform\", string);\n var t = g.transform.baseVal.consolidate();\n }\n return new d3_transform(t ? t.matrix : d3_transformIdentity);\n })(string);\n };\n function d3_transform(m) {\n var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;\n if (r0[0] * r1[1] < r1[0] * r0[1]) {\n r0[0] *= -1;\n r0[1] *= -1;\n kx *= -1;\n kz *= -1;\n }\n this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;\n this.translate = [ m.e, m.f ];\n this.scale = [ kx, ky ];\n this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;\n }\n d3_transform.prototype.toString = function() {\n return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n };\n function d3_transformDot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n }\n function d3_transformNormalize(a) {\n var k = Math.sqrt(d3_transformDot(a, a));\n if (k) {\n a[0] /= k;\n a[1] /= k;\n }\n return k;\n }\n function d3_transformCombine(a, b, k) {\n a[0] += k * b[0];\n a[1] += k * b[1];\n return a;\n }\n var d3_transformIdentity = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: 0,\n f: 0\n };\n d3.interpolateTransform = d3_interpolateTransform;\n function d3_interpolateTransformPop(s) {\n return s.length ? s.pop() + \",\" : \"\";\n }\n function d3_interpolateTranslate(ta, tb, s, q) {\n if (ta[0] !== tb[0] || ta[1] !== tb[1]) {\n var i = s.push(\"translate(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ta[0], tb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ta[1], tb[1])\n });\n } else if (tb[0] || tb[1]) {\n s.push(\"translate(\" + tb + \")\");\n }\n }\n function d3_interpolateRotate(ra, rb, s, q) {\n if (ra !== rb) {\n if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"rotate(\", null, \")\") - 2,\n x: d3_interpolateNumber(ra, rb)\n });\n } else if (rb) {\n s.push(d3_interpolateTransformPop(s) + \"rotate(\" + rb + \")\");\n }\n }\n function d3_interpolateSkew(wa, wb, s, q) {\n if (wa !== wb) {\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"skewX(\", null, \")\") - 2,\n x: d3_interpolateNumber(wa, wb)\n });\n } else if (wb) {\n s.push(d3_interpolateTransformPop(s) + \"skewX(\" + wb + \")\");\n }\n }\n function d3_interpolateScale(ka, kb, s, q) {\n if (ka[0] !== kb[0] || ka[1] !== kb[1]) {\n var i = s.push(d3_interpolateTransformPop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ka[0], kb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ka[1], kb[1])\n });\n } else if (kb[0] !== 1 || kb[1] !== 1) {\n s.push(d3_interpolateTransformPop(s) + \"scale(\" + kb + \")\");\n }\n }\n function d3_interpolateTransform(a, b) {\n var s = [], q = [];\n a = d3.transform(a), b = d3.transform(b);\n d3_interpolateTranslate(a.translate, b.translate, s, q);\n d3_interpolateRotate(a.rotate, b.rotate, s, q);\n d3_interpolateSkew(a.skew, b.skew, s, q);\n d3_interpolateScale(a.scale, b.scale, s, q);\n a = b = null;\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n }\n function d3_uninterpolateNumber(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return (x - a) / b;\n };\n }\n function d3_uninterpolateClamp(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return Math.max(0, Math.min(1, (x - a) / b));\n };\n }\n d3.layout = {};\n d3.layout.bundle = function() {\n return function(links) {\n var paths = [], i = -1, n = links.length;\n while (++i < n) paths.push(d3_layout_bundlePath(links[i]));\n return paths;\n };\n };\n function d3_layout_bundlePath(link) {\n var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];\n while (start !== lca) {\n start = start.parent;\n points.push(start);\n }\n var k = points.length;\n while (end !== lca) {\n points.splice(k, 0, end);\n end = end.parent;\n }\n return points;\n }\n function d3_layout_bundleAncestors(node) {\n var ancestors = [], parent = node.parent;\n while (parent != null) {\n ancestors.push(node);\n node = parent;\n parent = parent.parent;\n }\n ancestors.push(node);\n return ancestors;\n }\n function d3_layout_bundleLeastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;\n while (aNode === bNode) {\n sharedNode = aNode;\n aNode = aNodes.pop();\n bNode = bNodes.pop();\n }\n return sharedNode;\n }\n d3.layout.chord = function() {\n var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;\n function relayout() {\n var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;\n chords = [];\n groups = [];\n k = 0, i = -1;\n while (++i < n) {\n x = 0, j = -1;\n while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(d3.range(n));\n k += x;\n }\n if (sortGroups) {\n groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n }\n if (sortSubgroups) {\n subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n }\n k = (τ - padding * n) / k;\n x = 0, i = -1;\n while (++i < n) {\n x0 = x, j = -1;\n while (++j < n) {\n var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;\n subgroups[di + \"-\" + dj] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += padding;\n }\n i = -1;\n while (++i < n) {\n j = i - 1;\n while (++j < n) {\n var source = subgroups[i + \"-\" + j], target = subgroups[j + \"-\" + i];\n if (source.value || target.value) {\n chords.push(source.value < target.value ? {\n source: target,\n target: source\n } : {\n source: source,\n target: target\n });\n }\n }\n }\n if (sortChords) resort();\n }\n function resort() {\n chords.sort(function(a, b) {\n return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);\n });\n }\n chord.matrix = function(x) {\n if (!arguments.length) return matrix;\n n = (matrix = x) && matrix.length;\n chords = groups = null;\n return chord;\n };\n chord.padding = function(x) {\n if (!arguments.length) return padding;\n padding = x;\n chords = groups = null;\n return chord;\n };\n chord.sortGroups = function(x) {\n if (!arguments.length) return sortGroups;\n sortGroups = x;\n chords = groups = null;\n return chord;\n };\n chord.sortSubgroups = function(x) {\n if (!arguments.length) return sortSubgroups;\n sortSubgroups = x;\n chords = null;\n return chord;\n };\n chord.sortChords = function(x) {\n if (!arguments.length) return sortChords;\n sortChords = x;\n if (chords) resort();\n return chord;\n };\n chord.chords = function() {\n if (!chords) relayout();\n return chords;\n };\n chord.groups = function() {\n if (!groups) relayout();\n return groups;\n };\n return chord;\n };\n d3.layout.force = function() {\n var force = {}, event = d3.dispatch(\"start\", \"tick\", \"end\"), timer, size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;\n function repulse(node) {\n return function(quad, x1, _, x2) {\n if (quad.point !== node) {\n var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;\n if (dw * dw / theta2 < dn) {\n if (dn < chargeDistance2) {\n var k = quad.charge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n return true;\n }\n if (quad.point && dn && dn < chargeDistance2) {\n var k = quad.pointCharge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n }\n return !quad.charge;\n };\n }\n force.tick = function() {\n if ((alpha *= .99) < .005) {\n timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n return true;\n }\n var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;\n for (i = 0; i < m; ++i) {\n o = links[i];\n s = o.source;\n t = o.target;\n x = t.x - s.x;\n y = t.y - s.y;\n if (l = x * x + y * y) {\n l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;\n x *= l;\n y *= l;\n t.x -= x * (k = s.weight + t.weight ? s.weight / (s.weight + t.weight) : .5);\n t.y -= y * k;\n s.x += x * (k = 1 - k);\n s.y += y * k;\n }\n }\n if (k = alpha * gravity) {\n x = size[0] / 2;\n y = size[1] / 2;\n i = -1;\n if (k) while (++i < n) {\n o = nodes[i];\n o.x += (x - o.x) * k;\n o.y += (y - o.y) * k;\n }\n }\n if (charge) {\n d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);\n i = -1;\n while (++i < n) {\n if (!(o = nodes[i]).fixed) {\n q.visit(repulse(o));\n }\n }\n }\n i = -1;\n while (++i < n) {\n o = nodes[i];\n if (o.fixed) {\n o.x = o.px;\n o.y = o.py;\n } else {\n o.x -= (o.px - (o.px = o.x)) * friction;\n o.y -= (o.py - (o.py = o.y)) * friction;\n }\n }\n event.tick({\n type: \"tick\",\n alpha: alpha\n });\n };\n force.nodes = function(x) {\n if (!arguments.length) return nodes;\n nodes = x;\n return force;\n };\n force.links = function(x) {\n if (!arguments.length) return links;\n links = x;\n return force;\n };\n force.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return force;\n };\n force.linkDistance = function(x) {\n if (!arguments.length) return linkDistance;\n linkDistance = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.distance = force.linkDistance;\n force.linkStrength = function(x) {\n if (!arguments.length) return linkStrength;\n linkStrength = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.friction = function(x) {\n if (!arguments.length) return friction;\n friction = +x;\n return force;\n };\n force.charge = function(x) {\n if (!arguments.length) return charge;\n charge = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.chargeDistance = function(x) {\n if (!arguments.length) return Math.sqrt(chargeDistance2);\n chargeDistance2 = x * x;\n return force;\n };\n force.gravity = function(x) {\n if (!arguments.length) return gravity;\n gravity = +x;\n return force;\n };\n force.theta = function(x) {\n if (!arguments.length) return Math.sqrt(theta2);\n theta2 = x * x;\n return force;\n };\n force.alpha = function(x) {\n if (!arguments.length) return alpha;\n x = +x;\n if (alpha) {\n if (x > 0) {\n alpha = x;\n } else {\n timer.c = null, timer.t = NaN, timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n }\n } else if (x > 0) {\n event.start({\n type: \"start\",\n alpha: alpha = x\n });\n timer = d3_timer(force.tick);\n }\n return force;\n };\n force.start = function() {\n var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;\n for (i = 0; i < n; ++i) {\n (o = nodes[i]).index = i;\n o.weight = 0;\n }\n for (i = 0; i < m; ++i) {\n o = links[i];\n if (typeof o.source == \"number\") o.source = nodes[o.source];\n if (typeof o.target == \"number\") o.target = nodes[o.target];\n ++o.source.weight;\n ++o.target.weight;\n }\n for (i = 0; i < n; ++i) {\n o = nodes[i];\n if (isNaN(o.x)) o.x = position(\"x\", w);\n if (isNaN(o.y)) o.y = position(\"y\", h);\n if (isNaN(o.px)) o.px = o.x;\n if (isNaN(o.py)) o.py = o.y;\n }\n distances = [];\n if (typeof linkDistance === \"function\") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;\n strengths = [];\n if (typeof linkStrength === \"function\") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;\n charges = [];\n if (typeof charge === \"function\") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;\n function position(dimension, size) {\n if (!neighbors) {\n neighbors = new Array(n);\n for (j = 0; j < n; ++j) {\n neighbors[j] = [];\n }\n for (j = 0; j < m; ++j) {\n var o = links[j];\n neighbors[o.source.index].push(o.target);\n neighbors[o.target.index].push(o.source);\n }\n }\n var candidates = neighbors[i], j = -1, l = candidates.length, x;\n while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x;\n return Math.random() * size;\n }\n return force.resume();\n };\n force.resume = function() {\n return force.alpha(.1);\n };\n force.stop = function() {\n return force.alpha(0);\n };\n force.drag = function() {\n if (!drag) drag = d3.behavior.drag().origin(d3_identity).on(\"dragstart.force\", d3_layout_forceDragstart).on(\"drag.force\", dragmove).on(\"dragend.force\", d3_layout_forceDragend);\n if (!arguments.length) return drag;\n this.on(\"mouseover.force\", d3_layout_forceMouseover).on(\"mouseout.force\", d3_layout_forceMouseout).call(drag);\n };\n function dragmove(d) {\n d.px = d3.event.x, d.py = d3.event.y;\n force.resume();\n }\n return d3.rebind(force, event, \"on\");\n };\n function d3_layout_forceDragstart(d) {\n d.fixed |= 2;\n }\n function d3_layout_forceDragend(d) {\n d.fixed &= ~6;\n }\n function d3_layout_forceMouseover(d) {\n d.fixed |= 4;\n d.px = d.x, d.py = d.y;\n }\n function d3_layout_forceMouseout(d) {\n d.fixed &= ~4;\n }\n function d3_layout_forceAccumulate(quad, alpha, charges) {\n var cx = 0, cy = 0;\n quad.charge = 0;\n if (!quad.leaf) {\n var nodes = quad.nodes, n = nodes.length, i = -1, c;\n while (++i < n) {\n c = nodes[i];\n if (c == null) continue;\n d3_layout_forceAccumulate(c, alpha, charges);\n quad.charge += c.charge;\n cx += c.charge * c.cx;\n cy += c.charge * c.cy;\n }\n }\n if (quad.point) {\n if (!quad.leaf) {\n quad.point.x += Math.random() - .5;\n quad.point.y += Math.random() - .5;\n }\n var k = alpha * charges[quad.point.index];\n quad.charge += quad.pointCharge = k;\n cx += k * quad.point.x;\n cy += k * quad.point.y;\n }\n quad.cx = cx / quad.charge;\n quad.cy = cy / quad.charge;\n }\n var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;\n d3.layout.hierarchy = function() {\n var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;\n function hierarchy(root) {\n var stack = [ root ], nodes = [], node;\n root.depth = 0;\n while ((node = stack.pop()) != null) {\n nodes.push(node);\n if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {\n var n, childs, child;\n while (--n >= 0) {\n stack.push(child = childs[n]);\n child.parent = node;\n child.depth = node.depth + 1;\n }\n if (value) node.value = 0;\n node.children = childs;\n } else {\n if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;\n delete node.children;\n }\n }\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var childs, parent;\n if (sort && (childs = node.children)) childs.sort(sort);\n if (value && (parent = node.parent)) parent.value += node.value;\n });\n return nodes;\n }\n hierarchy.sort = function(x) {\n if (!arguments.length) return sort;\n sort = x;\n return hierarchy;\n };\n hierarchy.children = function(x) {\n if (!arguments.length) return children;\n children = x;\n return hierarchy;\n };\n hierarchy.value = function(x) {\n if (!arguments.length) return value;\n value = x;\n return hierarchy;\n };\n hierarchy.revalue = function(root) {\n if (value) {\n d3_layout_hierarchyVisitBefore(root, function(node) {\n if (node.children) node.value = 0;\n });\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var parent;\n if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;\n if (parent = node.parent) parent.value += node.value;\n });\n }\n return root;\n };\n return hierarchy;\n };\n function d3_layout_hierarchyRebind(object, hierarchy) {\n d3.rebind(object, hierarchy, \"sort\", \"children\", \"value\");\n object.nodes = object;\n object.links = d3_layout_hierarchyLinks;\n return object;\n }\n function d3_layout_hierarchyVisitBefore(node, callback) {\n var nodes = [ node ];\n while ((node = nodes.pop()) != null) {\n callback(node);\n if ((children = node.children) && (n = children.length)) {\n var n, children;\n while (--n >= 0) nodes.push(children[n]);\n }\n }\n }\n function d3_layout_hierarchyVisitAfter(node, callback) {\n var nodes = [ node ], nodes2 = [];\n while ((node = nodes.pop()) != null) {\n nodes2.push(node);\n if ((children = node.children) && (n = children.length)) {\n var i = -1, n, children;\n while (++i < n) nodes.push(children[i]);\n }\n }\n while ((node = nodes2.pop()) != null) {\n callback(node);\n }\n }\n function d3_layout_hierarchyChildren(d) {\n return d.children;\n }\n function d3_layout_hierarchyValue(d) {\n return d.value;\n }\n function d3_layout_hierarchySort(a, b) {\n return b.value - a.value;\n }\n function d3_layout_hierarchyLinks(nodes) {\n return d3.merge(nodes.map(function(parent) {\n return (parent.children || []).map(function(child) {\n return {\n source: parent,\n target: child\n };\n });\n }));\n }\n d3.layout.partition = function() {\n var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];\n function position(node, x, dx, dy) {\n var children = node.children;\n node.x = x;\n node.y = node.depth * dy;\n node.dx = dx;\n node.dy = dy;\n if (children && (n = children.length)) {\n var i = -1, n, c, d;\n dx = node.value ? dx / node.value : 0;\n while (++i < n) {\n position(c = children[i], x, d = c.value * dx, dy);\n x += d;\n }\n }\n }\n function depth(node) {\n var children = node.children, d = 0;\n if (children && (n = children.length)) {\n var i = -1, n;\n while (++i < n) d = Math.max(d, depth(children[i]));\n }\n return 1 + d;\n }\n function partition(d, i) {\n var nodes = hierarchy.call(this, d, i);\n position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));\n return nodes;\n }\n partition.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return partition;\n };\n return d3_layout_hierarchyRebind(partition, hierarchy);\n };\n d3.layout.pie = function() {\n var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0;\n function pie(data) {\n var n = data.length, values = data.map(function(d, i) {\n return +value.call(pie, d, i);\n }), a = +(typeof startAngle === \"function\" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === \"function\" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === \"function\" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), sum = d3.sum(values), k = sum ? (da - n * pa) / sum : 0, index = d3.range(n), arcs = [], v;\n if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {\n return values[j] - values[i];\n } : function(i, j) {\n return sort(data[i], data[j]);\n });\n index.forEach(function(i) {\n arcs[i] = {\n data: data[i],\n value: v = values[i],\n startAngle: a,\n endAngle: a += v * k + pa,\n padAngle: p\n };\n });\n return arcs;\n }\n pie.value = function(_) {\n if (!arguments.length) return value;\n value = _;\n return pie;\n };\n pie.sort = function(_) {\n if (!arguments.length) return sort;\n sort = _;\n return pie;\n };\n pie.startAngle = function(_) {\n if (!arguments.length) return startAngle;\n startAngle = _;\n return pie;\n };\n pie.endAngle = function(_) {\n if (!arguments.length) return endAngle;\n endAngle = _;\n return pie;\n };\n pie.padAngle = function(_) {\n if (!arguments.length) return padAngle;\n padAngle = _;\n return pie;\n };\n return pie;\n };\n var d3_layout_pieSortByValue = {};\n d3.layout.stack = function() {\n var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;\n function stack(data, index) {\n if (!(n = data.length)) return data;\n var series = data.map(function(d, i) {\n return values.call(stack, d, i);\n });\n var points = series.map(function(d) {\n return d.map(function(v, i) {\n return [ x.call(stack, v, i), y.call(stack, v, i) ];\n });\n });\n var orders = order.call(stack, points, index);\n series = d3.permute(series, orders);\n points = d3.permute(points, orders);\n var offsets = offset.call(stack, points, index);\n var m = series[0].length, n, i, j, o;\n for (j = 0; j < m; ++j) {\n out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);\n for (i = 1; i < n; ++i) {\n out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);\n }\n }\n return data;\n }\n stack.values = function(x) {\n if (!arguments.length) return values;\n values = x;\n return stack;\n };\n stack.order = function(x) {\n if (!arguments.length) return order;\n order = typeof x === \"function\" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;\n return stack;\n };\n stack.offset = function(x) {\n if (!arguments.length) return offset;\n offset = typeof x === \"function\" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;\n return stack;\n };\n stack.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n return stack;\n };\n stack.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n return stack;\n };\n stack.out = function(z) {\n if (!arguments.length) return out;\n out = z;\n return stack;\n };\n return stack;\n };\n function d3_layout_stackX(d) {\n return d.x;\n }\n function d3_layout_stackY(d) {\n return d.y;\n }\n function d3_layout_stackOut(d, y0, y) {\n d.y0 = y0;\n d.y = y;\n }\n var d3_layout_stackOrders = d3.map({\n \"inside-out\": function(data) {\n var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {\n return max[a] - max[b];\n }), top = 0, bottom = 0, tops = [], bottoms = [];\n for (i = 0; i < n; ++i) {\n j = index[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n return bottoms.reverse().concat(tops);\n },\n reverse: function(data) {\n return d3.range(data.length).reverse();\n },\n \"default\": d3_layout_stackOrderDefault\n });\n var d3_layout_stackOffsets = d3.map({\n silhouette: function(data) {\n var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o > max) max = o;\n sums.push(o);\n }\n for (j = 0; j < m; ++j) {\n y0[j] = (max - sums[j]) / 2;\n }\n return y0;\n },\n wiggle: function(data) {\n var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];\n y0[0] = o = o0 = 0;\n for (j = 1; j < m; ++j) {\n for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];\n for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {\n for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {\n s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;\n }\n s2 += s3 * data[i][j][1];\n }\n y0[j] = o -= s1 ? s2 / s1 * dx : 0;\n if (o < o0) o0 = o;\n }\n for (j = 0; j < m; ++j) y0[j] -= o0;\n return y0;\n },\n expand: function(data) {\n var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n },\n zero: d3_layout_stackOffsetZero\n });\n function d3_layout_stackOrderDefault(data) {\n return d3.range(data.length);\n }\n function d3_layout_stackOffsetZero(data) {\n var j = -1, m = data[0].length, y0 = [];\n while (++j < m) y0[j] = 0;\n return y0;\n }\n function d3_layout_stackMaxIndex(array) {\n var i = 1, j = 0, v = array[0][1], k, n = array.length;\n for (;i < n; ++i) {\n if ((k = array[i][1]) > v) {\n j = i;\n v = k;\n }\n }\n return j;\n }\n function d3_layout_stackReduceSum(d) {\n return d.reduce(d3_layout_stackSum, 0);\n }\n function d3_layout_stackSum(p, d) {\n return p + d[1];\n }\n d3.layout.histogram = function() {\n var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;\n function histogram(data, i) {\n var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;\n while (++i < m) {\n bin = bins[i] = [];\n bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);\n bin.y = 0;\n }\n if (m > 0) {\n i = -1;\n while (++i < n) {\n x = values[i];\n if (x >= range[0] && x <= range[1]) {\n bin = bins[d3.bisect(thresholds, x, 1, m) - 1];\n bin.y += k;\n bin.push(data[i]);\n }\n }\n }\n return bins;\n }\n histogram.value = function(x) {\n if (!arguments.length) return valuer;\n valuer = x;\n return histogram;\n };\n histogram.range = function(x) {\n if (!arguments.length) return ranger;\n ranger = d3_functor(x);\n return histogram;\n };\n histogram.bins = function(x) {\n if (!arguments.length) return binner;\n binner = typeof x === \"number\" ? function(range) {\n return d3_layout_histogramBinFixed(range, x);\n } : d3_functor(x);\n return histogram;\n };\n histogram.frequency = function(x) {\n if (!arguments.length) return frequency;\n frequency = !!x;\n return histogram;\n };\n return histogram;\n };\n function d3_layout_histogramBinSturges(range, values) {\n return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));\n }\n function d3_layout_histogramBinFixed(range, n) {\n var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];\n while (++x <= n) f[x] = m * x + b;\n return f;\n }\n function d3_layout_histogramRange(values) {\n return [ d3.min(values), d3.max(values) ];\n }\n d3.layout.pack = function() {\n var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;\n function pack(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === \"function\" ? radius : function() {\n return radius;\n };\n root.x = root.y = 0;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r = +r(d.value);\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n if (padding) {\n var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r += dr;\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r -= dr;\n });\n }\n d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));\n return nodes;\n }\n pack.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return pack;\n };\n pack.radius = function(_) {\n if (!arguments.length) return radius;\n radius = _ == null || typeof _ === \"function\" ? _ : +_;\n return pack;\n };\n pack.padding = function(_) {\n if (!arguments.length) return padding;\n padding = +_;\n return pack;\n };\n return d3_layout_hierarchyRebind(pack, hierarchy);\n };\n function d3_layout_packSort(a, b) {\n return a.value - b.value;\n }\n function d3_layout_packInsert(a, b) {\n var c = a._pack_next;\n a._pack_next = b;\n b._pack_prev = a;\n b._pack_next = c;\n c._pack_prev = b;\n }\n function d3_layout_packSplice(a, b) {\n a._pack_next = b;\n b._pack_prev = a;\n }\n function d3_layout_packIntersects(a, b) {\n var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;\n return .999 * dr * dr > dx * dx + dy * dy;\n }\n function d3_layout_packSiblings(node) {\n if (!(nodes = node.children) || !(n = nodes.length)) return;\n var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;\n function bound(node) {\n xMin = Math.min(node.x - node.r, xMin);\n xMax = Math.max(node.x + node.r, xMax);\n yMin = Math.min(node.y - node.r, yMin);\n yMax = Math.max(node.y + node.r, yMax);\n }\n nodes.forEach(d3_layout_packLink);\n a = nodes[0];\n a.x = -a.r;\n a.y = 0;\n bound(a);\n if (n > 1) {\n b = nodes[1];\n b.x = b.r;\n b.y = 0;\n bound(b);\n if (n > 2) {\n c = nodes[2];\n d3_layout_packPlace(a, b, c);\n bound(c);\n d3_layout_packInsert(a, c);\n a._pack_prev = c;\n d3_layout_packInsert(c, b);\n b = a._pack_next;\n for (i = 3; i < n; i++) {\n d3_layout_packPlace(a, b, c = nodes[i]);\n var isect = 0, s1 = 1, s2 = 1;\n for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {\n if (d3_layout_packIntersects(j, c)) {\n isect = 1;\n break;\n }\n }\n if (isect == 1) {\n for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {\n if (d3_layout_packIntersects(k, c)) {\n break;\n }\n }\n }\n if (isect) {\n if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);\n i--;\n } else {\n d3_layout_packInsert(a, c);\n b = c;\n bound(c);\n }\n }\n }\n }\n var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;\n for (i = 0; i < n; i++) {\n c = nodes[i];\n c.x -= cx;\n c.y -= cy;\n cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));\n }\n node.r = cr;\n nodes.forEach(d3_layout_packUnlink);\n }\n function d3_layout_packLink(node) {\n node._pack_next = node._pack_prev = node;\n }\n function d3_layout_packUnlink(node) {\n delete node._pack_next;\n delete node._pack_prev;\n }\n function d3_layout_packTransform(node, x, y, k) {\n var children = node.children;\n node.x = x += k * node.x;\n node.y = y += k * node.y;\n node.r *= k;\n if (children) {\n var i = -1, n = children.length;\n while (++i < n) d3_layout_packTransform(children[i], x, y, k);\n }\n }\n function d3_layout_packPlace(a, b, c) {\n var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;\n if (db && (dx || dy)) {\n var da = b.r + c.r, dc = dx * dx + dy * dy;\n da *= da;\n db *= db;\n var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n c.x = a.x + x * dx + y * dy;\n c.y = a.y + x * dy - y * dx;\n } else {\n c.x = a.x + db;\n c.y = a.y;\n }\n }\n d3.layout.tree = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;\n function tree(d, i) {\n var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);\n d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;\n d3_layout_hierarchyVisitBefore(root1, secondWalk);\n if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {\n var left = root0, right = root0, bottom = root0;\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n return nodes;\n }\n function wrapTree(root0) {\n var root1 = {\n A: null,\n children: [ root0 ]\n }, queue = [ root1 ], node1;\n while ((node1 = queue.pop()) != null) {\n for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {\n queue.push((children[i] = child = {\n _: children[i],\n parent: node1,\n children: (child = children[i].children) && child.slice() || [],\n A: null,\n a: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n i: i\n }).a = child);\n }\n }\n return root1.children[0];\n }\n function firstWalk(v) {\n var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;\n if (children.length) {\n d3_layout_treeShift(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;\n while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {\n vom = d3_layout_treeLeft(vom);\n vop = d3_layout_treeRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !d3_layout_treeRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !d3_layout_treeLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n function sizeNode(node) {\n node.x *= size[0];\n node.y = node.depth * size[1];\n }\n tree.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return tree;\n };\n tree.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null ? sizeNode : null;\n return tree;\n };\n tree.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) == null ? null : sizeNode;\n return tree;\n };\n return d3_layout_hierarchyRebind(tree, hierarchy);\n };\n function d3_layout_treeSeparation(a, b) {\n return a.parent == b.parent ? 1 : 2;\n }\n function d3_layout_treeLeft(v) {\n var children = v.children;\n return children.length ? children[0] : v.t;\n }\n function d3_layout_treeRight(v) {\n var children = v.children, n;\n return (n = children.length) ? children[n - 1] : v.t;\n }\n function d3_layout_treeMove(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n }\n function d3_layout_treeShift(v) {\n var shift = 0, change = 0, children = v.children, i = children.length, w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n }\n function d3_layout_treeAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n }\n d3.layout.cluster = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;\n function cluster(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var children = node.children;\n if (children && children.length) {\n node.x = d3_layout_clusterX(children);\n node.y = d3_layout_clusterY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;\n d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {\n node.x = (node.x - root.x) * size[0];\n node.y = (root.y - node.y) * size[1];\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * size[0];\n node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];\n });\n return nodes;\n }\n cluster.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return cluster;\n };\n cluster.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null;\n return cluster;\n };\n cluster.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) != null;\n return cluster;\n };\n return d3_layout_hierarchyRebind(cluster, hierarchy);\n };\n function d3_layout_clusterY(children) {\n return 1 + d3.max(children, function(child) {\n return child.y;\n });\n }\n function d3_layout_clusterX(children) {\n return children.reduce(function(x, child) {\n return x + child.x;\n }, 0) / children.length;\n }\n function d3_layout_clusterLeft(node) {\n var children = node.children;\n return children && children.length ? d3_layout_clusterLeft(children[0]) : node;\n }\n function d3_layout_clusterRight(node) {\n var children = node.children, n;\n return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;\n }\n d3.layout.treemap = function() {\n var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = \"squarify\", ratio = .5 * (1 + Math.sqrt(5));\n function scale(children, k) {\n var i = -1, n = children.length, child, area;\n while (++i < n) {\n area = (child = children[i]).value * (k < 0 ? 0 : k);\n child.area = isNaN(area) || area <= 0 ? 0 : area;\n }\n }\n function squarify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === \"slice\" ? rect.dx : mode === \"dice\" ? rect.dy : mode === \"slice-dice\" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while ((n = remaining.length) > 0) {\n row.push(child = remaining[n - 1]);\n row.area += child.area;\n if (mode !== \"squarify\" || (score = worst(row, u)) <= best) {\n remaining.pop();\n best = score;\n } else {\n row.area -= row.pop().area;\n position(row, u, rect, false);\n u = Math.min(rect.dx, rect.dy);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n position(row, u, rect, true);\n row.length = row.area = 0;\n }\n children.forEach(squarify);\n }\n }\n function stickify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), remaining = children.slice(), child, row = [];\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while (child = remaining.pop()) {\n row.push(child);\n row.area += child.area;\n if (child.z != null) {\n position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);\n row.length = row.area = 0;\n }\n }\n children.forEach(stickify);\n }\n }\n function worst(row, u) {\n var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;\n while (++i < n) {\n if (!(r = row[i].area)) continue;\n if (r < rmin) rmin = r;\n if (r > rmax) rmax = r;\n }\n s *= s;\n u *= u;\n return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;\n }\n function position(row, u, rect, flush) {\n var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;\n if (u == rect.dx) {\n if (flush || v > rect.dy) v = rect.dy;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dy = v;\n x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);\n }\n o.z = true;\n o.dx += rect.x + rect.dx - x;\n rect.y += v;\n rect.dy -= v;\n } else {\n if (flush || v > rect.dx) v = rect.dx;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dx = v;\n y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);\n }\n o.z = false;\n o.dy += rect.y + rect.dy - y;\n rect.x += v;\n rect.dx -= v;\n }\n }\n function treemap(d) {\n var nodes = stickies || hierarchy(d), root = nodes[0];\n root.x = root.y = 0;\n if (root.value) root.dx = size[0], root.dy = size[1]; else root.dx = root.dy = 0;\n if (stickies) hierarchy.revalue(root);\n scale([ root ], root.dx * root.dy / root.value);\n (stickies ? stickify : squarify)(root);\n if (sticky) stickies = nodes;\n return nodes;\n }\n treemap.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return treemap;\n };\n treemap.padding = function(x) {\n if (!arguments.length) return padding;\n function padFunction(node) {\n var p = x.call(treemap, node, node.depth);\n return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === \"number\" ? [ p, p, p, p ] : p);\n }\n function padConstant(node) {\n return d3_layout_treemapPad(node, x);\n }\n var type;\n pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === \"function\" ? padFunction : type === \"number\" ? (x = [ x, x, x, x ], \n padConstant) : padConstant;\n return treemap;\n };\n treemap.round = function(x) {\n if (!arguments.length) return round != Number;\n round = x ? Math.round : Number;\n return treemap;\n };\n treemap.sticky = function(x) {\n if (!arguments.length) return sticky;\n sticky = x;\n stickies = null;\n return treemap;\n };\n treemap.ratio = function(x) {\n if (!arguments.length) return ratio;\n ratio = x;\n return treemap;\n };\n treemap.mode = function(x) {\n if (!arguments.length) return mode;\n mode = x + \"\";\n return treemap;\n };\n return d3_layout_hierarchyRebind(treemap, hierarchy);\n };\n function d3_layout_treemapPadNull(node) {\n return {\n x: node.x,\n y: node.y,\n dx: node.dx,\n dy: node.dy\n };\n }\n function d3_layout_treemapPad(node, padding) {\n var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];\n if (dx < 0) {\n x += dx / 2;\n dx = 0;\n }\n if (dy < 0) {\n y += dy / 2;\n dy = 0;\n }\n return {\n x: x,\n y: y,\n dx: dx,\n dy: dy\n };\n }\n d3.random = {\n normal: function(µ, σ) {\n var n = arguments.length;\n if (n < 2) σ = 1;\n if (n < 1) µ = 0;\n return function() {\n var x, y, r;\n do {\n x = Math.random() * 2 - 1;\n y = Math.random() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);\n };\n },\n logNormal: function() {\n var random = d3.random.normal.apply(d3, arguments);\n return function() {\n return Math.exp(random());\n };\n },\n bates: function(m) {\n var random = d3.random.irwinHall(m);\n return function() {\n return random() / m;\n };\n },\n irwinHall: function(m) {\n return function() {\n for (var s = 0, j = 0; j < m; j++) s += Math.random();\n return s;\n };\n }\n };\n d3.scale = {};\n function d3_scaleExtent(domain) {\n var start = domain[0], stop = domain[domain.length - 1];\n return start < stop ? [ start, stop ] : [ stop, start ];\n }\n function d3_scaleRange(scale) {\n return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());\n }\n function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {\n var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);\n return function(x) {\n return i(u(x));\n };\n }\n function d3_scale_nice(domain, nice) {\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;\n if (x1 < x0) {\n dx = i0, i0 = i1, i1 = dx;\n dx = x0, x0 = x1, x1 = dx;\n }\n domain[i0] = nice.floor(x0);\n domain[i1] = nice.ceil(x1);\n return domain;\n }\n function d3_scale_niceStep(step) {\n return step ? {\n floor: function(x) {\n return Math.floor(x / step) * step;\n },\n ceil: function(x) {\n return Math.ceil(x / step) * step;\n }\n } : d3_scale_niceIdentity;\n }\n var d3_scale_niceIdentity = {\n floor: d3_identity,\n ceil: d3_identity\n };\n function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {\n var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;\n if (domain[k] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n while (++j <= k) {\n u.push(uninterpolate(domain[j - 1], domain[j]));\n i.push(interpolate(range[j - 1], range[j]));\n }\n return function(x) {\n var j = d3.bisect(domain, x, 1, k) - 1;\n return i[j](u[j](x));\n };\n }\n d3.scale.linear = function() {\n return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);\n };\n function d3_scale_linear(domain, range, interpolate, clamp) {\n var output, input;\n function rescale() {\n var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;\n output = linear(domain, range, uninterpolate, interpolate);\n input = linear(range, domain, uninterpolate, d3_interpolate);\n return scale;\n }\n function scale(x) {\n return output(x);\n }\n scale.invert = function(y) {\n return input(y);\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(Number);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.rangeRound = function(x) {\n return scale.range(x).interpolate(d3_interpolateRound);\n };\n scale.clamp = function(x) {\n if (!arguments.length) return clamp;\n clamp = x;\n return rescale();\n };\n scale.interpolate = function(x) {\n if (!arguments.length) return interpolate;\n interpolate = x;\n return rescale();\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n d3_scale_linearNice(domain, m);\n return rescale();\n };\n scale.copy = function() {\n return d3_scale_linear(domain, range, interpolate, clamp);\n };\n return rescale();\n }\n function d3_scale_linearRebind(scale, linear) {\n return d3.rebind(scale, linear, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n }\n function d3_scale_linearNice(domain, m) {\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n return domain;\n }\n function d3_scale_linearTickRange(domain, m) {\n if (m == null) m = 10;\n var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;\n if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;\n extent[0] = Math.ceil(extent[0] / step) * step;\n extent[1] = Math.floor(extent[1] / step) * step + step * .5;\n extent[2] = step;\n return extent;\n }\n function d3_scale_linearTicks(domain, m) {\n return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));\n }\n function d3_scale_linearTickFormat(domain, m, format) {\n var range = d3_scale_linearTickRange(domain, m);\n if (format) {\n var match = d3_format_re.exec(format);\n match.shift();\n if (match[8] === \"s\") {\n var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));\n if (!match[7]) match[7] = \".\" + d3_scale_linearPrecision(prefix.scale(range[2]));\n match[8] = \"f\";\n format = d3.format(match.join(\"\"));\n return function(d) {\n return format(prefix.scale(d)) + prefix.symbol;\n };\n }\n if (!match[7]) match[7] = \".\" + d3_scale_linearFormatPrecision(match[8], range);\n format = match.join(\"\");\n } else {\n format = \",.\" + d3_scale_linearPrecision(range[2]) + \"f\";\n }\n return d3.format(format);\n }\n var d3_scale_linearFormatSignificant = {\n s: 1,\n g: 1,\n p: 1,\n r: 1,\n e: 1\n };\n function d3_scale_linearPrecision(value) {\n return -Math.floor(Math.log(value) / Math.LN10 + .01);\n }\n function d3_scale_linearFormatPrecision(type, range) {\n var p = d3_scale_linearPrecision(range[2]);\n return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== \"e\") : p - (type === \"%\") * 2;\n }\n d3.scale.log = function() {\n return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);\n };\n function d3_scale_log(linear, base, positive, domain) {\n function log(x) {\n return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);\n }\n function pow(x) {\n return positive ? Math.pow(base, x) : -Math.pow(base, -x);\n }\n function scale(x) {\n return linear(log(x));\n }\n scale.invert = function(x) {\n return pow(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n positive = x[0] >= 0;\n linear.domain((domain = x.map(Number)).map(log));\n return scale;\n };\n scale.base = function(_) {\n if (!arguments.length) return base;\n base = +_;\n linear.domain(domain.map(log));\n return scale;\n };\n scale.nice = function() {\n var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);\n linear.domain(niced);\n domain = niced.map(pow);\n return scale;\n };\n scale.ticks = function() {\n var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;\n if (isFinite(j - i)) {\n if (positive) {\n for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);\n ticks.push(pow(i));\n } else {\n ticks.push(pow(i));\n for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);\n }\n for (i = 0; ticks[i] < u; i++) {}\n for (j = ticks.length; ticks[j - 1] > v; j--) {}\n ticks = ticks.slice(i, j);\n }\n return ticks;\n };\n scale.tickFormat = function(n, format) {\n if (!arguments.length) return d3_scale_logFormat;\n if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== \"function\") format = d3.format(format);\n var k = Math.max(1, base * n / scale.ticks().length);\n return function(d) {\n var i = d / pow(Math.round(log(d)));\n if (i * base < base - .5) i *= base;\n return i <= k ? format(d) : \"\";\n };\n };\n scale.copy = function() {\n return d3_scale_log(linear.copy(), base, positive, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n var d3_scale_logFormat = d3.format(\".0e\"), d3_scale_logNiceNegative = {\n floor: function(x) {\n return -Math.ceil(-x);\n },\n ceil: function(x) {\n return -Math.floor(-x);\n }\n };\n d3.scale.pow = function() {\n return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);\n };\n function d3_scale_pow(linear, exponent, domain) {\n var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);\n function scale(x) {\n return linear(powp(x));\n }\n scale.invert = function(x) {\n return powb(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n linear.domain((domain = x.map(Number)).map(powp));\n return scale;\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n return scale.domain(d3_scale_linearNice(domain, m));\n };\n scale.exponent = function(x) {\n if (!arguments.length) return exponent;\n powp = d3_scale_powPow(exponent = x);\n powb = d3_scale_powPow(1 / exponent);\n linear.domain(domain.map(powp));\n return scale;\n };\n scale.copy = function() {\n return d3_scale_pow(linear.copy(), exponent, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_scale_powPow(e) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);\n };\n }\n d3.scale.sqrt = function() {\n return d3.scale.pow().exponent(.5);\n };\n d3.scale.ordinal = function() {\n return d3_scale_ordinal([], {\n t: \"range\",\n a: [ [] ]\n });\n };\n function d3_scale_ordinal(domain, ranger) {\n var index, range, rangeBand;\n function scale(x) {\n return range[((index.get(x) || (ranger.t === \"range\" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];\n }\n function steps(start, step) {\n return d3.range(domain.length).map(function(i) {\n return start + step * i;\n });\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = [];\n index = new d3_Map();\n var i = -1, n = x.length, xi;\n while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));\n return scale[ranger.t].apply(scale, ranger.a);\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n rangeBand = 0;\n ranger = {\n t: \"range\",\n a: arguments\n };\n return scale;\n };\n scale.rangePoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, \n 0) : (stop - start) / (domain.length - 1 + padding);\n range = steps(start + step * padding / 2, step);\n rangeBand = 0;\n ranger = {\n t: \"rangePoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundPoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), \n 0) : (stop - start) / (domain.length - 1 + padding) | 0;\n range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);\n rangeBand = 0;\n ranger = {\n t: \"rangeRoundPoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);\n range = steps(start + step * outerPadding, step);\n if (reverse) range.reverse();\n rangeBand = step * (1 - padding);\n ranger = {\n t: \"rangeBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));\n range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);\n if (reverse) range.reverse();\n rangeBand = Math.round(step * (1 - padding));\n ranger = {\n t: \"rangeRoundBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBand = function() {\n return rangeBand;\n };\n scale.rangeExtent = function() {\n return d3_scaleExtent(ranger.a[0]);\n };\n scale.copy = function() {\n return d3_scale_ordinal(domain, ranger);\n };\n return scale.domain(domain);\n }\n d3.scale.category10 = function() {\n return d3.scale.ordinal().range(d3_category10);\n };\n d3.scale.category20 = function() {\n return d3.scale.ordinal().range(d3_category20);\n };\n d3.scale.category20b = function() {\n return d3.scale.ordinal().range(d3_category20b);\n };\n d3.scale.category20c = function() {\n return d3.scale.ordinal().range(d3_category20c);\n };\n var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);\n var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);\n var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);\n var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);\n d3.scale.quantile = function() {\n return d3_scale_quantile([], []);\n };\n function d3_scale_quantile(domain, range) {\n var thresholds;\n function rescale() {\n var k = 0, q = range.length;\n thresholds = [];\n while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);\n return scale;\n }\n function scale(x) {\n if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.quantiles = function() {\n return thresholds;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];\n };\n scale.copy = function() {\n return d3_scale_quantile(domain, range);\n };\n return rescale();\n }\n d3.scale.quantize = function() {\n return d3_scale_quantize(0, 1, [ 0, 1 ]);\n };\n function d3_scale_quantize(x0, x1, range) {\n var kx, i;\n function scale(x) {\n return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];\n }\n function rescale() {\n kx = range.length / (x1 - x0);\n i = range.length - 1;\n return scale;\n }\n scale.domain = function(x) {\n if (!arguments.length) return [ x0, x1 ];\n x0 = +x[0];\n x1 = +x[x.length - 1];\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n y = y < 0 ? NaN : y / kx + x0;\n return [ y, y + 1 / kx ];\n };\n scale.copy = function() {\n return d3_scale_quantize(x0, x1, range);\n };\n return rescale();\n }\n d3.scale.threshold = function() {\n return d3_scale_threshold([ .5 ], [ 0, 1 ]);\n };\n function d3_scale_threshold(domain, range) {\n function scale(x) {\n if (x <= x) return range[d3.bisect(domain, x)];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain;\n domain = _;\n return scale;\n };\n scale.range = function(_) {\n if (!arguments.length) return range;\n range = _;\n return scale;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return [ domain[y - 1], domain[y] ];\n };\n scale.copy = function() {\n return d3_scale_threshold(domain, range);\n };\n return scale;\n }\n d3.scale.identity = function() {\n return d3_scale_identity([ 0, 1 ]);\n };\n function d3_scale_identity(domain) {\n function identity(x) {\n return +x;\n }\n identity.invert = identity;\n identity.domain = identity.range = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(identity);\n return identity;\n };\n identity.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n identity.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n identity.copy = function() {\n return d3_scale_identity(domain);\n };\n return identity;\n }\n d3.svg = {};\n function d3_zero() {\n return 0;\n }\n d3.svg.arc = function() {\n var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;\n function arc() {\n var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;\n if (r1 < r0) rc = r1, r1 = r0, r0 = rc;\n if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : \"\") + \"Z\";\n var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];\n if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {\n rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);\n if (!cw) p1 *= -1;\n if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));\n if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));\n }\n if (r1) {\n x0 = r1 * Math.cos(a0 + p1);\n y0 = r1 * Math.sin(a0 + p1);\n x1 = r1 * Math.cos(a1 - p1);\n y1 = r1 * Math.sin(a1 - p1);\n var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1;\n if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {\n var h1 = (a0 + a1) / 2;\n x0 = r1 * Math.cos(h1);\n y0 = r1 * Math.sin(h1);\n x1 = y1 = null;\n }\n } else {\n x0 = y0 = 0;\n }\n if (r0) {\n x2 = r0 * Math.cos(a1 - p0);\n y2 = r0 * Math.sin(a1 - p0);\n x3 = r0 * Math.cos(a0 + p0);\n y3 = r0 * Math.sin(a0 + p0);\n var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1;\n if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {\n var h0 = (a0 + a1) / 2;\n x2 = r0 * Math.cos(h0);\n y2 = r0 * Math.sin(h0);\n x3 = y3 = null;\n }\n } else {\n x2 = y2 = 0;\n }\n if (da > ε && (rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {\n cr = r0 < r1 ^ cw ? 0 : 1;\n var rc1 = rc, rc0 = rc;\n if (da < π) {\n var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Math.min(rc, (r0 - lc) / (kc - 1));\n rc1 = Math.min(rc, (r1 - lc) / (kc + 1));\n }\n if (x1 != null) {\n var t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);\n if (rc === rc1) {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t30[1], \"A\", r1, \",\", r1, \" 0 \", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), \",\", cw, \" \", t12[1], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t12[0]);\n } else {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 1,\", cr, \" \", t12[0]);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n }\n if (x3 != null) {\n var t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);\n if (rc === rc0) {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t21[1], \"A\", r0, \",\", r0, \" 0 \", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), \",\", 1 - cw, \" \", t03[1], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n } else {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n }\n } else {\n path.push(\"L\", x2, \",\", y2);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n if (x1 != null) path.push(\"A\", r1, \",\", r1, \" 0 \", l1, \",\", cw, \" \", x1, \",\", y1);\n path.push(\"L\", x2, \",\", y2);\n if (x3 != null) path.push(\"A\", r0, \",\", r0, \" 0 \", l0, \",\", 1 - cw, \" \", x3, \",\", y3);\n }\n path.push(\"Z\");\n return path.join(\"\");\n }\n function circleSegment(r1, cw) {\n return \"M0,\" + r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + -r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + r1;\n }\n arc.innerRadius = function(v) {\n if (!arguments.length) return innerRadius;\n innerRadius = d3_functor(v);\n return arc;\n };\n arc.outerRadius = function(v) {\n if (!arguments.length) return outerRadius;\n outerRadius = d3_functor(v);\n return arc;\n };\n arc.cornerRadius = function(v) {\n if (!arguments.length) return cornerRadius;\n cornerRadius = d3_functor(v);\n return arc;\n };\n arc.padRadius = function(v) {\n if (!arguments.length) return padRadius;\n padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);\n return arc;\n };\n arc.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return arc;\n };\n arc.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return arc;\n };\n arc.padAngle = function(v) {\n if (!arguments.length) return padAngle;\n padAngle = d3_functor(v);\n return arc;\n };\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ;\n return [ Math.cos(a) * r, Math.sin(a) * r ];\n };\n return arc;\n };\n var d3_svg_arcAuto = \"auto\";\n function d3_svg_arcInnerRadius(d) {\n return d.innerRadius;\n }\n function d3_svg_arcOuterRadius(d) {\n return d.outerRadius;\n }\n function d3_svg_arcStartAngle(d) {\n return d.startAngle;\n }\n function d3_svg_arcEndAngle(d) {\n return d.endAngle;\n }\n function d3_svg_arcPadAngle(d) {\n return d && d.padAngle;\n }\n function d3_svg_arcSweep(x0, y0, x1, y1) {\n return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;\n }\n function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {\n var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];\n }\n function d3_svg_line(projection) {\n var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;\n function line(data) {\n var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);\n function segment() {\n segments.push(\"M\", interpolate(projection(points), tension));\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);\n } else if (points.length) {\n segment();\n points = [];\n }\n }\n if (points.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n line.x = function(_) {\n if (!arguments.length) return x;\n x = _;\n return line;\n };\n line.y = function(_) {\n if (!arguments.length) return y;\n y = _;\n return line;\n };\n line.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return line;\n };\n line.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n return line;\n };\n line.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return line;\n };\n return line;\n }\n d3.svg.line = function() {\n return d3_svg_line(d3_identity);\n };\n var d3_svg_lineInterpolators = d3.map({\n linear: d3_svg_lineLinear,\n \"linear-closed\": d3_svg_lineLinearClosed,\n step: d3_svg_lineStep,\n \"step-before\": d3_svg_lineStepBefore,\n \"step-after\": d3_svg_lineStepAfter,\n basis: d3_svg_lineBasis,\n \"basis-open\": d3_svg_lineBasisOpen,\n \"basis-closed\": d3_svg_lineBasisClosed,\n bundle: d3_svg_lineBundle,\n cardinal: d3_svg_lineCardinal,\n \"cardinal-open\": d3_svg_lineCardinalOpen,\n \"cardinal-closed\": d3_svg_lineCardinalClosed,\n monotone: d3_svg_lineMonotone\n });\n d3_svg_lineInterpolators.forEach(function(key, value) {\n value.key = key;\n value.closed = /-closed$/.test(key);\n });\n function d3_svg_lineLinear(points) {\n return points.length > 1 ? points.join(\"L\") : points + \"Z\";\n }\n function d3_svg_lineLinearClosed(points) {\n return points.join(\"L\") + \"Z\";\n }\n function d3_svg_lineStep(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p[0] + (p = points[i])[0]) / 2, \"V\", p[1]);\n if (n > 1) path.push(\"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepBefore(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"V\", (p = points[i])[1], \"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepAfter(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p = points[i])[0], \"V\", p[1]);\n return path.join(\"\");\n }\n function d3_svg_lineCardinalOpen(points, tension) {\n return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineCardinalClosed(points, tension) {\n return points.length < 3 ? d3_svg_lineLinearClosed(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), \n points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));\n }\n function d3_svg_lineCardinal(points, tension) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineHermite(points, tangents) {\n if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {\n return d3_svg_lineLinear(points);\n }\n var quad = points.length != tangents.length, path = \"\", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;\n if (quad) {\n path += \"Q\" + (p[0] - t0[0] * 2 / 3) + \",\" + (p[1] - t0[1] * 2 / 3) + \",\" + p[0] + \",\" + p[1];\n p0 = points[1];\n pi = 2;\n }\n if (tangents.length > 1) {\n t = tangents[1];\n p = points[pi];\n pi++;\n path += \"C\" + (p0[0] + t0[0]) + \",\" + (p0[1] + t0[1]) + \",\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n for (var i = 2; i < tangents.length; i++, pi++) {\n p = points[pi];\n t = tangents[i];\n path += \"S\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n }\n }\n if (quad) {\n var lp = points[pi];\n path += \"Q\" + (p[0] + t[0] * 2 / 3) + \",\" + (p[1] + t[1] * 2 / 3) + \",\" + lp[0] + \",\" + lp[1];\n }\n return path;\n }\n function d3_svg_lineCardinalTangents(points, tension) {\n var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;\n while (++i < n) {\n p0 = p1;\n p1 = p2;\n p2 = points[i];\n tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);\n }\n return tangents;\n }\n function d3_svg_lineBasis(points) {\n if (points.length < 3) return d3_svg_lineLinear(points);\n var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, \",\", y0, \"L\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n points.push(points[n - 1]);\n while (++i <= n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n points.pop();\n path.push(\"L\", pi);\n return path.join(\"\");\n }\n function d3_svg_lineBasisOpen(points) {\n if (points.length < 4) return d3_svg_lineLinear(points);\n var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];\n while (++i < 3) {\n pi = points[i];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + \",\" + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));\n --i;\n while (++i < n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBasisClosed(points) {\n var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];\n while (++i < 4) {\n pi = points[i % n];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n --i;\n while (++i < m) {\n pi = points[i % n];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBundle(points, tension) {\n var n = points.length - 1;\n if (n) {\n var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;\n while (++i <= n) {\n p = points[i];\n t = i / n;\n p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);\n p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);\n }\n }\n return d3_svg_lineBasis(points);\n }\n function d3_svg_lineDot4(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n }\n var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];\n function d3_svg_lineBasisBezier(path, x, y) {\n path.push(\"C\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));\n }\n function d3_svg_lineSlope(p0, p1) {\n return (p1[1] - p0[1]) / (p1[0] - p0[0]);\n }\n function d3_svg_lineFiniteDifferences(points) {\n var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);\n while (++i < j) {\n m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;\n }\n m[i] = d;\n return m;\n }\n function d3_svg_lineMonotoneTangents(points) {\n var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;\n while (++i < j) {\n d = d3_svg_lineSlope(points[i], points[i + 1]);\n if (abs(d) < ε) {\n m[i] = m[i + 1] = 0;\n } else {\n a = m[i] / d;\n b = m[i + 1] / d;\n s = a * a + b * b;\n if (s > 9) {\n s = d * 3 / Math.sqrt(s);\n m[i] = s * a;\n m[i + 1] = s * b;\n }\n }\n }\n i = -1;\n while (++i <= j) {\n s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));\n tangents.push([ s || 0, m[i] * s || 0 ]);\n }\n return tangents;\n }\n function d3_svg_lineMonotone(points) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));\n }\n d3.svg.line.radial = function() {\n var line = d3_svg_line(d3_svg_lineRadial);\n line.radius = line.x, delete line.x;\n line.angle = line.y, delete line.y;\n return line;\n };\n function d3_svg_lineRadial(points) {\n var point, i = -1, n = points.length, r, a;\n while (++i < n) {\n point = points[i];\n r = point[0];\n a = point[1] - halfπ;\n point[0] = r * Math.cos(a);\n point[1] = r * Math.sin(a);\n }\n return points;\n }\n function d3_svg_area(projection) {\n var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = \"L\", tension = .7;\n function area(data) {\n var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {\n return x;\n } : d3_functor(x1), fy1 = y0 === y1 ? function() {\n return y;\n } : d3_functor(y1), x, y;\n function segment() {\n segments.push(\"M\", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), \"Z\");\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);\n points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);\n } else if (points0.length) {\n segment();\n points0 = [];\n points1 = [];\n }\n }\n if (points0.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n area.x = function(_) {\n if (!arguments.length) return x1;\n x0 = x1 = _;\n return area;\n };\n area.x0 = function(_) {\n if (!arguments.length) return x0;\n x0 = _;\n return area;\n };\n area.x1 = function(_) {\n if (!arguments.length) return x1;\n x1 = _;\n return area;\n };\n area.y = function(_) {\n if (!arguments.length) return y1;\n y0 = y1 = _;\n return area;\n };\n area.y0 = function(_) {\n if (!arguments.length) return y0;\n y0 = _;\n return area;\n };\n area.y1 = function(_) {\n if (!arguments.length) return y1;\n y1 = _;\n return area;\n };\n area.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return area;\n };\n area.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n interpolateReverse = interpolate.reverse || interpolate;\n L = interpolate.closed ? \"M\" : \"L\";\n return area;\n };\n area.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return area;\n };\n return area;\n }\n d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;\n d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;\n d3.svg.area = function() {\n return d3_svg_area(d3_identity);\n };\n d3.svg.area.radial = function() {\n var area = d3_svg_area(d3_svg_lineRadial);\n area.radius = area.x, delete area.x;\n area.innerRadius = area.x0, delete area.x0;\n area.outerRadius = area.x1, delete area.x1;\n area.angle = area.y, delete area.y;\n area.startAngle = area.y0, delete area.y0;\n area.endAngle = area.y1, delete area.y1;\n return area;\n };\n d3.svg.chord = function() {\n var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;\n function chord(d, i) {\n var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);\n return \"M\" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + \"Z\";\n }\n function subgroup(self, f, d, i) {\n var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ;\n return {\n r: r,\n a0: a0,\n a1: a1,\n p0: [ r * Math.cos(a0), r * Math.sin(a0) ],\n p1: [ r * Math.cos(a1), r * Math.sin(a1) ]\n };\n }\n function equals(a, b) {\n return a.a0 == b.a0 && a.a1 == b.a1;\n }\n function arc(r, p, a) {\n return \"A\" + r + \",\" + r + \" 0 \" + +(a > π) + \",1 \" + p;\n }\n function curve(r0, p0, r1, p1) {\n return \"Q 0,0 \" + p1;\n }\n chord.radius = function(v) {\n if (!arguments.length) return radius;\n radius = d3_functor(v);\n return chord;\n };\n chord.source = function(v) {\n if (!arguments.length) return source;\n source = d3_functor(v);\n return chord;\n };\n chord.target = function(v) {\n if (!arguments.length) return target;\n target = d3_functor(v);\n return chord;\n };\n chord.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return chord;\n };\n chord.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return chord;\n };\n return chord;\n };\n function d3_svg_chordRadius(d) {\n return d.radius;\n }\n d3.svg.diagonal = function() {\n var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;\n function diagonal(d, i) {\n var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {\n x: p0.x,\n y: m\n }, {\n x: p3.x,\n y: m\n }, p3 ];\n p = p.map(projection);\n return \"M\" + p[0] + \"C\" + p[1] + \" \" + p[2] + \" \" + p[3];\n }\n diagonal.source = function(x) {\n if (!arguments.length) return source;\n source = d3_functor(x);\n return diagonal;\n };\n diagonal.target = function(x) {\n if (!arguments.length) return target;\n target = d3_functor(x);\n return diagonal;\n };\n diagonal.projection = function(x) {\n if (!arguments.length) return projection;\n projection = x;\n return diagonal;\n };\n return diagonal;\n };\n function d3_svg_diagonalProjection(d) {\n return [ d.x, d.y ];\n }\n d3.svg.diagonal.radial = function() {\n var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;\n diagonal.projection = function(x) {\n return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;\n };\n return diagonal;\n };\n function d3_svg_diagonalRadialProjection(projection) {\n return function() {\n var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ;\n return [ r * Math.cos(a), r * Math.sin(a) ];\n };\n }\n d3.svg.symbol = function() {\n var type = d3_svg_symbolType, size = d3_svg_symbolSize;\n function symbol(d, i) {\n return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));\n }\n symbol.type = function(x) {\n if (!arguments.length) return type;\n type = d3_functor(x);\n return symbol;\n };\n symbol.size = function(x) {\n if (!arguments.length) return size;\n size = d3_functor(x);\n return symbol;\n };\n return symbol;\n };\n function d3_svg_symbolSize() {\n return 64;\n }\n function d3_svg_symbolType() {\n return \"circle\";\n }\n function d3_svg_symbolCircle(size) {\n var r = Math.sqrt(size / π);\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\n }\n var d3_svg_symbols = d3.map({\n circle: d3_svg_symbolCircle,\n cross: function(size) {\n var r = Math.sqrt(size / 5) / 2;\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\n },\n diamond: function(size) {\n var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;\n return \"M0,\" + -ry + \"L\" + rx + \",0\" + \" 0,\" + ry + \" \" + -rx + \",0\" + \"Z\";\n },\n square: function(size) {\n var r = Math.sqrt(size) / 2;\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\n },\n \"triangle-down\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + ry + \"L\" + rx + \",\" + -ry + \" \" + -rx + \",\" + -ry + \"Z\";\n },\n \"triangle-up\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + -ry + \"L\" + rx + \",\" + ry + \" \" + -rx + \",\" + ry + \"Z\";\n }\n });\n d3.svg.symbolTypes = d3_svg_symbols.keys();\n var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);\n d3_selectionPrototype.transition = function(name) {\n var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || {\n time: Date.now(),\n ease: d3_ease_cubicInOut,\n delay: 0,\n duration: 250\n };\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_selectionPrototype.interrupt = function(name) {\n return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));\n };\n var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());\n function d3_selection_interruptNS(ns) {\n return function() {\n var lock, activeId, active;\n if ((lock = this[ns]) && (active = lock[activeId = lock.active])) {\n active.timer.c = null;\n active.timer.t = NaN;\n if (--lock.count) delete lock[activeId]; else delete this[ns];\n lock.active += .5;\n active.event && active.event.interrupt.call(this, this.__data__, active.index);\n }\n };\n }\n function d3_transition(groups, ns, id) {\n d3_subclass(groups, d3_transitionPrototype);\n groups.namespace = ns;\n groups.id = id;\n return groups;\n }\n var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit;\n d3_transitionPrototype.call = d3_selectionPrototype.call;\n d3_transitionPrototype.empty = d3_selectionPrototype.empty;\n d3_transitionPrototype.node = d3_selectionPrototype.node;\n d3_transitionPrototype.size = d3_selectionPrototype.size;\n d3.transition = function(selection, name) {\n return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection);\n };\n d3.transition.prototype = d3_transitionPrototype;\n d3_transitionPrototype.select = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n d3_transitionNode(subnode, i, ns, id, node[ns][id]);\n subgroup.push(subnode);\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.selectAll = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n transition = node[ns][id];\n subnodes = selector.call(node, node.__data__, i, j);\n subgroups.push(subgroup = []);\n for (var k = -1, o = subnodes.length; ++k < o; ) {\n if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);\n subgroup.push(subnode);\n }\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_transition(subgroups, this.namespace, this.id);\n };\n d3_transitionPrototype.tween = function(name, tween) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) return this.node()[ns][id].tween.get(name);\n return d3_selection_each(this, tween == null ? function(node) {\n node[ns][id].tween.remove(name);\n } : function(node) {\n node[ns][id].tween.set(name, tween);\n });\n };\n function d3_transition_tween(groups, name, value, tween) {\n var id = groups.id, ns = groups.namespace;\n return d3_selection_each(groups, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j)));\n } : (value = tween(value), function(node) {\n node[ns][id].tween.set(name, value);\n }));\n }\n d3_transitionPrototype.attr = function(nameNS, value) {\n if (arguments.length < 2) {\n for (value in nameNS) this.attr(value, nameNS[value]);\n return this;\n }\n var interpolate = nameNS == \"transform\" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrTween(b) {\n return b == null ? attrNull : (b += \"\", function() {\n var a = this.getAttribute(name), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttribute(name, i(t));\n });\n });\n }\n function attrTweenNS(b) {\n return b == null ? attrNullNS : (b += \"\", function() {\n var a = this.getAttributeNS(name.space, name.local), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttributeNS(name.space, name.local, i(t));\n });\n });\n }\n return d3_transition_tween(this, \"attr.\" + nameNS, value, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.attrTween = function(nameNS, tween) {\n var name = d3.ns.qualify(nameNS);\n function attrTween(d, i) {\n var f = tween.call(this, d, i, this.getAttribute(name));\n return f && function(t) {\n this.setAttribute(name, f(t));\n };\n }\n function attrTweenNS(d, i) {\n var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));\n return f && function(t) {\n this.setAttributeNS(name.space, name.local, f(t));\n };\n }\n return this.tween(\"attr.\" + nameNS, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.style(priority, name[priority], value);\n return this;\n }\n priority = \"\";\n }\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleString(b) {\n return b == null ? styleNull : (b += \"\", function() {\n var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;\n return a !== b && (i = d3_interpolate(a, b), function(t) {\n this.style.setProperty(name, i(t), priority);\n });\n });\n }\n return d3_transition_tween(this, \"style.\" + name, value, styleString);\n };\n d3_transitionPrototype.styleTween = function(name, tween, priority) {\n if (arguments.length < 3) priority = \"\";\n function styleTween(d, i) {\n var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));\n return f && function(t) {\n this.style.setProperty(name, f(t), priority);\n };\n }\n return this.tween(\"style.\" + name, styleTween);\n };\n d3_transitionPrototype.text = function(value) {\n return d3_transition_tween(this, \"text\", value, d3_transition_text);\n };\n function d3_transition_text(b) {\n if (b == null) b = \"\";\n return function() {\n this.textContent = b;\n };\n }\n d3_transitionPrototype.remove = function() {\n var ns = this.namespace;\n return this.each(\"end.transition\", function() {\n var p;\n if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);\n });\n };\n d3_transitionPrototype.ease = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].ease;\n if (typeof value !== \"function\") value = d3.ease.apply(d3, arguments);\n return d3_selection_each(this, function(node) {\n node[ns][id].ease = value;\n });\n };\n d3_transitionPrototype.delay = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].delay;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].delay = +value.call(node, node.__data__, i, j);\n } : (value = +value, function(node) {\n node[ns][id].delay = value;\n }));\n };\n d3_transitionPrototype.duration = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].duration;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j));\n } : (value = Math.max(1, value), function(node) {\n node[ns][id].duration = value;\n }));\n };\n d3_transitionPrototype.each = function(type, listener) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) {\n var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;\n try {\n d3_transitionInheritId = id;\n d3_selection_each(this, function(node, i, j) {\n d3_transitionInherit = node[ns][id];\n type.call(node, node.__data__, i, j);\n });\n } finally {\n d3_transitionInherit = inherit;\n d3_transitionInheritId = inheritId;\n }\n } else {\n d3_selection_each(this, function(node) {\n var transition = node[ns][id];\n (transition.event || (transition.event = d3.dispatch(\"start\", \"end\", \"interrupt\"))).on(type, listener);\n });\n }\n return this;\n };\n d3_transitionPrototype.transition = function() {\n var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if (node = group[i]) {\n transition = node[ns][id0];\n d3_transitionNode(node, i, ns, id1, {\n time: transition.time,\n ease: transition.ease,\n delay: transition.delay + transition.duration,\n duration: transition.duration\n });\n }\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id1);\n };\n function d3_transitionNamespace(name) {\n return name == null ? \"__transition__\" : \"__transition_\" + name + \"__\";\n }\n function d3_transitionNode(node, i, ns, id, inherit) {\n var lock = node[ns] || (node[ns] = {\n active: 0,\n count: 0\n }), transition = lock[id], time, timer, duration, ease, tweens;\n function schedule(elapsed) {\n var delay = transition.delay;\n timer.t = delay + time;\n if (delay <= elapsed) return start(elapsed - delay);\n timer.c = start;\n }\n function start(elapsed) {\n var activeId = lock.active, active = lock[activeId];\n if (active) {\n active.timer.c = null;\n active.timer.t = NaN;\n --lock.count;\n delete lock[activeId];\n active.event && active.event.interrupt.call(node, node.__data__, active.index);\n }\n for (var cancelId in lock) {\n if (+cancelId < id) {\n var cancel = lock[cancelId];\n cancel.timer.c = null;\n cancel.timer.t = NaN;\n --lock.count;\n delete lock[cancelId];\n }\n }\n timer.c = tick;\n d3_timer(function() {\n if (timer.c && tick(elapsed || 1)) {\n timer.c = null;\n timer.t = NaN;\n }\n return 1;\n }, 0, time);\n lock.active = id;\n transition.event && transition.event.start.call(node, node.__data__, i);\n tweens = [];\n transition.tween.forEach(function(key, value) {\n if (value = value.call(node, node.__data__, i)) {\n tweens.push(value);\n }\n });\n ease = transition.ease;\n duration = transition.duration;\n }\n function tick(elapsed) {\n var t = elapsed / duration, e = ease(t), n = tweens.length;\n while (n > 0) {\n tweens[--n].call(node, e);\n }\n if (t >= 1) {\n transition.event && transition.event.end.call(node, node.__data__, i);\n if (--lock.count) delete lock[id]; else delete node[ns];\n return 1;\n }\n }\n if (!transition) {\n time = inherit.time;\n timer = d3_timer(schedule, 0, time);\n transition = lock[id] = {\n tween: new d3_Map(),\n time: time,\n timer: timer,\n delay: inherit.delay,\n duration: inherit.duration,\n ease: inherit.ease,\n index: i\n };\n inherit = null;\n ++lock.count;\n }\n }\n d3.svg.axis = function() {\n var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;\n function axis(g) {\n g.each(function() {\n var g = d3.select(this);\n var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();\n var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(\".tick\").data(ticks, scale1), tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", ε), tickExit = d3.transition(tick.exit()).style(\"opacity\", ε).remove(), tickUpdate = d3.transition(tick.order()).style(\"opacity\", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;\n var range = d3_scaleRange(scale1), path = g.selectAll(\".domain\").data([ 0 ]), pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), \n d3.transition(path));\n tickEnter.append(\"line\");\n tickEnter.append(\"text\");\n var lineEnter = tickEnter.select(\"line\"), lineUpdate = tickUpdate.select(\"line\"), text = tick.select(\"text\").text(tickFormat), textEnter = tickEnter.select(\"text\"), textUpdate = tickUpdate.select(\"text\"), sign = orient === \"top\" || orient === \"left\" ? -1 : 1, x1, x2, y1, y2;\n if (orient === \"bottom\" || orient === \"top\") {\n tickTransform = d3_svg_axisX, x1 = \"x\", y1 = \"y\", x2 = \"x2\", y2 = \"y2\";\n text.attr(\"dy\", sign < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\");\n pathUpdate.attr(\"d\", \"M\" + range[0] + \",\" + sign * outerTickSize + \"V0H\" + range[1] + \"V\" + sign * outerTickSize);\n } else {\n tickTransform = d3_svg_axisY, x1 = \"y\", y1 = \"x\", x2 = \"y2\", y2 = \"x2\";\n text.attr(\"dy\", \".32em\").style(\"text-anchor\", sign < 0 ? \"end\" : \"start\");\n pathUpdate.attr(\"d\", \"M\" + sign * outerTickSize + \",\" + range[0] + \"H0V\" + range[1] + \"H\" + sign * outerTickSize);\n }\n lineEnter.attr(y2, sign * innerTickSize);\n textEnter.attr(y1, sign * tickSpacing);\n lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);\n textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);\n if (scale1.rangeBand) {\n var x = scale1, dx = x.rangeBand() / 2;\n scale0 = scale1 = function(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, scale0);\n }\n tickEnter.call(tickTransform, scale0, scale1);\n tickUpdate.call(tickTransform, scale1, scale1);\n });\n }\n axis.scale = function(x) {\n if (!arguments.length) return scale;\n scale = x;\n return axis;\n };\n axis.orient = function(x) {\n if (!arguments.length) return orient;\n orient = x in d3_svg_axisOrients ? x + \"\" : d3_svg_axisDefaultOrient;\n return axis;\n };\n axis.ticks = function() {\n if (!arguments.length) return tickArguments_;\n tickArguments_ = d3_array(arguments);\n return axis;\n };\n axis.tickValues = function(x) {\n if (!arguments.length) return tickValues;\n tickValues = x;\n return axis;\n };\n axis.tickFormat = function(x) {\n if (!arguments.length) return tickFormat_;\n tickFormat_ = x;\n return axis;\n };\n axis.tickSize = function(x) {\n var n = arguments.length;\n if (!n) return innerTickSize;\n innerTickSize = +x;\n outerTickSize = +arguments[n - 1];\n return axis;\n };\n axis.innerTickSize = function(x) {\n if (!arguments.length) return innerTickSize;\n innerTickSize = +x;\n return axis;\n };\n axis.outerTickSize = function(x) {\n if (!arguments.length) return outerTickSize;\n outerTickSize = +x;\n return axis;\n };\n axis.tickPadding = function(x) {\n if (!arguments.length) return tickPadding;\n tickPadding = +x;\n return axis;\n };\n axis.tickSubdivide = function() {\n return arguments.length && axis;\n };\n return axis;\n };\n var d3_svg_axisDefaultOrient = \"bottom\", d3_svg_axisOrients = {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n };\n function d3_svg_axisX(selection, x0, x1) {\n selection.attr(\"transform\", function(d) {\n var v0 = x0(d);\n return \"translate(\" + (isFinite(v0) ? v0 : x1(d)) + \",0)\";\n });\n }\n function d3_svg_axisY(selection, y0, y1) {\n selection.attr(\"transform\", function(d) {\n var v0 = y0(d);\n return \"translate(0,\" + (isFinite(v0) ? v0 : y1(d)) + \")\";\n });\n }\n d3.svg.brush = function() {\n var event = d3_eventDispatch(brush, \"brushstart\", \"brush\", \"brushend\"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];\n function brush(g) {\n g.each(function() {\n var g = d3.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", brushstart).on(\"touchstart.brush\", brushstart);\n var background = g.selectAll(\".background\").data([ 0 ]);\n background.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\");\n g.selectAll(\".extent\").data([ 0 ]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n var resize = g.selectAll(\".resize\").data(resizes, d3_identity);\n resize.exit().remove();\n resize.enter().append(\"g\").attr(\"class\", function(d) {\n return \"resize \" + d;\n }).style(\"cursor\", function(d) {\n return d3_svg_brushCursor[d];\n }).append(\"rect\").attr(\"x\", function(d) {\n return /[ew]$/.test(d) ? -3 : null;\n }).attr(\"y\", function(d) {\n return /^[ns]/.test(d) ? -3 : null;\n }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\");\n resize.style(\"display\", brush.empty() ? \"none\" : null);\n var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;\n if (x) {\n range = d3_scaleRange(x);\n backgroundUpdate.attr(\"x\", range[0]).attr(\"width\", range[1] - range[0]);\n redrawX(gUpdate);\n }\n if (y) {\n range = d3_scaleRange(y);\n backgroundUpdate.attr(\"y\", range[0]).attr(\"height\", range[1] - range[0]);\n redrawY(gUpdate);\n }\n redraw(gUpdate);\n });\n }\n brush.event = function(g) {\n g.each(function() {\n var event_ = event.of(this, arguments), extent1 = {\n x: xExtent,\n y: yExtent,\n i: xExtentDomain,\n j: yExtentDomain\n }, extent0 = this.__chart__ || extent1;\n this.__chart__ = extent1;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.brush\", function() {\n xExtentDomain = extent0.i;\n yExtentDomain = extent0.j;\n xExtent = extent0.x;\n yExtent = extent0.y;\n event_({\n type: \"brushstart\"\n });\n }).tween(\"brush:brush\", function() {\n var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);\n xExtentDomain = yExtentDomain = null;\n return function(t) {\n xExtent = extent1.x = xi(t);\n yExtent = extent1.y = yi(t);\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n };\n }).each(\"end.brush\", function() {\n xExtentDomain = extent1.i;\n yExtentDomain = extent1.j;\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n });\n } else {\n event_({\n type: \"brushstart\"\n });\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n }\n });\n };\n function redraw(g) {\n g.selectAll(\".resize\").attr(\"transform\", function(d) {\n return \"translate(\" + xExtent[+/e$/.test(d)] + \",\" + yExtent[+/^s/.test(d)] + \")\";\n });\n }\n function redrawX(g) {\n g.select(\".extent\").attr(\"x\", xExtent[0]);\n g.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", xExtent[1] - xExtent[0]);\n }\n function redrawY(g) {\n g.select(\".extent\").attr(\"y\", yExtent[0]);\n g.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", yExtent[1] - yExtent[0]);\n }\n function brushstart() {\n var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed(\"extent\"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset;\n var w = d3.select(d3_window(target)).on(\"keydown.brush\", keydown).on(\"keyup.brush\", keyup);\n if (d3.event.changedTouches) {\n w.on(\"touchmove.brush\", brushmove).on(\"touchend.brush\", brushend);\n } else {\n w.on(\"mousemove.brush\", brushmove).on(\"mouseup.brush\", brushend);\n }\n g.interrupt().selectAll(\"*\").interrupt();\n if (dragging) {\n origin[0] = xExtent[0] - origin[0];\n origin[1] = yExtent[0] - origin[1];\n } else if (resizing) {\n var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);\n offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];\n origin[0] = xExtent[ex];\n origin[1] = yExtent[ey];\n } else if (d3.event.altKey) center = origin.slice();\n g.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null);\n d3.select(\"body\").style(\"cursor\", eventTarget.style(\"cursor\"));\n event_({\n type: \"brushstart\"\n });\n brushmove();\n function keydown() {\n if (d3.event.keyCode == 32) {\n if (!dragging) {\n center = null;\n origin[0] -= xExtent[1];\n origin[1] -= yExtent[1];\n dragging = 2;\n }\n d3_eventPreventDefault();\n }\n }\n function keyup() {\n if (d3.event.keyCode == 32 && dragging == 2) {\n origin[0] += xExtent[1];\n origin[1] += yExtent[1];\n dragging = 0;\n d3_eventPreventDefault();\n }\n }\n function brushmove() {\n var point = d3.mouse(target), moved = false;\n if (offset) {\n point[0] += offset[0];\n point[1] += offset[1];\n }\n if (!dragging) {\n if (d3.event.altKey) {\n if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];\n origin[0] = xExtent[+(point[0] < center[0])];\n origin[1] = yExtent[+(point[1] < center[1])];\n } else center = null;\n }\n if (resizingX && move1(point, x, 0)) {\n redrawX(g);\n moved = true;\n }\n if (resizingY && move1(point, y, 1)) {\n redrawY(g);\n moved = true;\n }\n if (moved) {\n redraw(g);\n event_({\n type: \"brush\",\n mode: dragging ? \"move\" : \"resize\"\n });\n }\n }\n function move1(point, scale, i) {\n var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;\n if (dragging) {\n r0 -= position;\n r1 -= size + position;\n }\n min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];\n if (dragging) {\n max = (min += position) + size;\n } else {\n if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));\n if (position < min) {\n max = min;\n min = position;\n } else {\n max = position;\n }\n }\n if (extent[0] != min || extent[1] != max) {\n if (i) yExtentDomain = null; else xExtentDomain = null;\n extent[0] = min;\n extent[1] = max;\n return true;\n }\n }\n function brushend() {\n brushmove();\n g.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", brush.empty() ? \"none\" : null);\n d3.select(\"body\").style(\"cursor\", null);\n w.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null);\n dragRestore();\n event_({\n type: \"brushend\"\n });\n }\n }\n brush.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.clamp = function(z) {\n if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;\n if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;\n return brush;\n };\n brush.extent = function(z) {\n var x0, x1, y0, y1, t;\n if (!arguments.length) {\n if (x) {\n if (xExtentDomain) {\n x0 = xExtentDomain[0], x1 = xExtentDomain[1];\n } else {\n x0 = xExtent[0], x1 = xExtent[1];\n if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n }\n }\n if (y) {\n if (yExtentDomain) {\n y0 = yExtentDomain[0], y1 = yExtentDomain[1];\n } else {\n y0 = yExtent[0], y1 = yExtent[1];\n if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n }\n }\n return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];\n }\n if (x) {\n x0 = z[0], x1 = z[1];\n if (y) x0 = x0[0], x1 = x1[0];\n xExtentDomain = [ x0, x1 ];\n if (x.invert) x0 = x(x0), x1 = x(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];\n }\n if (y) {\n y0 = z[0], y1 = z[1];\n if (x) y0 = y0[1], y1 = y1[1];\n yExtentDomain = [ y0, y1 ];\n if (y.invert) y0 = y(y0), y1 = y(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];\n }\n return brush;\n };\n brush.clear = function() {\n if (!brush.empty()) {\n xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];\n xExtentDomain = yExtentDomain = null;\n }\n return brush;\n };\n brush.empty = function() {\n return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];\n };\n return d3.rebind(brush, event, \"on\");\n };\n var d3_svg_brushCursor = {\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n };\n var d3_svg_brushResizes = [ [ \"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\" ], [ \"e\", \"w\" ], [ \"n\", \"s\" ], [] ];\n var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;\n var d3_time_formatUtc = d3_time_format.utc;\n var d3_time_formatIso = d3_time_formatUtc(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n d3_time_format.iso = Date.prototype.toISOString && +new Date(\"2000-01-01T00:00:00.000Z\") ? d3_time_formatIsoNative : d3_time_formatIso;\n function d3_time_formatIsoNative(date) {\n return date.toISOString();\n }\n d3_time_formatIsoNative.parse = function(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n };\n d3_time_formatIsoNative.toString = d3_time_formatIso.toString;\n d3_time.second = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 1e3) * 1e3);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 1e3);\n }, function(date) {\n return date.getSeconds();\n });\n d3_time.seconds = d3_time.second.range;\n d3_time.seconds.utc = d3_time.second.utc.range;\n d3_time.minute = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 6e4) * 6e4);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 6e4);\n }, function(date) {\n return date.getMinutes();\n });\n d3_time.minutes = d3_time.minute.range;\n d3_time.minutes.utc = d3_time.minute.utc.range;\n d3_time.hour = d3_time_interval(function(date) {\n var timezone = date.getTimezoneOffset() / 60;\n return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 36e5);\n }, function(date) {\n return date.getHours();\n });\n d3_time.hours = d3_time.hour.range;\n d3_time.hours.utc = d3_time.hour.utc.range;\n d3_time.month = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setDate(1);\n return date;\n }, function(date, offset) {\n date.setMonth(date.getMonth() + offset);\n }, function(date) {\n return date.getMonth();\n });\n d3_time.months = d3_time.month.range;\n d3_time.months.utc = d3_time.month.utc.range;\n function d3_time_scale(linear, methods, format) {\n function scale(x) {\n return linear(x);\n }\n scale.invert = function(x) {\n return d3_time_scaleDate(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return linear.domain().map(d3_time_scaleDate);\n linear.domain(x);\n return scale;\n };\n function tickMethod(extent, count) {\n var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);\n return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {\n return d / 31536e6;\n }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];\n }\n scale.nice = function(interval, skip) {\n var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" && tickMethod(extent, interval);\n if (method) interval = method[0], skip = method[1];\n function skipped(date) {\n return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;\n }\n return scale.domain(d3_scale_nice(domain, skip > 1 ? {\n floor: function(date) {\n while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);\n return date;\n },\n ceil: function(date) {\n while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);\n return date;\n }\n } : interval));\n };\n scale.ticks = function(interval, skip) {\n var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" ? tickMethod(extent, interval) : !interval.range && [ {\n range: interval\n }, skip ];\n if (method) interval = method[0], skip = method[1];\n return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);\n };\n scale.tickFormat = function() {\n return format;\n };\n scale.copy = function() {\n return d3_time_scale(linear.copy(), methods, format);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_time_scaleDate(t) {\n return new Date(t);\n }\n var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];\n var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];\n var d3_time_scaleLocalFormat = d3_time_format.multi([ [ \".%L\", function(d) {\n return d.getMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getHours();\n } ], [ \"%a %d\", function(d) {\n return d.getDay() && d.getDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getMonth();\n } ], [ \"%Y\", d3_true ] ]);\n var d3_time_scaleMilliseconds = {\n range: function(start, stop, step) {\n return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);\n },\n floor: d3_identity,\n ceil: d3_identity\n };\n d3_time_scaleLocalMethods.year = d3_time.year;\n d3_time.scale = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);\n };\n var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {\n return [ m[0].utc, m[1] ];\n });\n var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ \".%L\", function(d) {\n return d.getUTCMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getUTCSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getUTCMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getUTCHours();\n } ], [ \"%a %d\", function(d) {\n return d.getUTCDay() && d.getUTCDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getUTCDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getUTCMonth();\n } ], [ \"%Y\", d3_true ] ]);\n d3_time_scaleUtcMethods.year = d3_time.year.utc;\n d3_time.scale.utc = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);\n };\n d3.text = d3_xhrType(function(request) {\n return request.responseText;\n });\n d3.json = function(url, callback) {\n return d3_xhr(url, \"application/json\", d3_json, callback);\n };\n function d3_json(request) {\n return JSON.parse(request.responseText);\n }\n d3.html = function(url, callback) {\n return d3_xhr(url, \"text/html\", d3_html, callback);\n };\n function d3_html(request) {\n var range = d3_document.createRange();\n range.selectNode(d3_document.body);\n return range.createContextualFragment(request.responseText);\n }\n d3.xml = d3_xhrType(function(request) {\n return request.responseXML;\n });\n if (typeof define === \"function\" && define.amd) this.d3 = d3, define(d3); else if (typeof module === \"object\" && module.exports) module.exports = d3; else this.d3 = d3;\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3/d3.js\n// module id = 36\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 37\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 38\n// module chunks = 0","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/uuid/index.js\n// module id = 39\n// module chunks = 0","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\n// random #'s we need to init node and clockseq\nvar _seedBytes = rng();\n\n// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\nvar _nodeId = [\n _seedBytes[0] | 0x01,\n _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5]\n];\n\n// Per 4.2.2, randomize (14 bit) clockseq\nvar _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff;\n\n// Previous uuid creation time\nvar _lastMSecs = 0, _lastNSecs = 0;\n\n// See https://github.com/broofa/node-uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n var node = options.node || _nodeId;\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/uuid/v1.js\n// module id = 40\n// module chunks = 0","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options == 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/uuid/v4.js\n// module id = 41\n// module chunks = 0","'use strict';\n\nvar _CSSTransitionGroup = require('./CSSTransitionGroup');\n\nvar _CSSTransitionGroup2 = _interopRequireDefault(_CSSTransitionGroup);\n\nvar _TransitionGroup = require('./TransitionGroup');\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n TransitionGroup: _TransitionGroup2.default,\n CSSTransitionGroup: _CSSTransitionGroup2.default\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-transition-group/index.js\n// module id = 42\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = require('./TransitionGroup');\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _CSSTransitionGroupChild = require('./CSSTransitionGroupChild');\n\nvar _CSSTransitionGroupChild2 = _interopRequireDefault(_CSSTransitionGroupChild);\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n transitionName: _PropTypes.nameShape.isRequired,\n\n transitionAppear: _propTypes2.default.bool,\n transitionEnter: _propTypes2.default.bool,\n transitionLeave: _propTypes2.default.bool,\n transitionAppearTimeout: (0, _PropTypes.transitionTimeout)('Appear'),\n transitionEnterTimeout: (0, _PropTypes.transitionTimeout)('Enter'),\n transitionLeaveTimeout: (0, _PropTypes.transitionTimeout)('Leave')\n};\n\nvar defaultProps = {\n transitionAppear: false,\n transitionEnter: true,\n transitionLeave: true\n};\n\nvar CSSTransitionGroup = function (_React$Component) {\n _inherits(CSSTransitionGroup, _React$Component);\n\n function CSSTransitionGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._wrapChild = function (child) {\n return _react2.default.createElement(_CSSTransitionGroupChild2.default, {\n name: _this.props.transitionName,\n appear: _this.props.transitionAppear,\n enter: _this.props.transitionEnter,\n leave: _this.props.transitionLeave,\n appearTimeout: _this.props.transitionAppearTimeout,\n enterTimeout: _this.props.transitionEnterTimeout,\n leaveTimeout: _this.props.transitionLeaveTimeout\n }, child);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // We need to provide this childFactory so that\n // ReactCSSTransitionGroupChild can receive updates to name, enter, and\n // leave while it is leaving.\n\n\n CSSTransitionGroup.prototype.render = function render() {\n return _react2.default.createElement(_TransitionGroup2.default, _extends({}, this.props, { childFactory: this._wrapChild }));\n };\n\n return CSSTransitionGroup;\n}(_react2.default.Component);\n\nCSSTransitionGroup.displayName = 'CSSTransitionGroup';\n\n\nCSSTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCSSTransitionGroup.defaultProps = defaultProps;\n\nexports.default = CSSTransitionGroup;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-transition-group/CSSTransitionGroup.js\n// module id = 43\n// module chunks = 0","\r\nmodule.exports = function chain(){\r\n var len = arguments.length\r\n var args = [];\r\n\r\n for (var i = 0; i < len; i++)\r\n args[i] = arguments[i]\r\n\r\n args = args.filter(function(fn){ return fn != null })\r\n\r\n if (args.length === 0) return undefined\r\n if (args.length === 1) return args[0]\r\n\r\n return args.reduce(function(current, next){\r\n return function chainedFunction() {\r\n current.apply(this, arguments);\r\n next.apply(this, arguments);\r\n };\r\n })\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/chain-function/index.js\n// module id = 44\n// module chunks = 0","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/warning/browser.js\n// module id = 45\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\n\nvar _react = require('react');\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children) {\n if (!children) {\n return children;\n }\n var result = {};\n _react.Children.map(children, function (child) {\n return child;\n }).forEach(function (child) {\n result[child.key] = child;\n });\n return result;\n}\n\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n if (next.hasOwnProperty(key)) {\n return next[key];\n }\n\n return prev[key];\n }\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextKeysPending = {};\n\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (next.hasOwnProperty(prevKey)) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i = void 0;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending.hasOwnProperty(nextKey)) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n }\n\n // Finally, add the keys which didn't appear before any key in `next`\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-transition-group/utils/ChildMapping.js\n// module id = 46\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _addClass = require('dom-helpers/class/addClass');\n\nvar _addClass2 = _interopRequireDefault(_addClass);\n\nvar _removeClass = require('dom-helpers/class/removeClass');\n\nvar _removeClass2 = _interopRequireDefault(_removeClass);\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar events = [];\nif (_properties.transitionEnd) events.push(_properties.transitionEnd);\nif (_properties.animationEnd) events.push(_properties.animationEnd);\n\nfunction addEndListener(node, listener) {\n if (events.length) {\n events.forEach(function (e) {\n return node.addEventListener(e, listener, false);\n });\n } else {\n setTimeout(listener, 0);\n }\n\n return function () {\n if (!events.length) return;\n events.forEach(function (e) {\n return node.removeEventListener(e, listener, false);\n });\n };\n}\n\nvar propTypes = {\n children: _propTypes2.default.node,\n name: _PropTypes.nameShape.isRequired,\n\n // Once we require timeouts to be specified, we can remove the\n // boolean flags (appear etc.) and just accept a number\n // or a bool for the timeout flags (appearTimeout etc.)\n appear: _propTypes2.default.bool,\n enter: _propTypes2.default.bool,\n leave: _propTypes2.default.bool,\n appearTimeout: _propTypes2.default.number,\n enterTimeout: _propTypes2.default.number,\n leaveTimeout: _propTypes2.default.number\n};\n\nvar CSSTransitionGroupChild = function (_React$Component) {\n _inherits(CSSTransitionGroupChild, _React$Component);\n\n function CSSTransitionGroupChild() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroupChild);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.componentWillAppear = function (done) {\n if (_this.props.appear) {\n _this.transition('appear', done, _this.props.appearTimeout);\n } else {\n done();\n }\n }, _this.componentWillEnter = function (done) {\n if (_this.props.enter) {\n _this.transition('enter', done, _this.props.enterTimeout);\n } else {\n done();\n }\n }, _this.componentWillLeave = function (done) {\n if (_this.props.leave) {\n _this.transition('leave', done, _this.props.leaveTimeout);\n } else {\n done();\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n CSSTransitionGroupChild.prototype.componentWillMount = function componentWillMount() {\n this.classNameAndNodeQueue = [];\n this.transitionTimeouts = [];\n };\n\n CSSTransitionGroupChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounted = true;\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.transitionTimeouts.forEach(function (timeout) {\n clearTimeout(timeout);\n });\n\n this.classNameAndNodeQueue.length = 0;\n };\n\n CSSTransitionGroupChild.prototype.transition = function transition(animationType, finishCallback, timeout) {\n var node = (0, _reactDom.findDOMNode)(this);\n\n if (!node) {\n if (finishCallback) {\n finishCallback();\n }\n return;\n }\n\n var className = this.props.name[animationType] || this.props.name + '-' + animationType;\n var activeClassName = this.props.name[animationType + 'Active'] || className + '-active';\n var timer = null;\n var removeListeners = void 0;\n\n (0, _addClass2.default)(node, className);\n\n // Need to do this to actually trigger a transition.\n this.queueClassAndNode(activeClassName, node);\n\n // Clean-up the animation after the specified delay\n var finish = function finish(e) {\n if (e && e.target !== node) {\n return;\n }\n\n clearTimeout(timer);\n if (removeListeners) removeListeners();\n\n (0, _removeClass2.default)(node, className);\n (0, _removeClass2.default)(node, activeClassName);\n\n if (removeListeners) removeListeners();\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (finishCallback) {\n finishCallback();\n }\n };\n\n if (timeout) {\n timer = setTimeout(finish, timeout);\n this.transitionTimeouts.push(timer);\n } else if (_properties.transitionEnd) {\n removeListeners = addEndListener(node, finish);\n }\n };\n\n CSSTransitionGroupChild.prototype.queueClassAndNode = function queueClassAndNode(className, node) {\n var _this2 = this;\n\n this.classNameAndNodeQueue.push({\n className: className,\n node: node\n });\n\n if (!this.rafHandle) {\n this.rafHandle = (0, _requestAnimationFrame2.default)(function () {\n return _this2.flushClassNameAndNodeQueue();\n });\n }\n };\n\n CSSTransitionGroupChild.prototype.flushClassNameAndNodeQueue = function flushClassNameAndNodeQueue() {\n if (!this.unmounted) {\n this.classNameAndNodeQueue.forEach(function (obj) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n /* eslint-disable no-unused-expressions */\n obj.node.scrollTop;\n /* eslint-enable no-unused-expressions */\n (0, _addClass2.default)(obj.node, obj.className);\n });\n }\n this.classNameAndNodeQueue.length = 0;\n this.rafHandle = null;\n };\n\n CSSTransitionGroupChild.prototype.render = function render() {\n var props = _extends({}, this.props);\n delete props.name;\n delete props.appear;\n delete props.enter;\n delete props.leave;\n delete props.appearTimeout;\n delete props.enterTimeout;\n delete props.leaveTimeout;\n delete props.children;\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), props);\n };\n\n return CSSTransitionGroupChild;\n}(_react2.default.Component);\n\nCSSTransitionGroupChild.displayName = 'CSSTransitionGroupChild';\n\n\nCSSTransitionGroupChild.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\n\nexports.default = CSSTransitionGroupChild;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-transition-group/CSSTransitionGroupChild.js\n// module id = 47\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addClass;\n\nvar _hasClass = require('./hasClass');\n\nvar _hasClass2 = _interopRequireDefault(_hasClass);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass2.default)(element)) element.className = element.className + ' ' + className;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/dom-helpers/class/addClass.js\n// module id = 48\n// module chunks = 0","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hasClass;\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + element.className + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/dom-helpers/class/hasClass.js\n// module id = 49\n// module chunks = 0","'use strict';\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else element.className = element.className.replace(new RegExp('(^|\\\\s)' + className + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/dom-helpers/class/removeClass.js\n// module id = 50\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inDOM = require('./inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf = void 0;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM2.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n\n/* https://github.com/component/raf */\nvar prev = new Date().getTime();\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\nexports.default = compatRaf;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/dom-helpers/util/requestAnimationFrame.js\n// module id = 51\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = undefined;\n\nvar _inDOM = require('../util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar transform = 'transform';\nvar prefix = void 0,\n transitionEnd = void 0,\n animationEnd = void 0;\nvar transitionProperty = void 0,\n transitionDuration = void 0,\n transitionTiming = void 0,\n transitionDelay = void 0;\nvar animationName = void 0,\n animationDuration = void 0,\n animationTiming = void 0,\n animationDelay = void 0;\n\nif (_inDOM2.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n\n\n exports.transform = transform = prefix + '-' + transform;\n exports.transitionProperty = transitionProperty = prefix + '-transition-property';\n exports.transitionDuration = transitionDuration = prefix + '-transition-duration';\n exports.transitionDelay = transitionDelay = prefix + '-transition-delay';\n exports.transitionTiming = transitionTiming = prefix + '-transition-timing-function';\n\n exports.animationName = animationName = prefix + '-animation-name';\n exports.animationDuration = animationDuration = prefix + '-animation-duration';\n exports.animationTiming = animationTiming = prefix + '-animation-delay';\n exports.animationDelay = animationDelay = prefix + '-animation-timing-function';\n}\n\nexports.transform = transform;\nexports.transitionProperty = transitionProperty;\nexports.transitionTiming = transitionTiming;\nexports.transitionDelay = transitionDelay;\nexports.transitionDuration = transitionDuration;\nexports.transitionEnd = transitionEnd;\nexports.animationName = animationName;\nexports.animationDuration = animationDuration;\nexports.animationTiming = animationTiming;\nexports.animationDelay = animationDelay;\nexports.animationEnd = animationEnd;\nexports.default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\n\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n\n var vendorMap = {\n O: function O(e) {\n return 'o' + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return 'webkit' + e;\n },\n ms: function ms(e) {\n return 'MS' + e;\n }\n };\n\n var vendors = Object.keys(vendorMap);\n\n var transitionEnd = void 0,\n animationEnd = void 0;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + 'TransitionProperty' in style) {\n prefix = '-' + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n\n style = null;\n\n return { animationEnd: animationEnd, transitionEnd: transitionEnd, prefix: prefix };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/dom-helpers/transition/properties.js\n// module id = 52\n// module chunks = 0","var clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n child = new Buffer(parent.length);\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-d3-tree/node_modules/clone/clone.js\n// module id = 53\n// module chunks = 0","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/buffer/index.js\n// module id = 54\n// module chunks = 0","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return (b64.length * 3 / 4) - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr((len * 3 / 4) - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0; i < l; i += 4) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/base64-js/index.js\n// module id = 55\n// module chunks = 0","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ieee754/index.js\n// module id = 56\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/isarray/index.js\n// module id = 57\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/deep-equal/index.js\n// module id = 58\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/deep-equal/lib/keys.js\n// module id = 59\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/deep-equal/lib/is_arguments.js\n// module id = 60\n// module chunks = 0"],"sourceRoot":""}