Files
homelab-topology/node_modules/.vite/deps/dagre.js

7685 lines
238 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {
__commonJS,
__require
} from "./chunk-PR4QN5HX.js";
// node_modules/lodash/_listCacheClear.js
var require_listCacheClear = __commonJS({
"node_modules/lodash/_listCacheClear.js"(exports, module) {
function listCacheClear() {
this.__data__ = [];
this.size = 0;
}
module.exports = listCacheClear;
}
});
// node_modules/lodash/eq.js
var require_eq = __commonJS({
"node_modules/lodash/eq.js"(exports, module) {
function eq(value, other) {
return value === other || value !== value && other !== other;
}
module.exports = eq;
}
});
// node_modules/lodash/_assocIndexOf.js
var require_assocIndexOf = __commonJS({
"node_modules/lodash/_assocIndexOf.js"(exports, module) {
var eq = require_eq();
function assocIndexOf(array, key) {
var length = array.length;
while (length--) {
if (eq(array[length][0], key)) {
return length;
}
}
return -1;
}
module.exports = assocIndexOf;
}
});
// node_modules/lodash/_listCacheDelete.js
var require_listCacheDelete = __commonJS({
"node_modules/lodash/_listCacheDelete.js"(exports, module) {
var assocIndexOf = require_assocIndexOf();
var arrayProto = Array.prototype;
var splice = arrayProto.splice;
function listCacheDelete(key) {
var data = this.__data__, index = assocIndexOf(data, key);
if (index < 0) {
return false;
}
var lastIndex = data.length - 1;
if (index == lastIndex) {
data.pop();
} else {
splice.call(data, index, 1);
}
--this.size;
return true;
}
module.exports = listCacheDelete;
}
});
// node_modules/lodash/_listCacheGet.js
var require_listCacheGet = __commonJS({
"node_modules/lodash/_listCacheGet.js"(exports, module) {
var assocIndexOf = require_assocIndexOf();
function listCacheGet(key) {
var data = this.__data__, index = assocIndexOf(data, key);
return index < 0 ? void 0 : data[index][1];
}
module.exports = listCacheGet;
}
});
// node_modules/lodash/_listCacheHas.js
var require_listCacheHas = __commonJS({
"node_modules/lodash/_listCacheHas.js"(exports, module) {
var assocIndexOf = require_assocIndexOf();
function listCacheHas(key) {
return assocIndexOf(this.__data__, key) > -1;
}
module.exports = listCacheHas;
}
});
// node_modules/lodash/_listCacheSet.js
var require_listCacheSet = __commonJS({
"node_modules/lodash/_listCacheSet.js"(exports, module) {
var assocIndexOf = require_assocIndexOf();
function listCacheSet(key, value) {
var data = this.__data__, index = assocIndexOf(data, key);
if (index < 0) {
++this.size;
data.push([key, value]);
} else {
data[index][1] = value;
}
return this;
}
module.exports = listCacheSet;
}
});
// node_modules/lodash/_ListCache.js
var require_ListCache = __commonJS({
"node_modules/lodash/_ListCache.js"(exports, module) {
var listCacheClear = require_listCacheClear();
var listCacheDelete = require_listCacheDelete();
var listCacheGet = require_listCacheGet();
var listCacheHas = require_listCacheHas();
var listCacheSet = require_listCacheSet();
function ListCache(entries) {
var index = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index < length) {
var entry = entries[index];
this.set(entry[0], entry[1]);
}
}
ListCache.prototype.clear = listCacheClear;
ListCache.prototype["delete"] = listCacheDelete;
ListCache.prototype.get = listCacheGet;
ListCache.prototype.has = listCacheHas;
ListCache.prototype.set = listCacheSet;
module.exports = ListCache;
}
});
// node_modules/lodash/_stackClear.js
var require_stackClear = __commonJS({
"node_modules/lodash/_stackClear.js"(exports, module) {
var ListCache = require_ListCache();
function stackClear() {
this.__data__ = new ListCache();
this.size = 0;
}
module.exports = stackClear;
}
});
// node_modules/lodash/_stackDelete.js
var require_stackDelete = __commonJS({
"node_modules/lodash/_stackDelete.js"(exports, module) {
function stackDelete(key) {
var data = this.__data__, result = data["delete"](key);
this.size = data.size;
return result;
}
module.exports = stackDelete;
}
});
// node_modules/lodash/_stackGet.js
var require_stackGet = __commonJS({
"node_modules/lodash/_stackGet.js"(exports, module) {
function stackGet(key) {
return this.__data__.get(key);
}
module.exports = stackGet;
}
});
// node_modules/lodash/_stackHas.js
var require_stackHas = __commonJS({
"node_modules/lodash/_stackHas.js"(exports, module) {
function stackHas(key) {
return this.__data__.has(key);
}
module.exports = stackHas;
}
});
// node_modules/lodash/_freeGlobal.js
var require_freeGlobal = __commonJS({
"node_modules/lodash/_freeGlobal.js"(exports, module) {
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
module.exports = freeGlobal;
}
});
// node_modules/lodash/_root.js
var require_root = __commonJS({
"node_modules/lodash/_root.js"(exports, module) {
var freeGlobal = require_freeGlobal();
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal || freeSelf || Function("return this")();
module.exports = root;
}
});
// node_modules/lodash/_Symbol.js
var require_Symbol = __commonJS({
"node_modules/lodash/_Symbol.js"(exports, module) {
var root = require_root();
var Symbol = root.Symbol;
module.exports = Symbol;
}
});
// node_modules/lodash/_getRawTag.js
var require_getRawTag = __commonJS({
"node_modules/lodash/_getRawTag.js"(exports, module) {
var Symbol = require_Symbol();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var nativeObjectToString = objectProto.toString;
var symToStringTag = Symbol ? Symbol.toStringTag : void 0;
function getRawTag(value) {
var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
try {
value[symToStringTag] = void 0;
var unmasked = true;
} catch (e) {
}
var result = nativeObjectToString.call(value);
if (unmasked) {
if (isOwn) {
value[symToStringTag] = tag;
} else {
delete value[symToStringTag];
}
}
return result;
}
module.exports = getRawTag;
}
});
// node_modules/lodash/_objectToString.js
var require_objectToString = __commonJS({
"node_modules/lodash/_objectToString.js"(exports, module) {
var objectProto = Object.prototype;
var nativeObjectToString = objectProto.toString;
function objectToString(value) {
return nativeObjectToString.call(value);
}
module.exports = objectToString;
}
});
// node_modules/lodash/_baseGetTag.js
var require_baseGetTag = __commonJS({
"node_modules/lodash/_baseGetTag.js"(exports, module) {
var Symbol = require_Symbol();
var getRawTag = require_getRawTag();
var objectToString = require_objectToString();
var nullTag = "[object Null]";
var undefinedTag = "[object Undefined]";
var symToStringTag = Symbol ? Symbol.toStringTag : void 0;
function baseGetTag(value) {
if (value == null) {
return value === void 0 ? undefinedTag : nullTag;
}
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
}
module.exports = baseGetTag;
}
});
// node_modules/lodash/isObject.js
var require_isObject = __commonJS({
"node_modules/lodash/isObject.js"(exports, module) {
function isObject(value) {
var type = typeof value;
return value != null && (type == "object" || type == "function");
}
module.exports = isObject;
}
});
// node_modules/lodash/isFunction.js
var require_isFunction = __commonJS({
"node_modules/lodash/isFunction.js"(exports, module) {
var baseGetTag = require_baseGetTag();
var isObject = require_isObject();
var asyncTag = "[object AsyncFunction]";
var funcTag = "[object Function]";
var genTag = "[object GeneratorFunction]";
var proxyTag = "[object Proxy]";
function isFunction(value) {
if (!isObject(value)) {
return false;
}
var tag = baseGetTag(value);
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
}
module.exports = isFunction;
}
});
// node_modules/lodash/_coreJsData.js
var require_coreJsData = __commonJS({
"node_modules/lodash/_coreJsData.js"(exports, module) {
var root = require_root();
var coreJsData = root["__core-js_shared__"];
module.exports = coreJsData;
}
});
// node_modules/lodash/_isMasked.js
var require_isMasked = __commonJS({
"node_modules/lodash/_isMasked.js"(exports, module) {
var coreJsData = require_coreJsData();
var maskSrcKey = (function() {
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
return uid ? "Symbol(src)_1." + uid : "";
})();
function isMasked(func) {
return !!maskSrcKey && maskSrcKey in func;
}
module.exports = isMasked;
}
});
// node_modules/lodash/_toSource.js
var require_toSource = __commonJS({
"node_modules/lodash/_toSource.js"(exports, module) {
var funcProto = Function.prototype;
var funcToString = funcProto.toString;
function toSource(func) {
if (func != null) {
try {
return funcToString.call(func);
} catch (e) {
}
try {
return func + "";
} catch (e) {
}
}
return "";
}
module.exports = toSource;
}
});
// node_modules/lodash/_baseIsNative.js
var require_baseIsNative = __commonJS({
"node_modules/lodash/_baseIsNative.js"(exports, module) {
var isFunction = require_isFunction();
var isMasked = require_isMasked();
var isObject = require_isObject();
var toSource = require_toSource();
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
var reIsHostCtor = /^\[object .+?Constructor\]$/;
var funcProto = Function.prototype;
var objectProto = Object.prototype;
var funcToString = funcProto.toString;
var hasOwnProperty = objectProto.hasOwnProperty;
var reIsNative = RegExp(
"^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function baseIsNative(value) {
if (!isObject(value) || isMasked(value)) {
return false;
}
var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
return pattern.test(toSource(value));
}
module.exports = baseIsNative;
}
});
// node_modules/lodash/_getValue.js
var require_getValue = __commonJS({
"node_modules/lodash/_getValue.js"(exports, module) {
function getValue(object, key) {
return object == null ? void 0 : object[key];
}
module.exports = getValue;
}
});
// node_modules/lodash/_getNative.js
var require_getNative = __commonJS({
"node_modules/lodash/_getNative.js"(exports, module) {
var baseIsNative = require_baseIsNative();
var getValue = require_getValue();
function getNative(object, key) {
var value = getValue(object, key);
return baseIsNative(value) ? value : void 0;
}
module.exports = getNative;
}
});
// node_modules/lodash/_Map.js
var require_Map = __commonJS({
"node_modules/lodash/_Map.js"(exports, module) {
var getNative = require_getNative();
var root = require_root();
var Map = getNative(root, "Map");
module.exports = Map;
}
});
// node_modules/lodash/_nativeCreate.js
var require_nativeCreate = __commonJS({
"node_modules/lodash/_nativeCreate.js"(exports, module) {
var getNative = require_getNative();
var nativeCreate = getNative(Object, "create");
module.exports = nativeCreate;
}
});
// node_modules/lodash/_hashClear.js
var require_hashClear = __commonJS({
"node_modules/lodash/_hashClear.js"(exports, module) {
var nativeCreate = require_nativeCreate();
function hashClear() {
this.__data__ = nativeCreate ? nativeCreate(null) : {};
this.size = 0;
}
module.exports = hashClear;
}
});
// node_modules/lodash/_hashDelete.js
var require_hashDelete = __commonJS({
"node_modules/lodash/_hashDelete.js"(exports, module) {
function hashDelete(key) {
var result = this.has(key) && delete this.__data__[key];
this.size -= result ? 1 : 0;
return result;
}
module.exports = hashDelete;
}
});
// node_modules/lodash/_hashGet.js
var require_hashGet = __commonJS({
"node_modules/lodash/_hashGet.js"(exports, module) {
var nativeCreate = require_nativeCreate();
var HASH_UNDEFINED = "__lodash_hash_undefined__";
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function hashGet(key) {
var data = this.__data__;
if (nativeCreate) {
var result = data[key];
return result === HASH_UNDEFINED ? void 0 : result;
}
return hasOwnProperty.call(data, key) ? data[key] : void 0;
}
module.exports = hashGet;
}
});
// node_modules/lodash/_hashHas.js
var require_hashHas = __commonJS({
"node_modules/lodash/_hashHas.js"(exports, module) {
var nativeCreate = require_nativeCreate();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function hashHas(key) {
var data = this.__data__;
return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
}
module.exports = hashHas;
}
});
// node_modules/lodash/_hashSet.js
var require_hashSet = __commonJS({
"node_modules/lodash/_hashSet.js"(exports, module) {
var nativeCreate = require_nativeCreate();
var HASH_UNDEFINED = "__lodash_hash_undefined__";
function hashSet(key, value) {
var data = this.__data__;
this.size += this.has(key) ? 0 : 1;
data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
return this;
}
module.exports = hashSet;
}
});
// node_modules/lodash/_Hash.js
var require_Hash = __commonJS({
"node_modules/lodash/_Hash.js"(exports, module) {
var hashClear = require_hashClear();
var hashDelete = require_hashDelete();
var hashGet = require_hashGet();
var hashHas = require_hashHas();
var hashSet = require_hashSet();
function Hash(entries) {
var index = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index < length) {
var entry = entries[index];
this.set(entry[0], entry[1]);
}
}
Hash.prototype.clear = hashClear;
Hash.prototype["delete"] = hashDelete;
Hash.prototype.get = hashGet;
Hash.prototype.has = hashHas;
Hash.prototype.set = hashSet;
module.exports = Hash;
}
});
// node_modules/lodash/_mapCacheClear.js
var require_mapCacheClear = __commonJS({
"node_modules/lodash/_mapCacheClear.js"(exports, module) {
var Hash = require_Hash();
var ListCache = require_ListCache();
var Map = require_Map();
function mapCacheClear() {
this.size = 0;
this.__data__ = {
"hash": new Hash(),
"map": new (Map || ListCache)(),
"string": new Hash()
};
}
module.exports = mapCacheClear;
}
});
// node_modules/lodash/_isKeyable.js
var require_isKeyable = __commonJS({
"node_modules/lodash/_isKeyable.js"(exports, module) {
function isKeyable(value) {
var type = typeof value;
return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
}
module.exports = isKeyable;
}
});
// node_modules/lodash/_getMapData.js
var require_getMapData = __commonJS({
"node_modules/lodash/_getMapData.js"(exports, module) {
var isKeyable = require_isKeyable();
function getMapData(map, key) {
var data = map.__data__;
return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
}
module.exports = getMapData;
}
});
// node_modules/lodash/_mapCacheDelete.js
var require_mapCacheDelete = __commonJS({
"node_modules/lodash/_mapCacheDelete.js"(exports, module) {
var getMapData = require_getMapData();
function mapCacheDelete(key) {
var result = getMapData(this, key)["delete"](key);
this.size -= result ? 1 : 0;
return result;
}
module.exports = mapCacheDelete;
}
});
// node_modules/lodash/_mapCacheGet.js
var require_mapCacheGet = __commonJS({
"node_modules/lodash/_mapCacheGet.js"(exports, module) {
var getMapData = require_getMapData();
function mapCacheGet(key) {
return getMapData(this, key).get(key);
}
module.exports = mapCacheGet;
}
});
// node_modules/lodash/_mapCacheHas.js
var require_mapCacheHas = __commonJS({
"node_modules/lodash/_mapCacheHas.js"(exports, module) {
var getMapData = require_getMapData();
function mapCacheHas(key) {
return getMapData(this, key).has(key);
}
module.exports = mapCacheHas;
}
});
// node_modules/lodash/_mapCacheSet.js
var require_mapCacheSet = __commonJS({
"node_modules/lodash/_mapCacheSet.js"(exports, module) {
var getMapData = require_getMapData();
function mapCacheSet(key, value) {
var data = getMapData(this, key), size = data.size;
data.set(key, value);
this.size += data.size == size ? 0 : 1;
return this;
}
module.exports = mapCacheSet;
}
});
// node_modules/lodash/_MapCache.js
var require_MapCache = __commonJS({
"node_modules/lodash/_MapCache.js"(exports, module) {
var mapCacheClear = require_mapCacheClear();
var mapCacheDelete = require_mapCacheDelete();
var mapCacheGet = require_mapCacheGet();
var mapCacheHas = require_mapCacheHas();
var mapCacheSet = require_mapCacheSet();
function MapCache(entries) {
var index = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index < length) {
var entry = entries[index];
this.set(entry[0], entry[1]);
}
}
MapCache.prototype.clear = mapCacheClear;
MapCache.prototype["delete"] = mapCacheDelete;
MapCache.prototype.get = mapCacheGet;
MapCache.prototype.has = mapCacheHas;
MapCache.prototype.set = mapCacheSet;
module.exports = MapCache;
}
});
// node_modules/lodash/_stackSet.js
var require_stackSet = __commonJS({
"node_modules/lodash/_stackSet.js"(exports, module) {
var ListCache = require_ListCache();
var Map = require_Map();
var MapCache = require_MapCache();
var LARGE_ARRAY_SIZE = 200;
function stackSet(key, value) {
var data = this.__data__;
if (data instanceof ListCache) {
var pairs = data.__data__;
if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {
pairs.push([key, value]);
this.size = ++data.size;
return this;
}
data = this.__data__ = new MapCache(pairs);
}
data.set(key, value);
this.size = data.size;
return this;
}
module.exports = stackSet;
}
});
// node_modules/lodash/_Stack.js
var require_Stack = __commonJS({
"node_modules/lodash/_Stack.js"(exports, module) {
var ListCache = require_ListCache();
var stackClear = require_stackClear();
var stackDelete = require_stackDelete();
var stackGet = require_stackGet();
var stackHas = require_stackHas();
var stackSet = require_stackSet();
function Stack(entries) {
var data = this.__data__ = new ListCache(entries);
this.size = data.size;
}
Stack.prototype.clear = stackClear;
Stack.prototype["delete"] = stackDelete;
Stack.prototype.get = stackGet;
Stack.prototype.has = stackHas;
Stack.prototype.set = stackSet;
module.exports = Stack;
}
});
// node_modules/lodash/_arrayEach.js
var require_arrayEach = __commonJS({
"node_modules/lodash/_arrayEach.js"(exports, module) {
function arrayEach(array, iteratee) {
var index = -1, length = array == null ? 0 : array.length;
while (++index < length) {
if (iteratee(array[index], index, array) === false) {
break;
}
}
return array;
}
module.exports = arrayEach;
}
});
// node_modules/lodash/_defineProperty.js
var require_defineProperty = __commonJS({
"node_modules/lodash/_defineProperty.js"(exports, module) {
var getNative = require_getNative();
var defineProperty = (function() {
try {
var func = getNative(Object, "defineProperty");
func({}, "", {});
return func;
} catch (e) {
}
})();
module.exports = defineProperty;
}
});
// node_modules/lodash/_baseAssignValue.js
var require_baseAssignValue = __commonJS({
"node_modules/lodash/_baseAssignValue.js"(exports, module) {
var defineProperty = require_defineProperty();
function baseAssignValue(object, key, value) {
if (key == "__proto__" && defineProperty) {
defineProperty(object, key, {
"configurable": true,
"enumerable": true,
"value": value,
"writable": true
});
} else {
object[key] = value;
}
}
module.exports = baseAssignValue;
}
});
// node_modules/lodash/_assignValue.js
var require_assignValue = __commonJS({
"node_modules/lodash/_assignValue.js"(exports, module) {
var baseAssignValue = require_baseAssignValue();
var eq = require_eq();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function assignValue(object, key, value) {
var objValue = object[key];
if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
baseAssignValue(object, key, value);
}
}
module.exports = assignValue;
}
});
// node_modules/lodash/_copyObject.js
var require_copyObject = __commonJS({
"node_modules/lodash/_copyObject.js"(exports, module) {
var assignValue = require_assignValue();
var baseAssignValue = require_baseAssignValue();
function copyObject(source, props, object, customizer) {
var isNew = !object;
object || (object = {});
var index = -1, length = props.length;
while (++index < length) {
var key = props[index];
var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
if (newValue === void 0) {
newValue = source[key];
}
if (isNew) {
baseAssignValue(object, key, newValue);
} else {
assignValue(object, key, newValue);
}
}
return object;
}
module.exports = copyObject;
}
});
// node_modules/lodash/_baseTimes.js
var require_baseTimes = __commonJS({
"node_modules/lodash/_baseTimes.js"(exports, module) {
function baseTimes(n, iteratee) {
var index = -1, result = Array(n);
while (++index < n) {
result[index] = iteratee(index);
}
return result;
}
module.exports = baseTimes;
}
});
// node_modules/lodash/isObjectLike.js
var require_isObjectLike = __commonJS({
"node_modules/lodash/isObjectLike.js"(exports, module) {
function isObjectLike(value) {
return value != null && typeof value == "object";
}
module.exports = isObjectLike;
}
});
// node_modules/lodash/_baseIsArguments.js
var require_baseIsArguments = __commonJS({
"node_modules/lodash/_baseIsArguments.js"(exports, module) {
var baseGetTag = require_baseGetTag();
var isObjectLike = require_isObjectLike();
var argsTag = "[object Arguments]";
function baseIsArguments(value) {
return isObjectLike(value) && baseGetTag(value) == argsTag;
}
module.exports = baseIsArguments;
}
});
// node_modules/lodash/isArguments.js
var require_isArguments = __commonJS({
"node_modules/lodash/isArguments.js"(exports, module) {
var baseIsArguments = require_baseIsArguments();
var isObjectLike = require_isObjectLike();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
var isArguments = baseIsArguments(/* @__PURE__ */ (function() {
return arguments;
})()) ? baseIsArguments : function(value) {
return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
};
module.exports = isArguments;
}
});
// node_modules/lodash/isArray.js
var require_isArray = __commonJS({
"node_modules/lodash/isArray.js"(exports, module) {
var isArray = Array.isArray;
module.exports = isArray;
}
});
// node_modules/lodash/stubFalse.js
var require_stubFalse = __commonJS({
"node_modules/lodash/stubFalse.js"(exports, module) {
function stubFalse() {
return false;
}
module.exports = stubFalse;
}
});
// node_modules/lodash/isBuffer.js
var require_isBuffer = __commonJS({
"node_modules/lodash/isBuffer.js"(exports, module) {
var root = require_root();
var stubFalse = require_stubFalse();
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
var moduleExports = freeModule && freeModule.exports === freeExports;
var Buffer = moduleExports ? root.Buffer : void 0;
var nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0;
var isBuffer = nativeIsBuffer || stubFalse;
module.exports = isBuffer;
}
});
// node_modules/lodash/_isIndex.js
var require_isIndex = __commonJS({
"node_modules/lodash/_isIndex.js"(exports, module) {
var MAX_SAFE_INTEGER = 9007199254740991;
var reIsUint = /^(?:0|[1-9]\d*)$/;
function isIndex(value, length) {
var type = typeof value;
length = length == null ? MAX_SAFE_INTEGER : length;
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
}
module.exports = isIndex;
}
});
// node_modules/lodash/isLength.js
var require_isLength = __commonJS({
"node_modules/lodash/isLength.js"(exports, module) {
var MAX_SAFE_INTEGER = 9007199254740991;
function isLength(value) {
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
}
module.exports = isLength;
}
});
// node_modules/lodash/_baseIsTypedArray.js
var require_baseIsTypedArray = __commonJS({
"node_modules/lodash/_baseIsTypedArray.js"(exports, module) {
var baseGetTag = require_baseGetTag();
var isLength = require_isLength();
var isObjectLike = require_isObjectLike();
var argsTag = "[object Arguments]";
var arrayTag = "[object Array]";
var boolTag = "[object Boolean]";
var dateTag = "[object Date]";
var errorTag = "[object Error]";
var funcTag = "[object Function]";
var mapTag = "[object Map]";
var numberTag = "[object Number]";
var objectTag = "[object Object]";
var regexpTag = "[object RegExp]";
var setTag = "[object Set]";
var stringTag = "[object String]";
var weakMapTag = "[object WeakMap]";
var arrayBufferTag = "[object ArrayBuffer]";
var dataViewTag = "[object DataView]";
var float32Tag = "[object Float32Array]";
var float64Tag = "[object Float64Array]";
var int8Tag = "[object Int8Array]";
var int16Tag = "[object Int16Array]";
var int32Tag = "[object Int32Array]";
var uint8Tag = "[object Uint8Array]";
var uint8ClampedTag = "[object Uint8ClampedArray]";
var uint16Tag = "[object Uint16Array]";
var uint32Tag = "[object Uint32Array]";
var typedArrayTags = {};
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
function baseIsTypedArray(value) {
return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
}
module.exports = baseIsTypedArray;
}
});
// node_modules/lodash/_baseUnary.js
var require_baseUnary = __commonJS({
"node_modules/lodash/_baseUnary.js"(exports, module) {
function baseUnary(func) {
return function(value) {
return func(value);
};
}
module.exports = baseUnary;
}
});
// node_modules/lodash/_nodeUtil.js
var require_nodeUtil = __commonJS({
"node_modules/lodash/_nodeUtil.js"(exports, module) {
var freeGlobal = require_freeGlobal();
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
var moduleExports = freeModule && freeModule.exports === freeExports;
var freeProcess = moduleExports && freeGlobal.process;
var nodeUtil = (function() {
try {
var types = freeModule && freeModule.require && freeModule.require("util").types;
if (types) {
return types;
}
return freeProcess && freeProcess.binding && freeProcess.binding("util");
} catch (e) {
}
})();
module.exports = nodeUtil;
}
});
// node_modules/lodash/isTypedArray.js
var require_isTypedArray = __commonJS({
"node_modules/lodash/isTypedArray.js"(exports, module) {
var baseIsTypedArray = require_baseIsTypedArray();
var baseUnary = require_baseUnary();
var nodeUtil = require_nodeUtil();
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
module.exports = isTypedArray;
}
});
// node_modules/lodash/_arrayLikeKeys.js
var require_arrayLikeKeys = __commonJS({
"node_modules/lodash/_arrayLikeKeys.js"(exports, module) {
var baseTimes = require_baseTimes();
var isArguments = require_isArguments();
var isArray = require_isArray();
var isBuffer = require_isBuffer();
var isIndex = require_isIndex();
var isTypedArray = require_isTypedArray();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function arrayLikeKeys(value, inherited) {
var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
for (var key in value) {
if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
(key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
isIndex(key, length)))) {
result.push(key);
}
}
return result;
}
module.exports = arrayLikeKeys;
}
});
// node_modules/lodash/_isPrototype.js
var require_isPrototype = __commonJS({
"node_modules/lodash/_isPrototype.js"(exports, module) {
var objectProto = Object.prototype;
function isPrototype(value) {
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
return value === proto;
}
module.exports = isPrototype;
}
});
// node_modules/lodash/_overArg.js
var require_overArg = __commonJS({
"node_modules/lodash/_overArg.js"(exports, module) {
function overArg(func, transform) {
return function(arg) {
return func(transform(arg));
};
}
module.exports = overArg;
}
});
// node_modules/lodash/_nativeKeys.js
var require_nativeKeys = __commonJS({
"node_modules/lodash/_nativeKeys.js"(exports, module) {
var overArg = require_overArg();
var nativeKeys = overArg(Object.keys, Object);
module.exports = nativeKeys;
}
});
// node_modules/lodash/_baseKeys.js
var require_baseKeys = __commonJS({
"node_modules/lodash/_baseKeys.js"(exports, module) {
var isPrototype = require_isPrototype();
var nativeKeys = require_nativeKeys();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function baseKeys(object) {
if (!isPrototype(object)) {
return nativeKeys(object);
}
var result = [];
for (var key in Object(object)) {
if (hasOwnProperty.call(object, key) && key != "constructor") {
result.push(key);
}
}
return result;
}
module.exports = baseKeys;
}
});
// node_modules/lodash/isArrayLike.js
var require_isArrayLike = __commonJS({
"node_modules/lodash/isArrayLike.js"(exports, module) {
var isFunction = require_isFunction();
var isLength = require_isLength();
function isArrayLike(value) {
return value != null && isLength(value.length) && !isFunction(value);
}
module.exports = isArrayLike;
}
});
// node_modules/lodash/keys.js
var require_keys = __commonJS({
"node_modules/lodash/keys.js"(exports, module) {
var arrayLikeKeys = require_arrayLikeKeys();
var baseKeys = require_baseKeys();
var isArrayLike = require_isArrayLike();
function keys(object) {
return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
}
module.exports = keys;
}
});
// node_modules/lodash/_baseAssign.js
var require_baseAssign = __commonJS({
"node_modules/lodash/_baseAssign.js"(exports, module) {
var copyObject = require_copyObject();
var keys = require_keys();
function baseAssign(object, source) {
return object && copyObject(source, keys(source), object);
}
module.exports = baseAssign;
}
});
// node_modules/lodash/_nativeKeysIn.js
var require_nativeKeysIn = __commonJS({
"node_modules/lodash/_nativeKeysIn.js"(exports, module) {
function nativeKeysIn(object) {
var result = [];
if (object != null) {
for (var key in Object(object)) {
result.push(key);
}
}
return result;
}
module.exports = nativeKeysIn;
}
});
// node_modules/lodash/_baseKeysIn.js
var require_baseKeysIn = __commonJS({
"node_modules/lodash/_baseKeysIn.js"(exports, module) {
var isObject = require_isObject();
var isPrototype = require_isPrototype();
var nativeKeysIn = require_nativeKeysIn();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function baseKeysIn(object) {
if (!isObject(object)) {
return nativeKeysIn(object);
}
var isProto = isPrototype(object), result = [];
for (var key in object) {
if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
result.push(key);
}
}
return result;
}
module.exports = baseKeysIn;
}
});
// node_modules/lodash/keysIn.js
var require_keysIn = __commonJS({
"node_modules/lodash/keysIn.js"(exports, module) {
var arrayLikeKeys = require_arrayLikeKeys();
var baseKeysIn = require_baseKeysIn();
var isArrayLike = require_isArrayLike();
function keysIn(object) {
return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
}
module.exports = keysIn;
}
});
// node_modules/lodash/_baseAssignIn.js
var require_baseAssignIn = __commonJS({
"node_modules/lodash/_baseAssignIn.js"(exports, module) {
var copyObject = require_copyObject();
var keysIn = require_keysIn();
function baseAssignIn(object, source) {
return object && copyObject(source, keysIn(source), object);
}
module.exports = baseAssignIn;
}
});
// node_modules/lodash/_cloneBuffer.js
var require_cloneBuffer = __commonJS({
"node_modules/lodash/_cloneBuffer.js"(exports, module) {
var root = require_root();
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
var moduleExports = freeModule && freeModule.exports === freeExports;
var Buffer = moduleExports ? root.Buffer : void 0;
var allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
function cloneBuffer(buffer, isDeep) {
if (isDeep) {
return buffer.slice();
}
var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
buffer.copy(result);
return result;
}
module.exports = cloneBuffer;
}
});
// node_modules/lodash/_copyArray.js
var require_copyArray = __commonJS({
"node_modules/lodash/_copyArray.js"(exports, module) {
function copyArray(source, array) {
var index = -1, length = source.length;
array || (array = Array(length));
while (++index < length) {
array[index] = source[index];
}
return array;
}
module.exports = copyArray;
}
});
// node_modules/lodash/_arrayFilter.js
var require_arrayFilter = __commonJS({
"node_modules/lodash/_arrayFilter.js"(exports, module) {
function arrayFilter(array, predicate) {
var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
while (++index < length) {
var value = array[index];
if (predicate(value, index, array)) {
result[resIndex++] = value;
}
}
return result;
}
module.exports = arrayFilter;
}
});
// node_modules/lodash/stubArray.js
var require_stubArray = __commonJS({
"node_modules/lodash/stubArray.js"(exports, module) {
function stubArray() {
return [];
}
module.exports = stubArray;
}
});
// node_modules/lodash/_getSymbols.js
var require_getSymbols = __commonJS({
"node_modules/lodash/_getSymbols.js"(exports, module) {
var arrayFilter = require_arrayFilter();
var stubArray = require_stubArray();
var objectProto = Object.prototype;
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
var nativeGetSymbols = Object.getOwnPropertySymbols;
var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
if (object == null) {
return [];
}
object = Object(object);
return arrayFilter(nativeGetSymbols(object), function(symbol) {
return propertyIsEnumerable.call(object, symbol);
});
};
module.exports = getSymbols;
}
});
// node_modules/lodash/_copySymbols.js
var require_copySymbols = __commonJS({
"node_modules/lodash/_copySymbols.js"(exports, module) {
var copyObject = require_copyObject();
var getSymbols = require_getSymbols();
function copySymbols(source, object) {
return copyObject(source, getSymbols(source), object);
}
module.exports = copySymbols;
}
});
// node_modules/lodash/_arrayPush.js
var require_arrayPush = __commonJS({
"node_modules/lodash/_arrayPush.js"(exports, module) {
function arrayPush(array, values) {
var index = -1, length = values.length, offset = array.length;
while (++index < length) {
array[offset + index] = values[index];
}
return array;
}
module.exports = arrayPush;
}
});
// node_modules/lodash/_getPrototype.js
var require_getPrototype = __commonJS({
"node_modules/lodash/_getPrototype.js"(exports, module) {
var overArg = require_overArg();
var getPrototype = overArg(Object.getPrototypeOf, Object);
module.exports = getPrototype;
}
});
// node_modules/lodash/_getSymbolsIn.js
var require_getSymbolsIn = __commonJS({
"node_modules/lodash/_getSymbolsIn.js"(exports, module) {
var arrayPush = require_arrayPush();
var getPrototype = require_getPrototype();
var getSymbols = require_getSymbols();
var stubArray = require_stubArray();
var nativeGetSymbols = Object.getOwnPropertySymbols;
var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
var result = [];
while (object) {
arrayPush(result, getSymbols(object));
object = getPrototype(object);
}
return result;
};
module.exports = getSymbolsIn;
}
});
// node_modules/lodash/_copySymbolsIn.js
var require_copySymbolsIn = __commonJS({
"node_modules/lodash/_copySymbolsIn.js"(exports, module) {
var copyObject = require_copyObject();
var getSymbolsIn = require_getSymbolsIn();
function copySymbolsIn(source, object) {
return copyObject(source, getSymbolsIn(source), object);
}
module.exports = copySymbolsIn;
}
});
// node_modules/lodash/_baseGetAllKeys.js
var require_baseGetAllKeys = __commonJS({
"node_modules/lodash/_baseGetAllKeys.js"(exports, module) {
var arrayPush = require_arrayPush();
var isArray = require_isArray();
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
var result = keysFunc(object);
return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
}
module.exports = baseGetAllKeys;
}
});
// node_modules/lodash/_getAllKeys.js
var require_getAllKeys = __commonJS({
"node_modules/lodash/_getAllKeys.js"(exports, module) {
var baseGetAllKeys = require_baseGetAllKeys();
var getSymbols = require_getSymbols();
var keys = require_keys();
function getAllKeys(object) {
return baseGetAllKeys(object, keys, getSymbols);
}
module.exports = getAllKeys;
}
});
// node_modules/lodash/_getAllKeysIn.js
var require_getAllKeysIn = __commonJS({
"node_modules/lodash/_getAllKeysIn.js"(exports, module) {
var baseGetAllKeys = require_baseGetAllKeys();
var getSymbolsIn = require_getSymbolsIn();
var keysIn = require_keysIn();
function getAllKeysIn(object) {
return baseGetAllKeys(object, keysIn, getSymbolsIn);
}
module.exports = getAllKeysIn;
}
});
// node_modules/lodash/_DataView.js
var require_DataView = __commonJS({
"node_modules/lodash/_DataView.js"(exports, module) {
var getNative = require_getNative();
var root = require_root();
var DataView = getNative(root, "DataView");
module.exports = DataView;
}
});
// node_modules/lodash/_Promise.js
var require_Promise = __commonJS({
"node_modules/lodash/_Promise.js"(exports, module) {
var getNative = require_getNative();
var root = require_root();
var Promise2 = getNative(root, "Promise");
module.exports = Promise2;
}
});
// node_modules/lodash/_Set.js
var require_Set = __commonJS({
"node_modules/lodash/_Set.js"(exports, module) {
var getNative = require_getNative();
var root = require_root();
var Set = getNative(root, "Set");
module.exports = Set;
}
});
// node_modules/lodash/_WeakMap.js
var require_WeakMap = __commonJS({
"node_modules/lodash/_WeakMap.js"(exports, module) {
var getNative = require_getNative();
var root = require_root();
var WeakMap = getNative(root, "WeakMap");
module.exports = WeakMap;
}
});
// node_modules/lodash/_getTag.js
var require_getTag = __commonJS({
"node_modules/lodash/_getTag.js"(exports, module) {
var DataView = require_DataView();
var Map = require_Map();
var Promise2 = require_Promise();
var Set = require_Set();
var WeakMap = require_WeakMap();
var baseGetTag = require_baseGetTag();
var toSource = require_toSource();
var mapTag = "[object Map]";
var objectTag = "[object Object]";
var promiseTag = "[object Promise]";
var setTag = "[object Set]";
var weakMapTag = "[object WeakMap]";
var dataViewTag = "[object DataView]";
var dataViewCtorString = toSource(DataView);
var mapCtorString = toSource(Map);
var promiseCtorString = toSource(Promise2);
var setCtorString = toSource(Set);
var weakMapCtorString = toSource(WeakMap);
var getTag = baseGetTag;
if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
getTag = function(value) {
var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
if (ctorString) {
switch (ctorString) {
case dataViewCtorString:
return dataViewTag;
case mapCtorString:
return mapTag;
case promiseCtorString:
return promiseTag;
case setCtorString:
return setTag;
case weakMapCtorString:
return weakMapTag;
}
}
return result;
};
}
module.exports = getTag;
}
});
// node_modules/lodash/_initCloneArray.js
var require_initCloneArray = __commonJS({
"node_modules/lodash/_initCloneArray.js"(exports, module) {
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function initCloneArray(array) {
var length = array.length, result = new array.constructor(length);
if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) {
result.index = array.index;
result.input = array.input;
}
return result;
}
module.exports = initCloneArray;
}
});
// node_modules/lodash/_Uint8Array.js
var require_Uint8Array = __commonJS({
"node_modules/lodash/_Uint8Array.js"(exports, module) {
var root = require_root();
var Uint8Array = root.Uint8Array;
module.exports = Uint8Array;
}
});
// node_modules/lodash/_cloneArrayBuffer.js
var require_cloneArrayBuffer = __commonJS({
"node_modules/lodash/_cloneArrayBuffer.js"(exports, module) {
var Uint8Array = require_Uint8Array();
function cloneArrayBuffer(arrayBuffer) {
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
new Uint8Array(result).set(new Uint8Array(arrayBuffer));
return result;
}
module.exports = cloneArrayBuffer;
}
});
// node_modules/lodash/_cloneDataView.js
var require_cloneDataView = __commonJS({
"node_modules/lodash/_cloneDataView.js"(exports, module) {
var cloneArrayBuffer = require_cloneArrayBuffer();
function cloneDataView(dataView, isDeep) {
var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
}
module.exports = cloneDataView;
}
});
// node_modules/lodash/_cloneRegExp.js
var require_cloneRegExp = __commonJS({
"node_modules/lodash/_cloneRegExp.js"(exports, module) {
var reFlags = /\w*$/;
function cloneRegExp(regexp) {
var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
result.lastIndex = regexp.lastIndex;
return result;
}
module.exports = cloneRegExp;
}
});
// node_modules/lodash/_cloneSymbol.js
var require_cloneSymbol = __commonJS({
"node_modules/lodash/_cloneSymbol.js"(exports, module) {
var Symbol = require_Symbol();
var symbolProto = Symbol ? Symbol.prototype : void 0;
var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
function cloneSymbol(symbol) {
return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
}
module.exports = cloneSymbol;
}
});
// node_modules/lodash/_cloneTypedArray.js
var require_cloneTypedArray = __commonJS({
"node_modules/lodash/_cloneTypedArray.js"(exports, module) {
var cloneArrayBuffer = require_cloneArrayBuffer();
function cloneTypedArray(typedArray, isDeep) {
var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
}
module.exports = cloneTypedArray;
}
});
// node_modules/lodash/_initCloneByTag.js
var require_initCloneByTag = __commonJS({
"node_modules/lodash/_initCloneByTag.js"(exports, module) {
var cloneArrayBuffer = require_cloneArrayBuffer();
var cloneDataView = require_cloneDataView();
var cloneRegExp = require_cloneRegExp();
var cloneSymbol = require_cloneSymbol();
var cloneTypedArray = require_cloneTypedArray();
var boolTag = "[object Boolean]";
var dateTag = "[object Date]";
var mapTag = "[object Map]";
var numberTag = "[object Number]";
var regexpTag = "[object RegExp]";
var setTag = "[object Set]";
var stringTag = "[object String]";
var symbolTag = "[object Symbol]";
var arrayBufferTag = "[object ArrayBuffer]";
var dataViewTag = "[object DataView]";
var float32Tag = "[object Float32Array]";
var float64Tag = "[object Float64Array]";
var int8Tag = "[object Int8Array]";
var int16Tag = "[object Int16Array]";
var int32Tag = "[object Int32Array]";
var uint8Tag = "[object Uint8Array]";
var uint8ClampedTag = "[object Uint8ClampedArray]";
var uint16Tag = "[object Uint16Array]";
var uint32Tag = "[object Uint32Array]";
function initCloneByTag(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag:
return cloneArrayBuffer(object);
case boolTag:
case dateTag:
return new Ctor(+object);
case dataViewTag:
return cloneDataView(object, isDeep);
case float32Tag:
case float64Tag:
case int8Tag:
case int16Tag:
case int32Tag:
case uint8Tag:
case uint8ClampedTag:
case uint16Tag:
case uint32Tag:
return cloneTypedArray(object, isDeep);
case mapTag:
return new Ctor();
case numberTag:
case stringTag:
return new Ctor(object);
case regexpTag:
return cloneRegExp(object);
case setTag:
return new Ctor();
case symbolTag:
return cloneSymbol(object);
}
}
module.exports = initCloneByTag;
}
});
// node_modules/lodash/_baseCreate.js
var require_baseCreate = __commonJS({
"node_modules/lodash/_baseCreate.js"(exports, module) {
var isObject = require_isObject();
var objectCreate = Object.create;
var baseCreate = /* @__PURE__ */ (function() {
function object() {
}
return function(proto) {
if (!isObject(proto)) {
return {};
}
if (objectCreate) {
return objectCreate(proto);
}
object.prototype = proto;
var result = new object();
object.prototype = void 0;
return result;
};
})();
module.exports = baseCreate;
}
});
// node_modules/lodash/_initCloneObject.js
var require_initCloneObject = __commonJS({
"node_modules/lodash/_initCloneObject.js"(exports, module) {
var baseCreate = require_baseCreate();
var getPrototype = require_getPrototype();
var isPrototype = require_isPrototype();
function initCloneObject(object) {
return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
}
module.exports = initCloneObject;
}
});
// node_modules/lodash/_baseIsMap.js
var require_baseIsMap = __commonJS({
"node_modules/lodash/_baseIsMap.js"(exports, module) {
var getTag = require_getTag();
var isObjectLike = require_isObjectLike();
var mapTag = "[object Map]";
function baseIsMap(value) {
return isObjectLike(value) && getTag(value) == mapTag;
}
module.exports = baseIsMap;
}
});
// node_modules/lodash/isMap.js
var require_isMap = __commonJS({
"node_modules/lodash/isMap.js"(exports, module) {
var baseIsMap = require_baseIsMap();
var baseUnary = require_baseUnary();
var nodeUtil = require_nodeUtil();
var nodeIsMap = nodeUtil && nodeUtil.isMap;
var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
module.exports = isMap;
}
});
// node_modules/lodash/_baseIsSet.js
var require_baseIsSet = __commonJS({
"node_modules/lodash/_baseIsSet.js"(exports, module) {
var getTag = require_getTag();
var isObjectLike = require_isObjectLike();
var setTag = "[object Set]";
function baseIsSet(value) {
return isObjectLike(value) && getTag(value) == setTag;
}
module.exports = baseIsSet;
}
});
// node_modules/lodash/isSet.js
var require_isSet = __commonJS({
"node_modules/lodash/isSet.js"(exports, module) {
var baseIsSet = require_baseIsSet();
var baseUnary = require_baseUnary();
var nodeUtil = require_nodeUtil();
var nodeIsSet = nodeUtil && nodeUtil.isSet;
var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
module.exports = isSet;
}
});
// node_modules/lodash/_baseClone.js
var require_baseClone = __commonJS({
"node_modules/lodash/_baseClone.js"(exports, module) {
var Stack = require_Stack();
var arrayEach = require_arrayEach();
var assignValue = require_assignValue();
var baseAssign = require_baseAssign();
var baseAssignIn = require_baseAssignIn();
var cloneBuffer = require_cloneBuffer();
var copyArray = require_copyArray();
var copySymbols = require_copySymbols();
var copySymbolsIn = require_copySymbolsIn();
var getAllKeys = require_getAllKeys();
var getAllKeysIn = require_getAllKeysIn();
var getTag = require_getTag();
var initCloneArray = require_initCloneArray();
var initCloneByTag = require_initCloneByTag();
var initCloneObject = require_initCloneObject();
var isArray = require_isArray();
var isBuffer = require_isBuffer();
var isMap = require_isMap();
var isObject = require_isObject();
var isSet = require_isSet();
var keys = require_keys();
var keysIn = require_keysIn();
var CLONE_DEEP_FLAG = 1;
var CLONE_FLAT_FLAG = 2;
var CLONE_SYMBOLS_FLAG = 4;
var argsTag = "[object Arguments]";
var arrayTag = "[object Array]";
var boolTag = "[object Boolean]";
var dateTag = "[object Date]";
var errorTag = "[object Error]";
var funcTag = "[object Function]";
var genTag = "[object GeneratorFunction]";
var mapTag = "[object Map]";
var numberTag = "[object Number]";
var objectTag = "[object Object]";
var regexpTag = "[object RegExp]";
var setTag = "[object Set]";
var stringTag = "[object String]";
var symbolTag = "[object Symbol]";
var weakMapTag = "[object WeakMap]";
var arrayBufferTag = "[object ArrayBuffer]";
var dataViewTag = "[object DataView]";
var float32Tag = "[object Float32Array]";
var float64Tag = "[object Float64Array]";
var int8Tag = "[object Int8Array]";
var int16Tag = "[object Int16Array]";
var int32Tag = "[object Int32Array]";
var uint8Tag = "[object Uint8Array]";
var uint8ClampedTag = "[object Uint8ClampedArray]";
var uint16Tag = "[object Uint16Array]";
var uint32Tag = "[object Uint32Array]";
var cloneableTags = {};
cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
function baseClone(value, bitmask, customizer, key, object, stack) {
var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;
if (customizer) {
result = object ? customizer(value, key, object, stack) : customizer(value);
}
if (result !== void 0) {
return result;
}
if (!isObject(value)) {
return value;
}
var isArr = isArray(value);
if (isArr) {
result = initCloneArray(value);
if (!isDeep) {
return copyArray(value, result);
}
} else {
var tag = getTag(value), isFunc = tag == funcTag || tag == genTag;
if (isBuffer(value)) {
return cloneBuffer(value, isDeep);
}
if (tag == objectTag || tag == argsTag || isFunc && !object) {
result = isFlat || isFunc ? {} : initCloneObject(value);
if (!isDeep) {
return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
}
} else {
if (!cloneableTags[tag]) {
return object ? value : {};
}
result = initCloneByTag(value, tag, isDeep);
}
}
stack || (stack = new Stack());
var stacked = stack.get(value);
if (stacked) {
return stacked;
}
stack.set(value, result);
if (isSet(value)) {
value.forEach(function(subValue) {
result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
});
} else if (isMap(value)) {
value.forEach(function(subValue, key2) {
result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
});
}
var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
var props = isArr ? void 0 : keysFunc(value);
arrayEach(props || value, function(subValue, key2) {
if (props) {
key2 = subValue;
subValue = value[key2];
}
assignValue(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
});
return result;
}
module.exports = baseClone;
}
});
// node_modules/lodash/clone.js
var require_clone = __commonJS({
"node_modules/lodash/clone.js"(exports, module) {
var baseClone = require_baseClone();
var CLONE_SYMBOLS_FLAG = 4;
function clone(value) {
return baseClone(value, CLONE_SYMBOLS_FLAG);
}
module.exports = clone;
}
});
// node_modules/lodash/constant.js
var require_constant = __commonJS({
"node_modules/lodash/constant.js"(exports, module) {
function constant(value) {
return function() {
return value;
};
}
module.exports = constant;
}
});
// node_modules/lodash/_createBaseFor.js
var require_createBaseFor = __commonJS({
"node_modules/lodash/_createBaseFor.js"(exports, module) {
function createBaseFor(fromRight) {
return function(object, iteratee, keysFunc) {
var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
while (length--) {
var key = props[fromRight ? length : ++index];
if (iteratee(iterable[key], key, iterable) === false) {
break;
}
}
return object;
};
}
module.exports = createBaseFor;
}
});
// node_modules/lodash/_baseFor.js
var require_baseFor = __commonJS({
"node_modules/lodash/_baseFor.js"(exports, module) {
var createBaseFor = require_createBaseFor();
var baseFor = createBaseFor();
module.exports = baseFor;
}
});
// node_modules/lodash/_baseForOwn.js
var require_baseForOwn = __commonJS({
"node_modules/lodash/_baseForOwn.js"(exports, module) {
var baseFor = require_baseFor();
var keys = require_keys();
function baseForOwn(object, iteratee) {
return object && baseFor(object, iteratee, keys);
}
module.exports = baseForOwn;
}
});
// node_modules/lodash/_createBaseEach.js
var require_createBaseEach = __commonJS({
"node_modules/lodash/_createBaseEach.js"(exports, module) {
var isArrayLike = require_isArrayLike();
function createBaseEach(eachFunc, fromRight) {
return function(collection, iteratee) {
if (collection == null) {
return collection;
}
if (!isArrayLike(collection)) {
return eachFunc(collection, iteratee);
}
var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
while (fromRight ? index-- : ++index < length) {
if (iteratee(iterable[index], index, iterable) === false) {
break;
}
}
return collection;
};
}
module.exports = createBaseEach;
}
});
// node_modules/lodash/_baseEach.js
var require_baseEach = __commonJS({
"node_modules/lodash/_baseEach.js"(exports, module) {
var baseForOwn = require_baseForOwn();
var createBaseEach = require_createBaseEach();
var baseEach = createBaseEach(baseForOwn);
module.exports = baseEach;
}
});
// node_modules/lodash/identity.js
var require_identity = __commonJS({
"node_modules/lodash/identity.js"(exports, module) {
function identity(value) {
return value;
}
module.exports = identity;
}
});
// node_modules/lodash/_castFunction.js
var require_castFunction = __commonJS({
"node_modules/lodash/_castFunction.js"(exports, module) {
var identity = require_identity();
function castFunction(value) {
return typeof value == "function" ? value : identity;
}
module.exports = castFunction;
}
});
// node_modules/lodash/forEach.js
var require_forEach = __commonJS({
"node_modules/lodash/forEach.js"(exports, module) {
var arrayEach = require_arrayEach();
var baseEach = require_baseEach();
var castFunction = require_castFunction();
var isArray = require_isArray();
function forEach(collection, iteratee) {
var func = isArray(collection) ? arrayEach : baseEach;
return func(collection, castFunction(iteratee));
}
module.exports = forEach;
}
});
// node_modules/lodash/each.js
var require_each = __commonJS({
"node_modules/lodash/each.js"(exports, module) {
module.exports = require_forEach();
}
});
// node_modules/lodash/_baseFilter.js
var require_baseFilter = __commonJS({
"node_modules/lodash/_baseFilter.js"(exports, module) {
var baseEach = require_baseEach();
function baseFilter(collection, predicate) {
var result = [];
baseEach(collection, function(value, index, collection2) {
if (predicate(value, index, collection2)) {
result.push(value);
}
});
return result;
}
module.exports = baseFilter;
}
});
// node_modules/lodash/_setCacheAdd.js
var require_setCacheAdd = __commonJS({
"node_modules/lodash/_setCacheAdd.js"(exports, module) {
var HASH_UNDEFINED = "__lodash_hash_undefined__";
function setCacheAdd(value) {
this.__data__.set(value, HASH_UNDEFINED);
return this;
}
module.exports = setCacheAdd;
}
});
// node_modules/lodash/_setCacheHas.js
var require_setCacheHas = __commonJS({
"node_modules/lodash/_setCacheHas.js"(exports, module) {
function setCacheHas(value) {
return this.__data__.has(value);
}
module.exports = setCacheHas;
}
});
// node_modules/lodash/_SetCache.js
var require_SetCache = __commonJS({
"node_modules/lodash/_SetCache.js"(exports, module) {
var MapCache = require_MapCache();
var setCacheAdd = require_setCacheAdd();
var setCacheHas = require_setCacheHas();
function SetCache(values) {
var index = -1, length = values == null ? 0 : values.length;
this.__data__ = new MapCache();
while (++index < length) {
this.add(values[index]);
}
}
SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
SetCache.prototype.has = setCacheHas;
module.exports = SetCache;
}
});
// node_modules/lodash/_arraySome.js
var require_arraySome = __commonJS({
"node_modules/lodash/_arraySome.js"(exports, module) {
function arraySome(array, predicate) {
var index = -1, length = array == null ? 0 : array.length;
while (++index < length) {
if (predicate(array[index], index, array)) {
return true;
}
}
return false;
}
module.exports = arraySome;
}
});
// node_modules/lodash/_cacheHas.js
var require_cacheHas = __commonJS({
"node_modules/lodash/_cacheHas.js"(exports, module) {
function cacheHas(cache, key) {
return cache.has(key);
}
module.exports = cacheHas;
}
});
// node_modules/lodash/_equalArrays.js
var require_equalArrays = __commonJS({
"node_modules/lodash/_equalArrays.js"(exports, module) {
var SetCache = require_SetCache();
var arraySome = require_arraySome();
var cacheHas = require_cacheHas();
var COMPARE_PARTIAL_FLAG = 1;
var COMPARE_UNORDERED_FLAG = 2;
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
return false;
}
var arrStacked = stack.get(array);
var othStacked = stack.get(other);
if (arrStacked && othStacked) {
return arrStacked == other && othStacked == array;
}
var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0;
stack.set(array, other);
stack.set(other, array);
while (++index < arrLength) {
var arrValue = array[index], othValue = other[index];
if (customizer) {
var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
}
if (compared !== void 0) {
if (compared) {
continue;
}
result = false;
break;
}
if (seen) {
if (!arraySome(other, function(othValue2, othIndex) {
if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
return seen.push(othIndex);
}
})) {
result = false;
break;
}
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
result = false;
break;
}
}
stack["delete"](array);
stack["delete"](other);
return result;
}
module.exports = equalArrays;
}
});
// node_modules/lodash/_mapToArray.js
var require_mapToArray = __commonJS({
"node_modules/lodash/_mapToArray.js"(exports, module) {
function mapToArray(map) {
var index = -1, result = Array(map.size);
map.forEach(function(value, key) {
result[++index] = [key, value];
});
return result;
}
module.exports = mapToArray;
}
});
// node_modules/lodash/_setToArray.js
var require_setToArray = __commonJS({
"node_modules/lodash/_setToArray.js"(exports, module) {
function setToArray(set) {
var index = -1, result = Array(set.size);
set.forEach(function(value) {
result[++index] = value;
});
return result;
}
module.exports = setToArray;
}
});
// node_modules/lodash/_equalByTag.js
var require_equalByTag = __commonJS({
"node_modules/lodash/_equalByTag.js"(exports, module) {
var Symbol = require_Symbol();
var Uint8Array = require_Uint8Array();
var eq = require_eq();
var equalArrays = require_equalArrays();
var mapToArray = require_mapToArray();
var setToArray = require_setToArray();
var COMPARE_PARTIAL_FLAG = 1;
var COMPARE_UNORDERED_FLAG = 2;
var boolTag = "[object Boolean]";
var dateTag = "[object Date]";
var errorTag = "[object Error]";
var mapTag = "[object Map]";
var numberTag = "[object Number]";
var regexpTag = "[object RegExp]";
var setTag = "[object Set]";
var stringTag = "[object String]";
var symbolTag = "[object Symbol]";
var arrayBufferTag = "[object ArrayBuffer]";
var dataViewTag = "[object DataView]";
var symbolProto = Symbol ? Symbol.prototype : void 0;
var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
switch (tag) {
case dataViewTag:
if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
return false;
}
object = object.buffer;
other = other.buffer;
case arrayBufferTag:
if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
return false;
}
return true;
case boolTag:
case dateTag:
case numberTag:
return eq(+object, +other);
case errorTag:
return object.name == other.name && object.message == other.message;
case regexpTag:
case stringTag:
return object == other + "";
case mapTag:
var convert = mapToArray;
case setTag:
var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
convert || (convert = setToArray);
if (object.size != other.size && !isPartial) {
return false;
}
var stacked = stack.get(object);
if (stacked) {
return stacked == other;
}
bitmask |= COMPARE_UNORDERED_FLAG;
stack.set(object, other);
var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
stack["delete"](object);
return result;
case symbolTag:
if (symbolValueOf) {
return symbolValueOf.call(object) == symbolValueOf.call(other);
}
}
return false;
}
module.exports = equalByTag;
}
});
// node_modules/lodash/_equalObjects.js
var require_equalObjects = __commonJS({
"node_modules/lodash/_equalObjects.js"(exports, module) {
var getAllKeys = require_getAllKeys();
var COMPARE_PARTIAL_FLAG = 1;
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
if (objLength != othLength && !isPartial) {
return false;
}
var index = objLength;
while (index--) {
var key = objProps[index];
if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
return false;
}
}
var objStacked = stack.get(object);
var othStacked = stack.get(other);
if (objStacked && othStacked) {
return objStacked == other && othStacked == object;
}
var result = true;
stack.set(object, other);
stack.set(other, object);
var skipCtor = isPartial;
while (++index < objLength) {
key = objProps[index];
var objValue = object[key], othValue = other[key];
if (customizer) {
var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
}
if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
result = false;
break;
}
skipCtor || (skipCtor = key == "constructor");
}
if (result && !skipCtor) {
var objCtor = object.constructor, othCtor = other.constructor;
if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
result = false;
}
}
stack["delete"](object);
stack["delete"](other);
return result;
}
module.exports = equalObjects;
}
});
// node_modules/lodash/_baseIsEqualDeep.js
var require_baseIsEqualDeep = __commonJS({
"node_modules/lodash/_baseIsEqualDeep.js"(exports, module) {
var Stack = require_Stack();
var equalArrays = require_equalArrays();
var equalByTag = require_equalByTag();
var equalObjects = require_equalObjects();
var getTag = require_getTag();
var isArray = require_isArray();
var isBuffer = require_isBuffer();
var isTypedArray = require_isTypedArray();
var COMPARE_PARTIAL_FLAG = 1;
var argsTag = "[object Arguments]";
var arrayTag = "[object Array]";
var objectTag = "[object Object]";
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
objTag = objTag == argsTag ? objectTag : objTag;
othTag = othTag == argsTag ? objectTag : othTag;
var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
if (isSameTag && isBuffer(object)) {
if (!isBuffer(other)) {
return false;
}
objIsArr = true;
objIsObj = false;
}
if (isSameTag && !objIsObj) {
stack || (stack = new Stack());
return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
}
if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
if (objIsWrapped || othIsWrapped) {
var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
stack || (stack = new Stack());
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
}
}
if (!isSameTag) {
return false;
}
stack || (stack = new Stack());
return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
}
module.exports = baseIsEqualDeep;
}
});
// node_modules/lodash/_baseIsEqual.js
var require_baseIsEqual = __commonJS({
"node_modules/lodash/_baseIsEqual.js"(exports, module) {
var baseIsEqualDeep = require_baseIsEqualDeep();
var isObjectLike = require_isObjectLike();
function baseIsEqual(value, other, bitmask, customizer, stack) {
if (value === other) {
return true;
}
if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
return value !== value && other !== other;
}
return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
}
module.exports = baseIsEqual;
}
});
// node_modules/lodash/_baseIsMatch.js
var require_baseIsMatch = __commonJS({
"node_modules/lodash/_baseIsMatch.js"(exports, module) {
var Stack = require_Stack();
var baseIsEqual = require_baseIsEqual();
var COMPARE_PARTIAL_FLAG = 1;
var COMPARE_UNORDERED_FLAG = 2;
function baseIsMatch(object, source, matchData, customizer) {
var index = matchData.length, length = index, noCustomizer = !customizer;
if (object == null) {
return !length;
}
object = Object(object);
while (index--) {
var data = matchData[index];
if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
return false;
}
}
while (++index < length) {
data = matchData[index];
var key = data[0], objValue = object[key], srcValue = data[1];
if (noCustomizer && data[2]) {
if (objValue === void 0 && !(key in object)) {
return false;
}
} else {
var stack = new Stack();
if (customizer) {
var result = customizer(objValue, srcValue, key, object, source, stack);
}
if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) {
return false;
}
}
}
return true;
}
module.exports = baseIsMatch;
}
});
// node_modules/lodash/_isStrictComparable.js
var require_isStrictComparable = __commonJS({
"node_modules/lodash/_isStrictComparable.js"(exports, module) {
var isObject = require_isObject();
function isStrictComparable(value) {
return value === value && !isObject(value);
}
module.exports = isStrictComparable;
}
});
// node_modules/lodash/_getMatchData.js
var require_getMatchData = __commonJS({
"node_modules/lodash/_getMatchData.js"(exports, module) {
var isStrictComparable = require_isStrictComparable();
var keys = require_keys();
function getMatchData(object) {
var result = keys(object), length = result.length;
while (length--) {
var key = result[length], value = object[key];
result[length] = [key, value, isStrictComparable(value)];
}
return result;
}
module.exports = getMatchData;
}
});
// node_modules/lodash/_matchesStrictComparable.js
var require_matchesStrictComparable = __commonJS({
"node_modules/lodash/_matchesStrictComparable.js"(exports, module) {
function matchesStrictComparable(key, srcValue) {
return function(object) {
if (object == null) {
return false;
}
return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
};
}
module.exports = matchesStrictComparable;
}
});
// node_modules/lodash/_baseMatches.js
var require_baseMatches = __commonJS({
"node_modules/lodash/_baseMatches.js"(exports, module) {
var baseIsMatch = require_baseIsMatch();
var getMatchData = require_getMatchData();
var matchesStrictComparable = require_matchesStrictComparable();
function baseMatches(source) {
var matchData = getMatchData(source);
if (matchData.length == 1 && matchData[0][2]) {
return matchesStrictComparable(matchData[0][0], matchData[0][1]);
}
return function(object) {
return object === source || baseIsMatch(object, source, matchData);
};
}
module.exports = baseMatches;
}
});
// node_modules/lodash/isSymbol.js
var require_isSymbol = __commonJS({
"node_modules/lodash/isSymbol.js"(exports, module) {
var baseGetTag = require_baseGetTag();
var isObjectLike = require_isObjectLike();
var symbolTag = "[object Symbol]";
function isSymbol(value) {
return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
}
module.exports = isSymbol;
}
});
// node_modules/lodash/_isKey.js
var require_isKey = __commonJS({
"node_modules/lodash/_isKey.js"(exports, module) {
var isArray = require_isArray();
var isSymbol = require_isSymbol();
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
var reIsPlainProp = /^\w*$/;
function isKey(value, object) {
if (isArray(value)) {
return false;
}
var type = typeof value;
if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
return true;
}
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
}
module.exports = isKey;
}
});
// node_modules/lodash/memoize.js
var require_memoize = __commonJS({
"node_modules/lodash/memoize.js"(exports, module) {
var MapCache = require_MapCache();
var FUNC_ERROR_TEXT = "Expected a function";
function memoize(func, resolver) {
if (typeof func != "function" || resolver != null && typeof resolver != "function") {
throw new TypeError(FUNC_ERROR_TEXT);
}
var memoized = function() {
var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
if (cache.has(key)) {
return cache.get(key);
}
var result = func.apply(this, args);
memoized.cache = cache.set(key, result) || cache;
return result;
};
memoized.cache = new (memoize.Cache || MapCache)();
return memoized;
}
memoize.Cache = MapCache;
module.exports = memoize;
}
});
// node_modules/lodash/_memoizeCapped.js
var require_memoizeCapped = __commonJS({
"node_modules/lodash/_memoizeCapped.js"(exports, module) {
var memoize = require_memoize();
var MAX_MEMOIZE_SIZE = 500;
function memoizeCapped(func) {
var result = memoize(func, function(key) {
if (cache.size === MAX_MEMOIZE_SIZE) {
cache.clear();
}
return key;
});
var cache = result.cache;
return result;
}
module.exports = memoizeCapped;
}
});
// node_modules/lodash/_stringToPath.js
var require_stringToPath = __commonJS({
"node_modules/lodash/_stringToPath.js"(exports, module) {
var memoizeCapped = require_memoizeCapped();
var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
var reEscapeChar = /\\(\\)?/g;
var stringToPath = memoizeCapped(function(string) {
var result = [];
if (string.charCodeAt(0) === 46) {
result.push("");
}
string.replace(rePropName, function(match, number, quote, subString) {
result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
});
return result;
});
module.exports = stringToPath;
}
});
// node_modules/lodash/_arrayMap.js
var require_arrayMap = __commonJS({
"node_modules/lodash/_arrayMap.js"(exports, module) {
function arrayMap(array, iteratee) {
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
while (++index < length) {
result[index] = iteratee(array[index], index, array);
}
return result;
}
module.exports = arrayMap;
}
});
// node_modules/lodash/_baseToString.js
var require_baseToString = __commonJS({
"node_modules/lodash/_baseToString.js"(exports, module) {
var Symbol = require_Symbol();
var arrayMap = require_arrayMap();
var isArray = require_isArray();
var isSymbol = require_isSymbol();
var INFINITY = 1 / 0;
var symbolProto = Symbol ? Symbol.prototype : void 0;
var symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseToString(value) {
if (typeof value == "string") {
return value;
}
if (isArray(value)) {
return arrayMap(value, baseToString) + "";
}
if (isSymbol(value)) {
return symbolToString ? symbolToString.call(value) : "";
}
var result = value + "";
return result == "0" && 1 / value == -INFINITY ? "-0" : result;
}
module.exports = baseToString;
}
});
// node_modules/lodash/toString.js
var require_toString = __commonJS({
"node_modules/lodash/toString.js"(exports, module) {
var baseToString = require_baseToString();
function toString(value) {
return value == null ? "" : baseToString(value);
}
module.exports = toString;
}
});
// node_modules/lodash/_castPath.js
var require_castPath = __commonJS({
"node_modules/lodash/_castPath.js"(exports, module) {
var isArray = require_isArray();
var isKey = require_isKey();
var stringToPath = require_stringToPath();
var toString = require_toString();
function castPath(value, object) {
if (isArray(value)) {
return value;
}
return isKey(value, object) ? [value] : stringToPath(toString(value));
}
module.exports = castPath;
}
});
// node_modules/lodash/_toKey.js
var require_toKey = __commonJS({
"node_modules/lodash/_toKey.js"(exports, module) {
var isSymbol = require_isSymbol();
var INFINITY = 1 / 0;
function toKey(value) {
if (typeof value == "string" || isSymbol(value)) {
return value;
}
var result = value + "";
return result == "0" && 1 / value == -INFINITY ? "-0" : result;
}
module.exports = toKey;
}
});
// node_modules/lodash/_baseGet.js
var require_baseGet = __commonJS({
"node_modules/lodash/_baseGet.js"(exports, module) {
var castPath = require_castPath();
var toKey = require_toKey();
function baseGet(object, path) {
path = castPath(path, object);
var index = 0, length = path.length;
while (object != null && index < length) {
object = object[toKey(path[index++])];
}
return index && index == length ? object : void 0;
}
module.exports = baseGet;
}
});
// node_modules/lodash/get.js
var require_get = __commonJS({
"node_modules/lodash/get.js"(exports, module) {
var baseGet = require_baseGet();
function get(object, path, defaultValue) {
var result = object == null ? void 0 : baseGet(object, path);
return result === void 0 ? defaultValue : result;
}
module.exports = get;
}
});
// node_modules/lodash/_baseHasIn.js
var require_baseHasIn = __commonJS({
"node_modules/lodash/_baseHasIn.js"(exports, module) {
function baseHasIn(object, key) {
return object != null && key in Object(object);
}
module.exports = baseHasIn;
}
});
// node_modules/lodash/_hasPath.js
var require_hasPath = __commonJS({
"node_modules/lodash/_hasPath.js"(exports, module) {
var castPath = require_castPath();
var isArguments = require_isArguments();
var isArray = require_isArray();
var isIndex = require_isIndex();
var isLength = require_isLength();
var toKey = require_toKey();
function hasPath(object, path, hasFunc) {
path = castPath(path, object);
var index = -1, length = path.length, result = false;
while (++index < length) {
var key = toKey(path[index]);
if (!(result = object != null && hasFunc(object, key))) {
break;
}
object = object[key];
}
if (result || ++index != length) {
return result;
}
length = object == null ? 0 : object.length;
return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
}
module.exports = hasPath;
}
});
// node_modules/lodash/hasIn.js
var require_hasIn = __commonJS({
"node_modules/lodash/hasIn.js"(exports, module) {
var baseHasIn = require_baseHasIn();
var hasPath = require_hasPath();
function hasIn(object, path) {
return object != null && hasPath(object, path, baseHasIn);
}
module.exports = hasIn;
}
});
// node_modules/lodash/_baseMatchesProperty.js
var require_baseMatchesProperty = __commonJS({
"node_modules/lodash/_baseMatchesProperty.js"(exports, module) {
var baseIsEqual = require_baseIsEqual();
var get = require_get();
var hasIn = require_hasIn();
var isKey = require_isKey();
var isStrictComparable = require_isStrictComparable();
var matchesStrictComparable = require_matchesStrictComparable();
var toKey = require_toKey();
var COMPARE_PARTIAL_FLAG = 1;
var COMPARE_UNORDERED_FLAG = 2;
function baseMatchesProperty(path, srcValue) {
if (isKey(path) && isStrictComparable(srcValue)) {
return matchesStrictComparable(toKey(path), srcValue);
}
return function(object) {
var objValue = get(object, path);
return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
};
}
module.exports = baseMatchesProperty;
}
});
// node_modules/lodash/_baseProperty.js
var require_baseProperty = __commonJS({
"node_modules/lodash/_baseProperty.js"(exports, module) {
function baseProperty(key) {
return function(object) {
return object == null ? void 0 : object[key];
};
}
module.exports = baseProperty;
}
});
// node_modules/lodash/_basePropertyDeep.js
var require_basePropertyDeep = __commonJS({
"node_modules/lodash/_basePropertyDeep.js"(exports, module) {
var baseGet = require_baseGet();
function basePropertyDeep(path) {
return function(object) {
return baseGet(object, path);
};
}
module.exports = basePropertyDeep;
}
});
// node_modules/lodash/property.js
var require_property = __commonJS({
"node_modules/lodash/property.js"(exports, module) {
var baseProperty = require_baseProperty();
var basePropertyDeep = require_basePropertyDeep();
var isKey = require_isKey();
var toKey = require_toKey();
function property(path) {
return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
}
module.exports = property;
}
});
// node_modules/lodash/_baseIteratee.js
var require_baseIteratee = __commonJS({
"node_modules/lodash/_baseIteratee.js"(exports, module) {
var baseMatches = require_baseMatches();
var baseMatchesProperty = require_baseMatchesProperty();
var identity = require_identity();
var isArray = require_isArray();
var property = require_property();
function baseIteratee(value) {
if (typeof value == "function") {
return value;
}
if (value == null) {
return identity;
}
if (typeof value == "object") {
return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
}
return property(value);
}
module.exports = baseIteratee;
}
});
// node_modules/lodash/filter.js
var require_filter = __commonJS({
"node_modules/lodash/filter.js"(exports, module) {
var arrayFilter = require_arrayFilter();
var baseFilter = require_baseFilter();
var baseIteratee = require_baseIteratee();
var isArray = require_isArray();
function filter(collection, predicate) {
var func = isArray(collection) ? arrayFilter : baseFilter;
return func(collection, baseIteratee(predicate, 3));
}
module.exports = filter;
}
});
// node_modules/lodash/_baseHas.js
var require_baseHas = __commonJS({
"node_modules/lodash/_baseHas.js"(exports, module) {
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function baseHas(object, key) {
return object != null && hasOwnProperty.call(object, key);
}
module.exports = baseHas;
}
});
// node_modules/lodash/has.js
var require_has = __commonJS({
"node_modules/lodash/has.js"(exports, module) {
var baseHas = require_baseHas();
var hasPath = require_hasPath();
function has(object, path) {
return object != null && hasPath(object, path, baseHas);
}
module.exports = has;
}
});
// node_modules/lodash/isEmpty.js
var require_isEmpty = __commonJS({
"node_modules/lodash/isEmpty.js"(exports, module) {
var baseKeys = require_baseKeys();
var getTag = require_getTag();
var isArguments = require_isArguments();
var isArray = require_isArray();
var isArrayLike = require_isArrayLike();
var isBuffer = require_isBuffer();
var isPrototype = require_isPrototype();
var isTypedArray = require_isTypedArray();
var mapTag = "[object Map]";
var setTag = "[object Set]";
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function isEmpty(value) {
if (value == null) {
return true;
}
if (isArrayLike(value) && (isArray(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) {
return !value.length;
}
var tag = getTag(value);
if (tag == mapTag || tag == setTag) {
return !value.size;
}
if (isPrototype(value)) {
return !baseKeys(value).length;
}
for (var key in value) {
if (hasOwnProperty.call(value, key)) {
return false;
}
}
return true;
}
module.exports = isEmpty;
}
});
// node_modules/lodash/isUndefined.js
var require_isUndefined = __commonJS({
"node_modules/lodash/isUndefined.js"(exports, module) {
function isUndefined(value) {
return value === void 0;
}
module.exports = isUndefined;
}
});
// node_modules/lodash/_baseMap.js
var require_baseMap = __commonJS({
"node_modules/lodash/_baseMap.js"(exports, module) {
var baseEach = require_baseEach();
var isArrayLike = require_isArrayLike();
function baseMap(collection, iteratee) {
var index = -1, result = isArrayLike(collection) ? Array(collection.length) : [];
baseEach(collection, function(value, key, collection2) {
result[++index] = iteratee(value, key, collection2);
});
return result;
}
module.exports = baseMap;
}
});
// node_modules/lodash/map.js
var require_map = __commonJS({
"node_modules/lodash/map.js"(exports, module) {
var arrayMap = require_arrayMap();
var baseIteratee = require_baseIteratee();
var baseMap = require_baseMap();
var isArray = require_isArray();
function map(collection, iteratee) {
var func = isArray(collection) ? arrayMap : baseMap;
return func(collection, baseIteratee(iteratee, 3));
}
module.exports = map;
}
});
// node_modules/lodash/_arrayReduce.js
var require_arrayReduce = __commonJS({
"node_modules/lodash/_arrayReduce.js"(exports, module) {
function arrayReduce(array, iteratee, accumulator, initAccum) {
var index = -1, length = array == null ? 0 : array.length;
if (initAccum && length) {
accumulator = array[++index];
}
while (++index < length) {
accumulator = iteratee(accumulator, array[index], index, array);
}
return accumulator;
}
module.exports = arrayReduce;
}
});
// node_modules/lodash/_baseReduce.js
var require_baseReduce = __commonJS({
"node_modules/lodash/_baseReduce.js"(exports, module) {
function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
eachFunc(collection, function(value, index, collection2) {
accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2);
});
return accumulator;
}
module.exports = baseReduce;
}
});
// node_modules/lodash/reduce.js
var require_reduce = __commonJS({
"node_modules/lodash/reduce.js"(exports, module) {
var arrayReduce = require_arrayReduce();
var baseEach = require_baseEach();
var baseIteratee = require_baseIteratee();
var baseReduce = require_baseReduce();
var isArray = require_isArray();
function reduce(collection, iteratee, accumulator) {
var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);
}
module.exports = reduce;
}
});
// node_modules/lodash/isString.js
var require_isString = __commonJS({
"node_modules/lodash/isString.js"(exports, module) {
var baseGetTag = require_baseGetTag();
var isArray = require_isArray();
var isObjectLike = require_isObjectLike();
var stringTag = "[object String]";
function isString(value) {
return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
}
module.exports = isString;
}
});
// node_modules/lodash/_asciiSize.js
var require_asciiSize = __commonJS({
"node_modules/lodash/_asciiSize.js"(exports, module) {
var baseProperty = require_baseProperty();
var asciiSize = baseProperty("length");
module.exports = asciiSize;
}
});
// node_modules/lodash/_hasUnicode.js
var require_hasUnicode = __commonJS({
"node_modules/lodash/_hasUnicode.js"(exports, module) {
var rsAstralRange = "\\ud800-\\udfff";
var rsComboMarksRange = "\\u0300-\\u036f";
var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
var rsComboSymbolsRange = "\\u20d0-\\u20ff";
var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
var rsVarRange = "\\ufe0e\\ufe0f";
var rsZWJ = "\\u200d";
var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
function hasUnicode(string) {
return reHasUnicode.test(string);
}
module.exports = hasUnicode;
}
});
// node_modules/lodash/_unicodeSize.js
var require_unicodeSize = __commonJS({
"node_modules/lodash/_unicodeSize.js"(exports, module) {
var rsAstralRange = "\\ud800-\\udfff";
var rsComboMarksRange = "\\u0300-\\u036f";
var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
var rsComboSymbolsRange = "\\u20d0-\\u20ff";
var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
var rsVarRange = "\\ufe0e\\ufe0f";
var rsAstral = "[" + rsAstralRange + "]";
var rsCombo = "[" + rsComboRange + "]";
var rsFitz = "\\ud83c[\\udffb-\\udfff]";
var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
var rsNonAstral = "[^" + rsAstralRange + "]";
var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
var rsZWJ = "\\u200d";
var reOptMod = rsModifier + "?";
var rsOptVar = "[" + rsVarRange + "]?";
var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
var rsSeq = rsOptVar + reOptMod + rsOptJoin;
var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
function unicodeSize(string) {
var result = reUnicode.lastIndex = 0;
while (reUnicode.test(string)) {
++result;
}
return result;
}
module.exports = unicodeSize;
}
});
// node_modules/lodash/_stringSize.js
var require_stringSize = __commonJS({
"node_modules/lodash/_stringSize.js"(exports, module) {
var asciiSize = require_asciiSize();
var hasUnicode = require_hasUnicode();
var unicodeSize = require_unicodeSize();
function stringSize(string) {
return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
}
module.exports = stringSize;
}
});
// node_modules/lodash/size.js
var require_size = __commonJS({
"node_modules/lodash/size.js"(exports, module) {
var baseKeys = require_baseKeys();
var getTag = require_getTag();
var isArrayLike = require_isArrayLike();
var isString = require_isString();
var stringSize = require_stringSize();
var mapTag = "[object Map]";
var setTag = "[object Set]";
function size(collection) {
if (collection == null) {
return 0;
}
if (isArrayLike(collection)) {
return isString(collection) ? stringSize(collection) : collection.length;
}
var tag = getTag(collection);
if (tag == mapTag || tag == setTag) {
return collection.size;
}
return baseKeys(collection).length;
}
module.exports = size;
}
});
// node_modules/lodash/transform.js
var require_transform = __commonJS({
"node_modules/lodash/transform.js"(exports, module) {
var arrayEach = require_arrayEach();
var baseCreate = require_baseCreate();
var baseForOwn = require_baseForOwn();
var baseIteratee = require_baseIteratee();
var getPrototype = require_getPrototype();
var isArray = require_isArray();
var isBuffer = require_isBuffer();
var isFunction = require_isFunction();
var isObject = require_isObject();
var isTypedArray = require_isTypedArray();
function transform(object, iteratee, accumulator) {
var isArr = isArray(object), isArrLike = isArr || isBuffer(object) || isTypedArray(object);
iteratee = baseIteratee(iteratee, 4);
if (accumulator == null) {
var Ctor = object && object.constructor;
if (isArrLike) {
accumulator = isArr ? new Ctor() : [];
} else if (isObject(object)) {
accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
} else {
accumulator = {};
}
}
(isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object2) {
return iteratee(accumulator, value, index, object2);
});
return accumulator;
}
module.exports = transform;
}
});
// node_modules/lodash/_isFlattenable.js
var require_isFlattenable = __commonJS({
"node_modules/lodash/_isFlattenable.js"(exports, module) {
var Symbol = require_Symbol();
var isArguments = require_isArguments();
var isArray = require_isArray();
var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : void 0;
function isFlattenable(value) {
return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
}
module.exports = isFlattenable;
}
});
// node_modules/lodash/_baseFlatten.js
var require_baseFlatten = __commonJS({
"node_modules/lodash/_baseFlatten.js"(exports, module) {
var arrayPush = require_arrayPush();
var isFlattenable = require_isFlattenable();
function baseFlatten(array, depth, predicate, isStrict, result) {
var index = -1, length = array.length;
predicate || (predicate = isFlattenable);
result || (result = []);
while (++index < length) {
var value = array[index];
if (depth > 0 && predicate(value)) {
if (depth > 1) {
baseFlatten(value, depth - 1, predicate, isStrict, result);
} else {
arrayPush(result, value);
}
} else if (!isStrict) {
result[result.length] = value;
}
}
return result;
}
module.exports = baseFlatten;
}
});
// node_modules/lodash/_apply.js
var require_apply = __commonJS({
"node_modules/lodash/_apply.js"(exports, module) {
function apply(func, thisArg, args) {
switch (args.length) {
case 0:
return func.call(thisArg);
case 1:
return func.call(thisArg, args[0]);
case 2:
return func.call(thisArg, args[0], args[1]);
case 3:
return func.call(thisArg, args[0], args[1], args[2]);
}
return func.apply(thisArg, args);
}
module.exports = apply;
}
});
// node_modules/lodash/_overRest.js
var require_overRest = __commonJS({
"node_modules/lodash/_overRest.js"(exports, module) {
var apply = require_apply();
var nativeMax = Math.max;
function overRest(func, start, transform) {
start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
return function() {
var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
while (++index < length) {
array[index] = args[start + index];
}
index = -1;
var otherArgs = Array(start + 1);
while (++index < start) {
otherArgs[index] = args[index];
}
otherArgs[start] = transform(array);
return apply(func, this, otherArgs);
};
}
module.exports = overRest;
}
});
// node_modules/lodash/_baseSetToString.js
var require_baseSetToString = __commonJS({
"node_modules/lodash/_baseSetToString.js"(exports, module) {
var constant = require_constant();
var defineProperty = require_defineProperty();
var identity = require_identity();
var baseSetToString = !defineProperty ? identity : function(func, string) {
return defineProperty(func, "toString", {
"configurable": true,
"enumerable": false,
"value": constant(string),
"writable": true
});
};
module.exports = baseSetToString;
}
});
// node_modules/lodash/_shortOut.js
var require_shortOut = __commonJS({
"node_modules/lodash/_shortOut.js"(exports, module) {
var HOT_COUNT = 800;
var HOT_SPAN = 16;
var nativeNow = Date.now;
function shortOut(func) {
var count = 0, lastCalled = 0;
return function() {
var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
lastCalled = stamp;
if (remaining > 0) {
if (++count >= HOT_COUNT) {
return arguments[0];
}
} else {
count = 0;
}
return func.apply(void 0, arguments);
};
}
module.exports = shortOut;
}
});
// node_modules/lodash/_setToString.js
var require_setToString = __commonJS({
"node_modules/lodash/_setToString.js"(exports, module) {
var baseSetToString = require_baseSetToString();
var shortOut = require_shortOut();
var setToString = shortOut(baseSetToString);
module.exports = setToString;
}
});
// node_modules/lodash/_baseRest.js
var require_baseRest = __commonJS({
"node_modules/lodash/_baseRest.js"(exports, module) {
var identity = require_identity();
var overRest = require_overRest();
var setToString = require_setToString();
function baseRest(func, start) {
return setToString(overRest(func, start, identity), func + "");
}
module.exports = baseRest;
}
});
// node_modules/lodash/_baseFindIndex.js
var require_baseFindIndex = __commonJS({
"node_modules/lodash/_baseFindIndex.js"(exports, module) {
function baseFindIndex(array, predicate, fromIndex, fromRight) {
var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
while (fromRight ? index-- : ++index < length) {
if (predicate(array[index], index, array)) {
return index;
}
}
return -1;
}
module.exports = baseFindIndex;
}
});
// node_modules/lodash/_baseIsNaN.js
var require_baseIsNaN = __commonJS({
"node_modules/lodash/_baseIsNaN.js"(exports, module) {
function baseIsNaN(value) {
return value !== value;
}
module.exports = baseIsNaN;
}
});
// node_modules/lodash/_strictIndexOf.js
var require_strictIndexOf = __commonJS({
"node_modules/lodash/_strictIndexOf.js"(exports, module) {
function strictIndexOf(array, value, fromIndex) {
var index = fromIndex - 1, length = array.length;
while (++index < length) {
if (array[index] === value) {
return index;
}
}
return -1;
}
module.exports = strictIndexOf;
}
});
// node_modules/lodash/_baseIndexOf.js
var require_baseIndexOf = __commonJS({
"node_modules/lodash/_baseIndexOf.js"(exports, module) {
var baseFindIndex = require_baseFindIndex();
var baseIsNaN = require_baseIsNaN();
var strictIndexOf = require_strictIndexOf();
function baseIndexOf(array, value, fromIndex) {
return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
}
module.exports = baseIndexOf;
}
});
// node_modules/lodash/_arrayIncludes.js
var require_arrayIncludes = __commonJS({
"node_modules/lodash/_arrayIncludes.js"(exports, module) {
var baseIndexOf = require_baseIndexOf();
function arrayIncludes(array, value) {
var length = array == null ? 0 : array.length;
return !!length && baseIndexOf(array, value, 0) > -1;
}
module.exports = arrayIncludes;
}
});
// node_modules/lodash/_arrayIncludesWith.js
var require_arrayIncludesWith = __commonJS({
"node_modules/lodash/_arrayIncludesWith.js"(exports, module) {
function arrayIncludesWith(array, value, comparator) {
var index = -1, length = array == null ? 0 : array.length;
while (++index < length) {
if (comparator(value, array[index])) {
return true;
}
}
return false;
}
module.exports = arrayIncludesWith;
}
});
// node_modules/lodash/noop.js
var require_noop = __commonJS({
"node_modules/lodash/noop.js"(exports, module) {
function noop() {
}
module.exports = noop;
}
});
// node_modules/lodash/_createSet.js
var require_createSet = __commonJS({
"node_modules/lodash/_createSet.js"(exports, module) {
var Set = require_Set();
var noop = require_noop();
var setToArray = require_setToArray();
var INFINITY = 1 / 0;
var createSet = !(Set && 1 / setToArray(new Set([, -0]))[1] == INFINITY) ? noop : function(values) {
return new Set(values);
};
module.exports = createSet;
}
});
// node_modules/lodash/_baseUniq.js
var require_baseUniq = __commonJS({
"node_modules/lodash/_baseUniq.js"(exports, module) {
var SetCache = require_SetCache();
var arrayIncludes = require_arrayIncludes();
var arrayIncludesWith = require_arrayIncludesWith();
var cacheHas = require_cacheHas();
var createSet = require_createSet();
var setToArray = require_setToArray();
var LARGE_ARRAY_SIZE = 200;
function baseUniq(array, iteratee, comparator) {
var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
if (comparator) {
isCommon = false;
includes = arrayIncludesWith;
} else if (length >= LARGE_ARRAY_SIZE) {
var set = iteratee ? null : createSet(array);
if (set) {
return setToArray(set);
}
isCommon = false;
includes = cacheHas;
seen = new SetCache();
} else {
seen = iteratee ? [] : result;
}
outer:
while (++index < length) {
var value = array[index], computed = iteratee ? iteratee(value) : value;
value = comparator || value !== 0 ? value : 0;
if (isCommon && computed === computed) {
var seenIndex = seen.length;
while (seenIndex--) {
if (seen[seenIndex] === computed) {
continue outer;
}
}
if (iteratee) {
seen.push(computed);
}
result.push(value);
} else if (!includes(seen, computed, comparator)) {
if (seen !== result) {
seen.push(computed);
}
result.push(value);
}
}
return result;
}
module.exports = baseUniq;
}
});
// node_modules/lodash/isArrayLikeObject.js
var require_isArrayLikeObject = __commonJS({
"node_modules/lodash/isArrayLikeObject.js"(exports, module) {
var isArrayLike = require_isArrayLike();
var isObjectLike = require_isObjectLike();
function isArrayLikeObject(value) {
return isObjectLike(value) && isArrayLike(value);
}
module.exports = isArrayLikeObject;
}
});
// node_modules/lodash/union.js
var require_union = __commonJS({
"node_modules/lodash/union.js"(exports, module) {
var baseFlatten = require_baseFlatten();
var baseRest = require_baseRest();
var baseUniq = require_baseUniq();
var isArrayLikeObject = require_isArrayLikeObject();
var union = baseRest(function(arrays) {
return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
});
module.exports = union;
}
});
// node_modules/lodash/_baseValues.js
var require_baseValues = __commonJS({
"node_modules/lodash/_baseValues.js"(exports, module) {
var arrayMap = require_arrayMap();
function baseValues(object, props) {
return arrayMap(props, function(key) {
return object[key];
});
}
module.exports = baseValues;
}
});
// node_modules/lodash/values.js
var require_values = __commonJS({
"node_modules/lodash/values.js"(exports, module) {
var baseValues = require_baseValues();
var keys = require_keys();
function values(object) {
return object == null ? [] : baseValues(object, keys(object));
}
module.exports = values;
}
});
// node_modules/graphlib/lib/lodash.js
var require_lodash = __commonJS({
"node_modules/graphlib/lib/lodash.js"(exports, module) {
var lodash;
if (typeof __require === "function") {
try {
lodash = {
clone: require_clone(),
constant: require_constant(),
each: require_each(),
filter: require_filter(),
has: require_has(),
isArray: require_isArray(),
isEmpty: require_isEmpty(),
isFunction: require_isFunction(),
isUndefined: require_isUndefined(),
keys: require_keys(),
map: require_map(),
reduce: require_reduce(),
size: require_size(),
transform: require_transform(),
union: require_union(),
values: require_values()
};
} catch (e) {
}
}
if (!lodash) {
lodash = window._;
}
module.exports = lodash;
}
});
// node_modules/graphlib/lib/graph.js
var require_graph = __commonJS({
"node_modules/graphlib/lib/graph.js"(exports, module) {
"use strict";
var _ = require_lodash();
module.exports = Graph;
var DEFAULT_EDGE_NAME = "\0";
var GRAPH_NODE = "\0";
var EDGE_KEY_DELIM = "";
function Graph(opts) {
this._isDirected = _.has(opts, "directed") ? opts.directed : true;
this._isMultigraph = _.has(opts, "multigraph") ? opts.multigraph : false;
this._isCompound = _.has(opts, "compound") ? opts.compound : false;
this._label = void 0;
this._defaultNodeLabelFn = _.constant(void 0);
this._defaultEdgeLabelFn = _.constant(void 0);
this._nodes = {};
if (this._isCompound) {
this._parent = {};
this._children = {};
this._children[GRAPH_NODE] = {};
}
this._in = {};
this._preds = {};
this._out = {};
this._sucs = {};
this._edgeObjs = {};
this._edgeLabels = {};
}
Graph.prototype._nodeCount = 0;
Graph.prototype._edgeCount = 0;
Graph.prototype.isDirected = function() {
return this._isDirected;
};
Graph.prototype.isMultigraph = function() {
return this._isMultigraph;
};
Graph.prototype.isCompound = function() {
return this._isCompound;
};
Graph.prototype.setGraph = function(label) {
this._label = label;
return this;
};
Graph.prototype.graph = function() {
return this._label;
};
Graph.prototype.setDefaultNodeLabel = function(newDefault) {
if (!_.isFunction(newDefault)) {
newDefault = _.constant(newDefault);
}
this._defaultNodeLabelFn = newDefault;
return this;
};
Graph.prototype.nodeCount = function() {
return this._nodeCount;
};
Graph.prototype.nodes = function() {
return _.keys(this._nodes);
};
Graph.prototype.sources = function() {
var self2 = this;
return _.filter(this.nodes(), function(v) {
return _.isEmpty(self2._in[v]);
});
};
Graph.prototype.sinks = function() {
var self2 = this;
return _.filter(this.nodes(), function(v) {
return _.isEmpty(self2._out[v]);
});
};
Graph.prototype.setNodes = function(vs, value) {
var args = arguments;
var self2 = this;
_.each(vs, function(v) {
if (args.length > 1) {
self2.setNode(v, value);
} else {
self2.setNode(v);
}
});
return this;
};
Graph.prototype.setNode = function(v, value) {
if (_.has(this._nodes, v)) {
if (arguments.length > 1) {
this._nodes[v] = value;
}
return this;
}
this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);
if (this._isCompound) {
this._parent[v] = GRAPH_NODE;
this._children[v] = {};
this._children[GRAPH_NODE][v] = true;
}
this._in[v] = {};
this._preds[v] = {};
this._out[v] = {};
this._sucs[v] = {};
++this._nodeCount;
return this;
};
Graph.prototype.node = function(v) {
return this._nodes[v];
};
Graph.prototype.hasNode = function(v) {
return _.has(this._nodes, v);
};
Graph.prototype.removeNode = function(v) {
var self2 = this;
if (_.has(this._nodes, v)) {
var removeEdge = function(e) {
self2.removeEdge(self2._edgeObjs[e]);
};
delete this._nodes[v];
if (this._isCompound) {
this._removeFromParentsChildList(v);
delete this._parent[v];
_.each(this.children(v), function(child) {
self2.setParent(child);
});
delete this._children[v];
}
_.each(_.keys(this._in[v]), removeEdge);
delete this._in[v];
delete this._preds[v];
_.each(_.keys(this._out[v]), removeEdge);
delete this._out[v];
delete this._sucs[v];
--this._nodeCount;
}
return this;
};
Graph.prototype.setParent = function(v, parent) {
if (!this._isCompound) {
throw new Error("Cannot set parent in a non-compound graph");
}
if (_.isUndefined(parent)) {
parent = GRAPH_NODE;
} else {
parent += "";
for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) {
if (ancestor === v) {
throw new Error("Setting " + parent + " as parent of " + v + " would create a cycle");
}
}
this.setNode(parent);
}
this.setNode(v);
this._removeFromParentsChildList(v);
this._parent[v] = parent;
this._children[parent][v] = true;
return this;
};
Graph.prototype._removeFromParentsChildList = function(v) {
delete this._children[this._parent[v]][v];
};
Graph.prototype.parent = function(v) {
if (this._isCompound) {
var parent = this._parent[v];
if (parent !== GRAPH_NODE) {
return parent;
}
}
};
Graph.prototype.children = function(v) {
if (_.isUndefined(v)) {
v = GRAPH_NODE;
}
if (this._isCompound) {
var children = this._children[v];
if (children) {
return _.keys(children);
}
} else if (v === GRAPH_NODE) {
return this.nodes();
} else if (this.hasNode(v)) {
return [];
}
};
Graph.prototype.predecessors = function(v) {
var predsV = this._preds[v];
if (predsV) {
return _.keys(predsV);
}
};
Graph.prototype.successors = function(v) {
var sucsV = this._sucs[v];
if (sucsV) {
return _.keys(sucsV);
}
};
Graph.prototype.neighbors = function(v) {
var preds = this.predecessors(v);
if (preds) {
return _.union(preds, this.successors(v));
}
};
Graph.prototype.isLeaf = function(v) {
var neighbors;
if (this.isDirected()) {
neighbors = this.successors(v);
} else {
neighbors = this.neighbors(v);
}
return neighbors.length === 0;
};
Graph.prototype.filterNodes = function(filter) {
var copy = new this.constructor({
directed: this._isDirected,
multigraph: this._isMultigraph,
compound: this._isCompound
});
copy.setGraph(this.graph());
var self2 = this;
_.each(this._nodes, function(value, v) {
if (filter(v)) {
copy.setNode(v, value);
}
});
_.each(this._edgeObjs, function(e) {
if (copy.hasNode(e.v) && copy.hasNode(e.w)) {
copy.setEdge(e, self2.edge(e));
}
});
var parents = {};
function findParent(v) {
var parent = self2.parent(v);
if (parent === void 0 || copy.hasNode(parent)) {
parents[v] = parent;
return parent;
} else if (parent in parents) {
return parents[parent];
} else {
return findParent(parent);
}
}
if (this._isCompound) {
_.each(copy.nodes(), function(v) {
copy.setParent(v, findParent(v));
});
}
return copy;
};
Graph.prototype.setDefaultEdgeLabel = function(newDefault) {
if (!_.isFunction(newDefault)) {
newDefault = _.constant(newDefault);
}
this._defaultEdgeLabelFn = newDefault;
return this;
};
Graph.prototype.edgeCount = function() {
return this._edgeCount;
};
Graph.prototype.edges = function() {
return _.values(this._edgeObjs);
};
Graph.prototype.setPath = function(vs, value) {
var self2 = this;
var args = arguments;
_.reduce(vs, function(v, w) {
if (args.length > 1) {
self2.setEdge(v, w, value);
} else {
self2.setEdge(v, w);
}
return w;
});
return this;
};
Graph.prototype.setEdge = function() {
var v, w, name, value;
var valueSpecified = false;
var arg0 = arguments[0];
if (typeof arg0 === "object" && arg0 !== null && "v" in arg0) {
v = arg0.v;
w = arg0.w;
name = arg0.name;
if (arguments.length === 2) {
value = arguments[1];
valueSpecified = true;
}
} else {
v = arg0;
w = arguments[1];
name = arguments[3];
if (arguments.length > 2) {
value = arguments[2];
valueSpecified = true;
}
}
v = "" + v;
w = "" + w;
if (!_.isUndefined(name)) {
name = "" + name;
}
var e = edgeArgsToId(this._isDirected, v, w, name);
if (_.has(this._edgeLabels, e)) {
if (valueSpecified) {
this._edgeLabels[e] = value;
}
return this;
}
if (!_.isUndefined(name) && !this._isMultigraph) {
throw new Error("Cannot set a named edge when isMultigraph = false");
}
this.setNode(v);
this.setNode(w);
this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);
var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);
v = edgeObj.v;
w = edgeObj.w;
Object.freeze(edgeObj);
this._edgeObjs[e] = edgeObj;
incrementOrInitEntry(this._preds[w], v);
incrementOrInitEntry(this._sucs[v], w);
this._in[w][e] = edgeObj;
this._out[v][e] = edgeObj;
this._edgeCount++;
return this;
};
Graph.prototype.edge = function(v, w, name) {
var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
return this._edgeLabels[e];
};
Graph.prototype.hasEdge = function(v, w, name) {
var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
return _.has(this._edgeLabels, e);
};
Graph.prototype.removeEdge = function(v, w, name) {
var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);
var edge = this._edgeObjs[e];
if (edge) {
v = edge.v;
w = edge.w;
delete this._edgeLabels[e];
delete this._edgeObjs[e];
decrementOrRemoveEntry(this._preds[w], v);
decrementOrRemoveEntry(this._sucs[v], w);
delete this._in[w][e];
delete this._out[v][e];
this._edgeCount--;
}
return this;
};
Graph.prototype.inEdges = function(v, u) {
var inV = this._in[v];
if (inV) {
var edges = _.values(inV);
if (!u) {
return edges;
}
return _.filter(edges, function(edge) {
return edge.v === u;
});
}
};
Graph.prototype.outEdges = function(v, w) {
var outV = this._out[v];
if (outV) {
var edges = _.values(outV);
if (!w) {
return edges;
}
return _.filter(edges, function(edge) {
return edge.w === w;
});
}
};
Graph.prototype.nodeEdges = function(v, w) {
var inEdges = this.inEdges(v, w);
if (inEdges) {
return inEdges.concat(this.outEdges(v, w));
}
};
function incrementOrInitEntry(map, k) {
if (map[k]) {
map[k]++;
} else {
map[k] = 1;
}
}
function decrementOrRemoveEntry(map, k) {
if (!--map[k]) {
delete map[k];
}
}
function edgeArgsToId(isDirected, v_, w_, name) {
var v = "" + v_;
var w = "" + w_;
if (!isDirected && v > w) {
var tmp = v;
v = w;
w = tmp;
}
return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name);
}
function edgeArgsToObj(isDirected, v_, w_, name) {
var v = "" + v_;
var w = "" + w_;
if (!isDirected && v > w) {
var tmp = v;
v = w;
w = tmp;
}
var edgeObj = { v, w };
if (name) {
edgeObj.name = name;
}
return edgeObj;
}
function edgeObjToId(isDirected, edgeObj) {
return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);
}
}
});
// node_modules/graphlib/lib/version.js
var require_version = __commonJS({
"node_modules/graphlib/lib/version.js"(exports, module) {
module.exports = "2.1.8";
}
});
// node_modules/graphlib/lib/index.js
var require_lib = __commonJS({
"node_modules/graphlib/lib/index.js"(exports, module) {
module.exports = {
Graph: require_graph(),
version: require_version()
};
}
});
// node_modules/graphlib/lib/json.js
var require_json = __commonJS({
"node_modules/graphlib/lib/json.js"(exports, module) {
var _ = require_lodash();
var Graph = require_graph();
module.exports = {
write,
read
};
function write(g) {
var json = {
options: {
directed: g.isDirected(),
multigraph: g.isMultigraph(),
compound: g.isCompound()
},
nodes: writeNodes(g),
edges: writeEdges(g)
};
if (!_.isUndefined(g.graph())) {
json.value = _.clone(g.graph());
}
return json;
}
function writeNodes(g) {
return _.map(g.nodes(), function(v) {
var nodeValue = g.node(v);
var parent = g.parent(v);
var node = { v };
if (!_.isUndefined(nodeValue)) {
node.value = nodeValue;
}
if (!_.isUndefined(parent)) {
node.parent = parent;
}
return node;
});
}
function writeEdges(g) {
return _.map(g.edges(), function(e) {
var edgeValue = g.edge(e);
var edge = { v: e.v, w: e.w };
if (!_.isUndefined(e.name)) {
edge.name = e.name;
}
if (!_.isUndefined(edgeValue)) {
edge.value = edgeValue;
}
return edge;
});
}
function read(json) {
var g = new Graph(json.options).setGraph(json.value);
_.each(json.nodes, function(entry) {
g.setNode(entry.v, entry.value);
if (entry.parent) {
g.setParent(entry.v, entry.parent);
}
});
_.each(json.edges, function(entry) {
g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);
});
return g;
}
}
});
// node_modules/graphlib/lib/alg/components.js
var require_components = __commonJS({
"node_modules/graphlib/lib/alg/components.js"(exports, module) {
var _ = require_lodash();
module.exports = components;
function components(g) {
var visited = {};
var cmpts = [];
var cmpt;
function dfs(v) {
if (_.has(visited, v)) return;
visited[v] = true;
cmpt.push(v);
_.each(g.successors(v), dfs);
_.each(g.predecessors(v), dfs);
}
_.each(g.nodes(), function(v) {
cmpt = [];
dfs(v);
if (cmpt.length) {
cmpts.push(cmpt);
}
});
return cmpts;
}
}
});
// node_modules/graphlib/lib/data/priority-queue.js
var require_priority_queue = __commonJS({
"node_modules/graphlib/lib/data/priority-queue.js"(exports, module) {
var _ = require_lodash();
module.exports = PriorityQueue;
function PriorityQueue() {
this._arr = [];
this._keyIndices = {};
}
PriorityQueue.prototype.size = function() {
return this._arr.length;
};
PriorityQueue.prototype.keys = function() {
return this._arr.map(function(x) {
return x.key;
});
};
PriorityQueue.prototype.has = function(key) {
return _.has(this._keyIndices, key);
};
PriorityQueue.prototype.priority = function(key) {
var index = this._keyIndices[key];
if (index !== void 0) {
return this._arr[index].priority;
}
};
PriorityQueue.prototype.min = function() {
if (this.size() === 0) {
throw new Error("Queue underflow");
}
return this._arr[0].key;
};
PriorityQueue.prototype.add = function(key, priority) {
var keyIndices = this._keyIndices;
key = String(key);
if (!_.has(keyIndices, key)) {
var arr = this._arr;
var index = arr.length;
keyIndices[key] = index;
arr.push({ key, priority });
this._decrease(index);
return true;
}
return false;
};
PriorityQueue.prototype.removeMin = function() {
this._swap(0, this._arr.length - 1);
var min = this._arr.pop();
delete this._keyIndices[min.key];
this._heapify(0);
return min.key;
};
PriorityQueue.prototype.decrease = function(key, priority) {
var index = this._keyIndices[key];
if (priority > this._arr[index].priority) {
throw new Error("New priority is greater than current priority. Key: " + key + " Old: " + this._arr[index].priority + " New: " + priority);
}
this._arr[index].priority = priority;
this._decrease(index);
};
PriorityQueue.prototype._heapify = function(i) {
var arr = this._arr;
var l = 2 * i;
var r = l + 1;
var largest = i;
if (l < arr.length) {
largest = arr[l].priority < arr[largest].priority ? l : largest;
if (r < arr.length) {
largest = arr[r].priority < arr[largest].priority ? r : largest;
}
if (largest !== i) {
this._swap(i, largest);
this._heapify(largest);
}
}
};
PriorityQueue.prototype._decrease = function(index) {
var arr = this._arr;
var priority = arr[index].priority;
var parent;
while (index !== 0) {
parent = index >> 1;
if (arr[parent].priority < priority) {
break;
}
this._swap(index, parent);
index = parent;
}
};
PriorityQueue.prototype._swap = function(i, j) {
var arr = this._arr;
var keyIndices = this._keyIndices;
var origArrI = arr[i];
var origArrJ = arr[j];
arr[i] = origArrJ;
arr[j] = origArrI;
keyIndices[origArrJ.key] = i;
keyIndices[origArrI.key] = j;
};
}
});
// node_modules/graphlib/lib/alg/dijkstra.js
var require_dijkstra = __commonJS({
"node_modules/graphlib/lib/alg/dijkstra.js"(exports, module) {
var _ = require_lodash();
var PriorityQueue = require_priority_queue();
module.exports = dijkstra;
var DEFAULT_WEIGHT_FUNC = _.constant(1);
function dijkstra(g, source, weightFn, edgeFn) {
return runDijkstra(
g,
String(source),
weightFn || DEFAULT_WEIGHT_FUNC,
edgeFn || function(v) {
return g.outEdges(v);
}
);
}
function runDijkstra(g, source, weightFn, edgeFn) {
var results = {};
var pq = new PriorityQueue();
var v, vEntry;
var updateNeighbors = function(edge) {
var w = edge.v !== v ? edge.v : edge.w;
var wEntry = results[w];
var weight = weightFn(edge);
var distance = vEntry.distance + weight;
if (weight < 0) {
throw new Error("dijkstra does not allow negative edge weights. Bad edge: " + edge + " Weight: " + weight);
}
if (distance < wEntry.distance) {
wEntry.distance = distance;
wEntry.predecessor = v;
pq.decrease(w, distance);
}
};
g.nodes().forEach(function(v2) {
var distance = v2 === source ? 0 : Number.POSITIVE_INFINITY;
results[v2] = { distance };
pq.add(v2, distance);
});
while (pq.size() > 0) {
v = pq.removeMin();
vEntry = results[v];
if (vEntry.distance === Number.POSITIVE_INFINITY) {
break;
}
edgeFn(v).forEach(updateNeighbors);
}
return results;
}
}
});
// node_modules/graphlib/lib/alg/dijkstra-all.js
var require_dijkstra_all = __commonJS({
"node_modules/graphlib/lib/alg/dijkstra-all.js"(exports, module) {
var dijkstra = require_dijkstra();
var _ = require_lodash();
module.exports = dijkstraAll;
function dijkstraAll(g, weightFunc, edgeFunc) {
return _.transform(g.nodes(), function(acc, v) {
acc[v] = dijkstra(g, v, weightFunc, edgeFunc);
}, {});
}
}
});
// node_modules/graphlib/lib/alg/tarjan.js
var require_tarjan = __commonJS({
"node_modules/graphlib/lib/alg/tarjan.js"(exports, module) {
var _ = require_lodash();
module.exports = tarjan;
function tarjan(g) {
var index = 0;
var stack = [];
var visited = {};
var results = [];
function dfs(v) {
var entry = visited[v] = {
onStack: true,
lowlink: index,
index: index++
};
stack.push(v);
g.successors(v).forEach(function(w2) {
if (!_.has(visited, w2)) {
dfs(w2);
entry.lowlink = Math.min(entry.lowlink, visited[w2].lowlink);
} else if (visited[w2].onStack) {
entry.lowlink = Math.min(entry.lowlink, visited[w2].index);
}
});
if (entry.lowlink === entry.index) {
var cmpt = [];
var w;
do {
w = stack.pop();
visited[w].onStack = false;
cmpt.push(w);
} while (v !== w);
results.push(cmpt);
}
}
g.nodes().forEach(function(v) {
if (!_.has(visited, v)) {
dfs(v);
}
});
return results;
}
}
});
// node_modules/graphlib/lib/alg/find-cycles.js
var require_find_cycles = __commonJS({
"node_modules/graphlib/lib/alg/find-cycles.js"(exports, module) {
var _ = require_lodash();
var tarjan = require_tarjan();
module.exports = findCycles;
function findCycles(g) {
return _.filter(tarjan(g), function(cmpt) {
return cmpt.length > 1 || cmpt.length === 1 && g.hasEdge(cmpt[0], cmpt[0]);
});
}
}
});
// node_modules/graphlib/lib/alg/floyd-warshall.js
var require_floyd_warshall = __commonJS({
"node_modules/graphlib/lib/alg/floyd-warshall.js"(exports, module) {
var _ = require_lodash();
module.exports = floydWarshall;
var DEFAULT_WEIGHT_FUNC = _.constant(1);
function floydWarshall(g, weightFn, edgeFn) {
return runFloydWarshall(
g,
weightFn || DEFAULT_WEIGHT_FUNC,
edgeFn || function(v) {
return g.outEdges(v);
}
);
}
function runFloydWarshall(g, weightFn, edgeFn) {
var results = {};
var nodes = g.nodes();
nodes.forEach(function(v) {
results[v] = {};
results[v][v] = { distance: 0 };
nodes.forEach(function(w) {
if (v !== w) {
results[v][w] = { distance: Number.POSITIVE_INFINITY };
}
});
edgeFn(v).forEach(function(edge) {
var w = edge.v === v ? edge.w : edge.v;
var d = weightFn(edge);
results[v][w] = { distance: d, predecessor: v };
});
});
nodes.forEach(function(k) {
var rowK = results[k];
nodes.forEach(function(i) {
var rowI = results[i];
nodes.forEach(function(j) {
var ik = rowI[k];
var kj = rowK[j];
var ij = rowI[j];
var altDistance = ik.distance + kj.distance;
if (altDistance < ij.distance) {
ij.distance = altDistance;
ij.predecessor = kj.predecessor;
}
});
});
});
return results;
}
}
});
// node_modules/graphlib/lib/alg/topsort.js
var require_topsort = __commonJS({
"node_modules/graphlib/lib/alg/topsort.js"(exports, module) {
var _ = require_lodash();
module.exports = topsort;
topsort.CycleException = CycleException;
function topsort(g) {
var visited = {};
var stack = {};
var results = [];
function visit(node) {
if (_.has(stack, node)) {
throw new CycleException();
}
if (!_.has(visited, node)) {
stack[node] = true;
visited[node] = true;
_.each(g.predecessors(node), visit);
delete stack[node];
results.push(node);
}
}
_.each(g.sinks(), visit);
if (_.size(visited) !== g.nodeCount()) {
throw new CycleException();
}
return results;
}
function CycleException() {
}
CycleException.prototype = new Error();
}
});
// node_modules/graphlib/lib/alg/is-acyclic.js
var require_is_acyclic = __commonJS({
"node_modules/graphlib/lib/alg/is-acyclic.js"(exports, module) {
var topsort = require_topsort();
module.exports = isAcyclic;
function isAcyclic(g) {
try {
topsort(g);
} catch (e) {
if (e instanceof topsort.CycleException) {
return false;
}
throw e;
}
return true;
}
}
});
// node_modules/graphlib/lib/alg/dfs.js
var require_dfs = __commonJS({
"node_modules/graphlib/lib/alg/dfs.js"(exports, module) {
var _ = require_lodash();
module.exports = dfs;
function dfs(g, vs, order) {
if (!_.isArray(vs)) {
vs = [vs];
}
var navigation = (g.isDirected() ? g.successors : g.neighbors).bind(g);
var acc = [];
var visited = {};
_.each(vs, function(v) {
if (!g.hasNode(v)) {
throw new Error("Graph does not have node: " + v);
}
doDfs(g, v, order === "post", visited, navigation, acc);
});
return acc;
}
function doDfs(g, v, postorder, visited, navigation, acc) {
if (!_.has(visited, v)) {
visited[v] = true;
if (!postorder) {
acc.push(v);
}
_.each(navigation(v), function(w) {
doDfs(g, w, postorder, visited, navigation, acc);
});
if (postorder) {
acc.push(v);
}
}
}
}
});
// node_modules/graphlib/lib/alg/postorder.js
var require_postorder = __commonJS({
"node_modules/graphlib/lib/alg/postorder.js"(exports, module) {
var dfs = require_dfs();
module.exports = postorder;
function postorder(g, vs) {
return dfs(g, vs, "post");
}
}
});
// node_modules/graphlib/lib/alg/preorder.js
var require_preorder = __commonJS({
"node_modules/graphlib/lib/alg/preorder.js"(exports, module) {
var dfs = require_dfs();
module.exports = preorder;
function preorder(g, vs) {
return dfs(g, vs, "pre");
}
}
});
// node_modules/graphlib/lib/alg/prim.js
var require_prim = __commonJS({
"node_modules/graphlib/lib/alg/prim.js"(exports, module) {
var _ = require_lodash();
var Graph = require_graph();
var PriorityQueue = require_priority_queue();
module.exports = prim;
function prim(g, weightFunc) {
var result = new Graph();
var parents = {};
var pq = new PriorityQueue();
var v;
function updateNeighbors(edge) {
var w = edge.v === v ? edge.w : edge.v;
var pri = pq.priority(w);
if (pri !== void 0) {
var edgeWeight = weightFunc(edge);
if (edgeWeight < pri) {
parents[w] = v;
pq.decrease(w, edgeWeight);
}
}
}
if (g.nodeCount() === 0) {
return result;
}
_.each(g.nodes(), function(v2) {
pq.add(v2, Number.POSITIVE_INFINITY);
result.setNode(v2);
});
pq.decrease(g.nodes()[0], 0);
var init = false;
while (pq.size() > 0) {
v = pq.removeMin();
if (_.has(parents, v)) {
result.setEdge(v, parents[v]);
} else if (init) {
throw new Error("Input graph is not connected: " + g);
} else {
init = true;
}
g.nodeEdges(v).forEach(updateNeighbors);
}
return result;
}
}
});
// node_modules/graphlib/lib/alg/index.js
var require_alg = __commonJS({
"node_modules/graphlib/lib/alg/index.js"(exports, module) {
module.exports = {
components: require_components(),
dijkstra: require_dijkstra(),
dijkstraAll: require_dijkstra_all(),
findCycles: require_find_cycles(),
floydWarshall: require_floyd_warshall(),
isAcyclic: require_is_acyclic(),
postorder: require_postorder(),
preorder: require_preorder(),
prim: require_prim(),
tarjan: require_tarjan(),
topsort: require_topsort()
};
}
});
// node_modules/graphlib/index.js
var require_graphlib = __commonJS({
"node_modules/graphlib/index.js"(exports, module) {
var lib = require_lib();
module.exports = {
Graph: lib.Graph,
json: require_json(),
alg: require_alg(),
version: lib.version
};
}
});
// node_modules/dagre/lib/graphlib.js
var require_graphlib2 = __commonJS({
"node_modules/dagre/lib/graphlib.js"(exports, module) {
var graphlib;
if (typeof __require === "function") {
try {
graphlib = require_graphlib();
} catch (e) {
}
}
if (!graphlib) {
graphlib = window.graphlib;
}
module.exports = graphlib;
}
});
// node_modules/lodash/cloneDeep.js
var require_cloneDeep = __commonJS({
"node_modules/lodash/cloneDeep.js"(exports, module) {
var baseClone = require_baseClone();
var CLONE_DEEP_FLAG = 1;
var CLONE_SYMBOLS_FLAG = 4;
function cloneDeep(value) {
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
module.exports = cloneDeep;
}
});
// node_modules/lodash/_isIterateeCall.js
var require_isIterateeCall = __commonJS({
"node_modules/lodash/_isIterateeCall.js"(exports, module) {
var eq = require_eq();
var isArrayLike = require_isArrayLike();
var isIndex = require_isIndex();
var isObject = require_isObject();
function isIterateeCall(value, index, object) {
if (!isObject(object)) {
return false;
}
var type = typeof index;
if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) {
return eq(object[index], value);
}
return false;
}
module.exports = isIterateeCall;
}
});
// node_modules/lodash/defaults.js
var require_defaults = __commonJS({
"node_modules/lodash/defaults.js"(exports, module) {
var baseRest = require_baseRest();
var eq = require_eq();
var isIterateeCall = require_isIterateeCall();
var keysIn = require_keysIn();
var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
var defaults = baseRest(function(object, sources) {
object = Object(object);
var index = -1;
var length = sources.length;
var guard = length > 2 ? sources[2] : void 0;
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
length = 1;
}
while (++index < length) {
var source = sources[index];
var props = keysIn(source);
var propsIndex = -1;
var propsLength = props.length;
while (++propsIndex < propsLength) {
var key = props[propsIndex];
var value = object[key];
if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
object[key] = source[key];
}
}
}
return object;
});
module.exports = defaults;
}
});
// node_modules/lodash/_createFind.js
var require_createFind = __commonJS({
"node_modules/lodash/_createFind.js"(exports, module) {
var baseIteratee = require_baseIteratee();
var isArrayLike = require_isArrayLike();
var keys = require_keys();
function createFind(findIndexFunc) {
return function(collection, predicate, fromIndex) {
var iterable = Object(collection);
if (!isArrayLike(collection)) {
var iteratee = baseIteratee(predicate, 3);
collection = keys(collection);
predicate = function(key) {
return iteratee(iterable[key], key, iterable);
};
}
var index = findIndexFunc(collection, predicate, fromIndex);
return index > -1 ? iterable[iteratee ? collection[index] : index] : void 0;
};
}
module.exports = createFind;
}
});
// node_modules/lodash/_trimmedEndIndex.js
var require_trimmedEndIndex = __commonJS({
"node_modules/lodash/_trimmedEndIndex.js"(exports, module) {
var reWhitespace = /\s/;
function trimmedEndIndex(string) {
var index = string.length;
while (index-- && reWhitespace.test(string.charAt(index))) {
}
return index;
}
module.exports = trimmedEndIndex;
}
});
// node_modules/lodash/_baseTrim.js
var require_baseTrim = __commonJS({
"node_modules/lodash/_baseTrim.js"(exports, module) {
var trimmedEndIndex = require_trimmedEndIndex();
var reTrimStart = /^\s+/;
function baseTrim(string) {
return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
}
module.exports = baseTrim;
}
});
// node_modules/lodash/toNumber.js
var require_toNumber = __commonJS({
"node_modules/lodash/toNumber.js"(exports, module) {
var baseTrim = require_baseTrim();
var isObject = require_isObject();
var isSymbol = require_isSymbol();
var NAN = 0 / 0;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var freeParseInt = parseInt;
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol(value)) {
return NAN;
}
if (isObject(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = baseTrim(value);
var isBinary = reIsBinary.test(value);
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
module.exports = toNumber;
}
});
// node_modules/lodash/toFinite.js
var require_toFinite = __commonJS({
"node_modules/lodash/toFinite.js"(exports, module) {
var toNumber = require_toNumber();
var INFINITY = 1 / 0;
var MAX_INTEGER = 17976931348623157e292;
function toFinite(value) {
if (!value) {
return value === 0 ? value : 0;
}
value = toNumber(value);
if (value === INFINITY || value === -INFINITY) {
var sign = value < 0 ? -1 : 1;
return sign * MAX_INTEGER;
}
return value === value ? value : 0;
}
module.exports = toFinite;
}
});
// node_modules/lodash/toInteger.js
var require_toInteger = __commonJS({
"node_modules/lodash/toInteger.js"(exports, module) {
var toFinite = require_toFinite();
function toInteger(value) {
var result = toFinite(value), remainder = result % 1;
return result === result ? remainder ? result - remainder : result : 0;
}
module.exports = toInteger;
}
});
// node_modules/lodash/findIndex.js
var require_findIndex = __commonJS({
"node_modules/lodash/findIndex.js"(exports, module) {
var baseFindIndex = require_baseFindIndex();
var baseIteratee = require_baseIteratee();
var toInteger = require_toInteger();
var nativeMax = Math.max;
function findIndex(array, predicate, fromIndex) {
var length = array == null ? 0 : array.length;
if (!length) {
return -1;
}
var index = fromIndex == null ? 0 : toInteger(fromIndex);
if (index < 0) {
index = nativeMax(length + index, 0);
}
return baseFindIndex(array, baseIteratee(predicate, 3), index);
}
module.exports = findIndex;
}
});
// node_modules/lodash/find.js
var require_find = __commonJS({
"node_modules/lodash/find.js"(exports, module) {
var createFind = require_createFind();
var findIndex = require_findIndex();
var find = createFind(findIndex);
module.exports = find;
}
});
// node_modules/lodash/flatten.js
var require_flatten = __commonJS({
"node_modules/lodash/flatten.js"(exports, module) {
var baseFlatten = require_baseFlatten();
function flatten(array) {
var length = array == null ? 0 : array.length;
return length ? baseFlatten(array, 1) : [];
}
module.exports = flatten;
}
});
// node_modules/lodash/forIn.js
var require_forIn = __commonJS({
"node_modules/lodash/forIn.js"(exports, module) {
var baseFor = require_baseFor();
var castFunction = require_castFunction();
var keysIn = require_keysIn();
function forIn(object, iteratee) {
return object == null ? object : baseFor(object, castFunction(iteratee), keysIn);
}
module.exports = forIn;
}
});
// node_modules/lodash/last.js
var require_last = __commonJS({
"node_modules/lodash/last.js"(exports, module) {
function last(array) {
var length = array == null ? 0 : array.length;
return length ? array[length - 1] : void 0;
}
module.exports = last;
}
});
// node_modules/lodash/mapValues.js
var require_mapValues = __commonJS({
"node_modules/lodash/mapValues.js"(exports, module) {
var baseAssignValue = require_baseAssignValue();
var baseForOwn = require_baseForOwn();
var baseIteratee = require_baseIteratee();
function mapValues(object, iteratee) {
var result = {};
iteratee = baseIteratee(iteratee, 3);
baseForOwn(object, function(value, key, object2) {
baseAssignValue(result, key, iteratee(value, key, object2));
});
return result;
}
module.exports = mapValues;
}
});
// node_modules/lodash/_baseExtremum.js
var require_baseExtremum = __commonJS({
"node_modules/lodash/_baseExtremum.js"(exports, module) {
var isSymbol = require_isSymbol();
function baseExtremum(array, iteratee, comparator) {
var index = -1, length = array.length;
while (++index < length) {
var value = array[index], current = iteratee(value);
if (current != null && (computed === void 0 ? current === current && !isSymbol(current) : comparator(current, computed))) {
var computed = current, result = value;
}
}
return result;
}
module.exports = baseExtremum;
}
});
// node_modules/lodash/_baseGt.js
var require_baseGt = __commonJS({
"node_modules/lodash/_baseGt.js"(exports, module) {
function baseGt(value, other) {
return value > other;
}
module.exports = baseGt;
}
});
// node_modules/lodash/max.js
var require_max = __commonJS({
"node_modules/lodash/max.js"(exports, module) {
var baseExtremum = require_baseExtremum();
var baseGt = require_baseGt();
var identity = require_identity();
function max(array) {
return array && array.length ? baseExtremum(array, identity, baseGt) : void 0;
}
module.exports = max;
}
});
// node_modules/lodash/_assignMergeValue.js
var require_assignMergeValue = __commonJS({
"node_modules/lodash/_assignMergeValue.js"(exports, module) {
var baseAssignValue = require_baseAssignValue();
var eq = require_eq();
function assignMergeValue(object, key, value) {
if (value !== void 0 && !eq(object[key], value) || value === void 0 && !(key in object)) {
baseAssignValue(object, key, value);
}
}
module.exports = assignMergeValue;
}
});
// node_modules/lodash/isPlainObject.js
var require_isPlainObject = __commonJS({
"node_modules/lodash/isPlainObject.js"(exports, module) {
var baseGetTag = require_baseGetTag();
var getPrototype = require_getPrototype();
var isObjectLike = require_isObjectLike();
var objectTag = "[object Object]";
var funcProto = Function.prototype;
var objectProto = Object.prototype;
var funcToString = funcProto.toString;
var hasOwnProperty = objectProto.hasOwnProperty;
var objectCtorString = funcToString.call(Object);
function isPlainObject(value) {
if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
return false;
}
var proto = getPrototype(value);
if (proto === null) {
return true;
}
var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
}
module.exports = isPlainObject;
}
});
// node_modules/lodash/_safeGet.js
var require_safeGet = __commonJS({
"node_modules/lodash/_safeGet.js"(exports, module) {
function safeGet(object, key) {
if (key === "constructor" && typeof object[key] === "function") {
return;
}
if (key == "__proto__") {
return;
}
return object[key];
}
module.exports = safeGet;
}
});
// node_modules/lodash/toPlainObject.js
var require_toPlainObject = __commonJS({
"node_modules/lodash/toPlainObject.js"(exports, module) {
var copyObject = require_copyObject();
var keysIn = require_keysIn();
function toPlainObject(value) {
return copyObject(value, keysIn(value));
}
module.exports = toPlainObject;
}
});
// node_modules/lodash/_baseMergeDeep.js
var require_baseMergeDeep = __commonJS({
"node_modules/lodash/_baseMergeDeep.js"(exports, module) {
var assignMergeValue = require_assignMergeValue();
var cloneBuffer = require_cloneBuffer();
var cloneTypedArray = require_cloneTypedArray();
var copyArray = require_copyArray();
var initCloneObject = require_initCloneObject();
var isArguments = require_isArguments();
var isArray = require_isArray();
var isArrayLikeObject = require_isArrayLikeObject();
var isBuffer = require_isBuffer();
var isFunction = require_isFunction();
var isObject = require_isObject();
var isPlainObject = require_isPlainObject();
var isTypedArray = require_isTypedArray();
var safeGet = require_safeGet();
var toPlainObject = require_toPlainObject();
function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue);
if (stacked) {
assignMergeValue(object, key, stacked);
return;
}
var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : void 0;
var isCommon = newValue === void 0;
if (isCommon) {
var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue);
newValue = srcValue;
if (isArr || isBuff || isTyped) {
if (isArray(objValue)) {
newValue = objValue;
} else if (isArrayLikeObject(objValue)) {
newValue = copyArray(objValue);
} else if (isBuff) {
isCommon = false;
newValue = cloneBuffer(srcValue, true);
} else if (isTyped) {
isCommon = false;
newValue = cloneTypedArray(srcValue, true);
} else {
newValue = [];
}
} else if (isPlainObject(srcValue) || isArguments(srcValue)) {
newValue = objValue;
if (isArguments(objValue)) {
newValue = toPlainObject(objValue);
} else if (!isObject(objValue) || isFunction(objValue)) {
newValue = initCloneObject(srcValue);
}
} else {
isCommon = false;
}
}
if (isCommon) {
stack.set(srcValue, newValue);
mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
stack["delete"](srcValue);
}
assignMergeValue(object, key, newValue);
}
module.exports = baseMergeDeep;
}
});
// node_modules/lodash/_baseMerge.js
var require_baseMerge = __commonJS({
"node_modules/lodash/_baseMerge.js"(exports, module) {
var Stack = require_Stack();
var assignMergeValue = require_assignMergeValue();
var baseFor = require_baseFor();
var baseMergeDeep = require_baseMergeDeep();
var isObject = require_isObject();
var keysIn = require_keysIn();
var safeGet = require_safeGet();
function baseMerge(object, source, srcIndex, customizer, stack) {
if (object === source) {
return;
}
baseFor(source, function(srcValue, key) {
stack || (stack = new Stack());
if (isObject(srcValue)) {
baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
} else {
var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : void 0;
if (newValue === void 0) {
newValue = srcValue;
}
assignMergeValue(object, key, newValue);
}
}, keysIn);
}
module.exports = baseMerge;
}
});
// node_modules/lodash/_createAssigner.js
var require_createAssigner = __commonJS({
"node_modules/lodash/_createAssigner.js"(exports, module) {
var baseRest = require_baseRest();
var isIterateeCall = require_isIterateeCall();
function createAssigner(assigner) {
return baseRest(function(object, sources) {
var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0;
customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0;
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
customizer = length < 3 ? void 0 : customizer;
length = 1;
}
object = Object(object);
while (++index < length) {
var source = sources[index];
if (source) {
assigner(object, source, index, customizer);
}
}
return object;
});
}
module.exports = createAssigner;
}
});
// node_modules/lodash/merge.js
var require_merge = __commonJS({
"node_modules/lodash/merge.js"(exports, module) {
var baseMerge = require_baseMerge();
var createAssigner = require_createAssigner();
var merge = createAssigner(function(object, source, srcIndex) {
baseMerge(object, source, srcIndex);
});
module.exports = merge;
}
});
// node_modules/lodash/_baseLt.js
var require_baseLt = __commonJS({
"node_modules/lodash/_baseLt.js"(exports, module) {
function baseLt(value, other) {
return value < other;
}
module.exports = baseLt;
}
});
// node_modules/lodash/min.js
var require_min = __commonJS({
"node_modules/lodash/min.js"(exports, module) {
var baseExtremum = require_baseExtremum();
var baseLt = require_baseLt();
var identity = require_identity();
function min(array) {
return array && array.length ? baseExtremum(array, identity, baseLt) : void 0;
}
module.exports = min;
}
});
// node_modules/lodash/minBy.js
var require_minBy = __commonJS({
"node_modules/lodash/minBy.js"(exports, module) {
var baseExtremum = require_baseExtremum();
var baseIteratee = require_baseIteratee();
var baseLt = require_baseLt();
function minBy(array, iteratee) {
return array && array.length ? baseExtremum(array, baseIteratee(iteratee, 2), baseLt) : void 0;
}
module.exports = minBy;
}
});
// node_modules/lodash/now.js
var require_now = __commonJS({
"node_modules/lodash/now.js"(exports, module) {
var root = require_root();
var now = function() {
return root.Date.now();
};
module.exports = now;
}
});
// node_modules/lodash/_baseSet.js
var require_baseSet = __commonJS({
"node_modules/lodash/_baseSet.js"(exports, module) {
var assignValue = require_assignValue();
var castPath = require_castPath();
var isIndex = require_isIndex();
var isObject = require_isObject();
var toKey = require_toKey();
function baseSet(object, path, value, customizer) {
if (!isObject(object)) {
return object;
}
path = castPath(path, object);
var index = -1, length = path.length, lastIndex = length - 1, nested = object;
while (nested != null && ++index < length) {
var key = toKey(path[index]), newValue = value;
if (key === "__proto__" || key === "constructor" || key === "prototype") {
return object;
}
if (index != lastIndex) {
var objValue = nested[key];
newValue = customizer ? customizer(objValue, key, nested) : void 0;
if (newValue === void 0) {
newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
}
}
assignValue(nested, key, newValue);
nested = nested[key];
}
return object;
}
module.exports = baseSet;
}
});
// node_modules/lodash/_basePickBy.js
var require_basePickBy = __commonJS({
"node_modules/lodash/_basePickBy.js"(exports, module) {
var baseGet = require_baseGet();
var baseSet = require_baseSet();
var castPath = require_castPath();
function basePickBy(object, paths, predicate) {
var index = -1, length = paths.length, result = {};
while (++index < length) {
var path = paths[index], value = baseGet(object, path);
if (predicate(value, path)) {
baseSet(result, castPath(path, object), value);
}
}
return result;
}
module.exports = basePickBy;
}
});
// node_modules/lodash/_basePick.js
var require_basePick = __commonJS({
"node_modules/lodash/_basePick.js"(exports, module) {
var basePickBy = require_basePickBy();
var hasIn = require_hasIn();
function basePick(object, paths) {
return basePickBy(object, paths, function(value, path) {
return hasIn(object, path);
});
}
module.exports = basePick;
}
});
// node_modules/lodash/_flatRest.js
var require_flatRest = __commonJS({
"node_modules/lodash/_flatRest.js"(exports, module) {
var flatten = require_flatten();
var overRest = require_overRest();
var setToString = require_setToString();
function flatRest(func) {
return setToString(overRest(func, void 0, flatten), func + "");
}
module.exports = flatRest;
}
});
// node_modules/lodash/pick.js
var require_pick = __commonJS({
"node_modules/lodash/pick.js"(exports, module) {
var basePick = require_basePick();
var flatRest = require_flatRest();
var pick = flatRest(function(object, paths) {
return object == null ? {} : basePick(object, paths);
});
module.exports = pick;
}
});
// node_modules/lodash/_baseRange.js
var require_baseRange = __commonJS({
"node_modules/lodash/_baseRange.js"(exports, module) {
var nativeCeil = Math.ceil;
var nativeMax = Math.max;
function baseRange(start, end, step, fromRight) {
var index = -1, length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), result = Array(length);
while (length--) {
result[fromRight ? length : ++index] = start;
start += step;
}
return result;
}
module.exports = baseRange;
}
});
// node_modules/lodash/_createRange.js
var require_createRange = __commonJS({
"node_modules/lodash/_createRange.js"(exports, module) {
var baseRange = require_baseRange();
var isIterateeCall = require_isIterateeCall();
var toFinite = require_toFinite();
function createRange(fromRight) {
return function(start, end, step) {
if (step && typeof step != "number" && isIterateeCall(start, end, step)) {
end = step = void 0;
}
start = toFinite(start);
if (end === void 0) {
end = start;
start = 0;
} else {
end = toFinite(end);
}
step = step === void 0 ? start < end ? 1 : -1 : toFinite(step);
return baseRange(start, end, step, fromRight);
};
}
module.exports = createRange;
}
});
// node_modules/lodash/range.js
var require_range = __commonJS({
"node_modules/lodash/range.js"(exports, module) {
var createRange = require_createRange();
var range = createRange();
module.exports = range;
}
});
// node_modules/lodash/_baseSortBy.js
var require_baseSortBy = __commonJS({
"node_modules/lodash/_baseSortBy.js"(exports, module) {
function baseSortBy(array, comparer) {
var length = array.length;
array.sort(comparer);
while (length--) {
array[length] = array[length].value;
}
return array;
}
module.exports = baseSortBy;
}
});
// node_modules/lodash/_compareAscending.js
var require_compareAscending = __commonJS({
"node_modules/lodash/_compareAscending.js"(exports, module) {
var isSymbol = require_isSymbol();
function compareAscending(value, other) {
if (value !== other) {
var valIsDefined = value !== void 0, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value);
var othIsDefined = other !== void 0, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other);
if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) {
return 1;
}
if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) {
return -1;
}
}
return 0;
}
module.exports = compareAscending;
}
});
// node_modules/lodash/_compareMultiple.js
var require_compareMultiple = __commonJS({
"node_modules/lodash/_compareMultiple.js"(exports, module) {
var compareAscending = require_compareAscending();
function compareMultiple(object, other, orders) {
var index = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length;
while (++index < length) {
var result = compareAscending(objCriteria[index], othCriteria[index]);
if (result) {
if (index >= ordersLength) {
return result;
}
var order = orders[index];
return result * (order == "desc" ? -1 : 1);
}
}
return object.index - other.index;
}
module.exports = compareMultiple;
}
});
// node_modules/lodash/_baseOrderBy.js
var require_baseOrderBy = __commonJS({
"node_modules/lodash/_baseOrderBy.js"(exports, module) {
var arrayMap = require_arrayMap();
var baseGet = require_baseGet();
var baseIteratee = require_baseIteratee();
var baseMap = require_baseMap();
var baseSortBy = require_baseSortBy();
var baseUnary = require_baseUnary();
var compareMultiple = require_compareMultiple();
var identity = require_identity();
var isArray = require_isArray();
function baseOrderBy(collection, iteratees, orders) {
if (iteratees.length) {
iteratees = arrayMap(iteratees, function(iteratee) {
if (isArray(iteratee)) {
return function(value) {
return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
};
}
return iteratee;
});
} else {
iteratees = [identity];
}
var index = -1;
iteratees = arrayMap(iteratees, baseUnary(baseIteratee));
var result = baseMap(collection, function(value, key, collection2) {
var criteria = arrayMap(iteratees, function(iteratee) {
return iteratee(value);
});
return { "criteria": criteria, "index": ++index, "value": value };
});
return baseSortBy(result, function(object, other) {
return compareMultiple(object, other, orders);
});
}
module.exports = baseOrderBy;
}
});
// node_modules/lodash/sortBy.js
var require_sortBy = __commonJS({
"node_modules/lodash/sortBy.js"(exports, module) {
var baseFlatten = require_baseFlatten();
var baseOrderBy = require_baseOrderBy();
var baseRest = require_baseRest();
var isIterateeCall = require_isIterateeCall();
var sortBy = baseRest(function(collection, iteratees) {
if (collection == null) {
return [];
}
var length = iteratees.length;
if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
iteratees = [];
} else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
iteratees = [iteratees[0]];
}
return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
});
module.exports = sortBy;
}
});
// node_modules/lodash/uniqueId.js
var require_uniqueId = __commonJS({
"node_modules/lodash/uniqueId.js"(exports, module) {
var toString = require_toString();
var idCounter = 0;
function uniqueId(prefix) {
var id = ++idCounter;
return toString(prefix) + id;
}
module.exports = uniqueId;
}
});
// node_modules/lodash/_baseZipObject.js
var require_baseZipObject = __commonJS({
"node_modules/lodash/_baseZipObject.js"(exports, module) {
function baseZipObject(props, values, assignFunc) {
var index = -1, length = props.length, valsLength = values.length, result = {};
while (++index < length) {
var value = index < valsLength ? values[index] : void 0;
assignFunc(result, props[index], value);
}
return result;
}
module.exports = baseZipObject;
}
});
// node_modules/lodash/zipObject.js
var require_zipObject = __commonJS({
"node_modules/lodash/zipObject.js"(exports, module) {
var assignValue = require_assignValue();
var baseZipObject = require_baseZipObject();
function zipObject(props, values) {
return baseZipObject(props || [], values || [], assignValue);
}
module.exports = zipObject;
}
});
// node_modules/dagre/lib/lodash.js
var require_lodash2 = __commonJS({
"node_modules/dagre/lib/lodash.js"(exports, module) {
var lodash;
if (typeof __require === "function") {
try {
lodash = {
cloneDeep: require_cloneDeep(),
constant: require_constant(),
defaults: require_defaults(),
each: require_each(),
filter: require_filter(),
find: require_find(),
flatten: require_flatten(),
forEach: require_forEach(),
forIn: require_forIn(),
has: require_has(),
isUndefined: require_isUndefined(),
last: require_last(),
map: require_map(),
mapValues: require_mapValues(),
max: require_max(),
merge: require_merge(),
min: require_min(),
minBy: require_minBy(),
now: require_now(),
pick: require_pick(),
range: require_range(),
reduce: require_reduce(),
sortBy: require_sortBy(),
uniqueId: require_uniqueId(),
values: require_values(),
zipObject: require_zipObject()
};
} catch (e) {
}
}
if (!lodash) {
lodash = window._;
}
module.exports = lodash;
}
});
// node_modules/dagre/lib/data/list.js
var require_list = __commonJS({
"node_modules/dagre/lib/data/list.js"(exports, module) {
module.exports = List;
function List() {
var sentinel = {};
sentinel._next = sentinel._prev = sentinel;
this._sentinel = sentinel;
}
List.prototype.dequeue = function() {
var sentinel = this._sentinel;
var entry = sentinel._prev;
if (entry !== sentinel) {
unlink(entry);
return entry;
}
};
List.prototype.enqueue = function(entry) {
var sentinel = this._sentinel;
if (entry._prev && entry._next) {
unlink(entry);
}
entry._next = sentinel._next;
sentinel._next._prev = entry;
sentinel._next = entry;
entry._prev = sentinel;
};
List.prototype.toString = function() {
var strs = [];
var sentinel = this._sentinel;
var curr = sentinel._prev;
while (curr !== sentinel) {
strs.push(JSON.stringify(curr, filterOutLinks));
curr = curr._prev;
}
return "[" + strs.join(", ") + "]";
};
function unlink(entry) {
entry._prev._next = entry._next;
entry._next._prev = entry._prev;
delete entry._next;
delete entry._prev;
}
function filterOutLinks(k, v) {
if (k !== "_next" && k !== "_prev") {
return v;
}
}
}
});
// node_modules/dagre/lib/greedy-fas.js
var require_greedy_fas = __commonJS({
"node_modules/dagre/lib/greedy-fas.js"(exports, module) {
var _ = require_lodash2();
var Graph = require_graphlib2().Graph;
var List = require_list();
module.exports = greedyFAS;
var DEFAULT_WEIGHT_FN = _.constant(1);
function greedyFAS(g, weightFn) {
if (g.nodeCount() <= 1) {
return [];
}
var state = buildState(g, weightFn || DEFAULT_WEIGHT_FN);
var results = doGreedyFAS(state.graph, state.buckets, state.zeroIdx);
return _.flatten(_.map(results, function(e) {
return g.outEdges(e.v, e.w);
}), true);
}
function doGreedyFAS(g, buckets, zeroIdx) {
var results = [];
var sources = buckets[buckets.length - 1];
var sinks = buckets[0];
var entry;
while (g.nodeCount()) {
while (entry = sinks.dequeue()) {
removeNode(g, buckets, zeroIdx, entry);
}
while (entry = sources.dequeue()) {
removeNode(g, buckets, zeroIdx, entry);
}
if (g.nodeCount()) {
for (var i = buckets.length - 2; i > 0; --i) {
entry = buckets[i].dequeue();
if (entry) {
results = results.concat(removeNode(g, buckets, zeroIdx, entry, true));
break;
}
}
}
}
return results;
}
function removeNode(g, buckets, zeroIdx, entry, collectPredecessors) {
var results = collectPredecessors ? [] : void 0;
_.forEach(g.inEdges(entry.v), function(edge) {
var weight = g.edge(edge);
var uEntry = g.node(edge.v);
if (collectPredecessors) {
results.push({ v: edge.v, w: edge.w });
}
uEntry.out -= weight;
assignBucket(buckets, zeroIdx, uEntry);
});
_.forEach(g.outEdges(entry.v), function(edge) {
var weight = g.edge(edge);
var w = edge.w;
var wEntry = g.node(w);
wEntry["in"] -= weight;
assignBucket(buckets, zeroIdx, wEntry);
});
g.removeNode(entry.v);
return results;
}
function buildState(g, weightFn) {
var fasGraph = new Graph();
var maxIn = 0;
var maxOut = 0;
_.forEach(g.nodes(), function(v) {
fasGraph.setNode(v, { v, "in": 0, out: 0 });
});
_.forEach(g.edges(), function(e) {
var prevWeight = fasGraph.edge(e.v, e.w) || 0;
var weight = weightFn(e);
var edgeWeight = prevWeight + weight;
fasGraph.setEdge(e.v, e.w, edgeWeight);
maxOut = Math.max(maxOut, fasGraph.node(e.v).out += weight);
maxIn = Math.max(maxIn, fasGraph.node(e.w)["in"] += weight);
});
var buckets = _.range(maxOut + maxIn + 3).map(function() {
return new List();
});
var zeroIdx = maxIn + 1;
_.forEach(fasGraph.nodes(), function(v) {
assignBucket(buckets, zeroIdx, fasGraph.node(v));
});
return { graph: fasGraph, buckets, zeroIdx };
}
function assignBucket(buckets, zeroIdx, entry) {
if (!entry.out) {
buckets[0].enqueue(entry);
} else if (!entry["in"]) {
buckets[buckets.length - 1].enqueue(entry);
} else {
buckets[entry.out - entry["in"] + zeroIdx].enqueue(entry);
}
}
}
});
// node_modules/dagre/lib/acyclic.js
var require_acyclic = __commonJS({
"node_modules/dagre/lib/acyclic.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var greedyFAS = require_greedy_fas();
module.exports = {
run,
undo
};
function run(g) {
var fas = g.graph().acyclicer === "greedy" ? greedyFAS(g, weightFn(g)) : dfsFAS(g);
_.forEach(fas, function(e) {
var label = g.edge(e);
g.removeEdge(e);
label.forwardName = e.name;
label.reversed = true;
g.setEdge(e.w, e.v, label, _.uniqueId("rev"));
});
function weightFn(g2) {
return function(e) {
return g2.edge(e).weight;
};
}
}
function dfsFAS(g) {
var fas = [];
var stack = {};
var visited = {};
function dfs(v) {
if (_.has(visited, v)) {
return;
}
visited[v] = true;
stack[v] = true;
_.forEach(g.outEdges(v), function(e) {
if (_.has(stack, e.w)) {
fas.push(e);
} else {
dfs(e.w);
}
});
delete stack[v];
}
_.forEach(g.nodes(), dfs);
return fas;
}
function undo(g) {
_.forEach(g.edges(), function(e) {
var label = g.edge(e);
if (label.reversed) {
g.removeEdge(e);
var forwardName = label.forwardName;
delete label.reversed;
delete label.forwardName;
g.setEdge(e.w, e.v, label, forwardName);
}
});
}
}
});
// node_modules/dagre/lib/util.js
var require_util = __commonJS({
"node_modules/dagre/lib/util.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var Graph = require_graphlib2().Graph;
module.exports = {
addDummyNode,
simplify,
asNonCompoundGraph,
successorWeights,
predecessorWeights,
intersectRect,
buildLayerMatrix,
normalizeRanks,
removeEmptyRanks,
addBorderNode,
maxRank,
partition,
time,
notime
};
function addDummyNode(g, type, attrs, name) {
var v;
do {
v = _.uniqueId(name);
} while (g.hasNode(v));
attrs.dummy = type;
g.setNode(v, attrs);
return v;
}
function simplify(g) {
var simplified = new Graph().setGraph(g.graph());
_.forEach(g.nodes(), function(v) {
simplified.setNode(v, g.node(v));
});
_.forEach(g.edges(), function(e) {
var simpleLabel = simplified.edge(e.v, e.w) || { weight: 0, minlen: 1 };
var label = g.edge(e);
simplified.setEdge(e.v, e.w, {
weight: simpleLabel.weight + label.weight,
minlen: Math.max(simpleLabel.minlen, label.minlen)
});
});
return simplified;
}
function asNonCompoundGraph(g) {
var simplified = new Graph({ multigraph: g.isMultigraph() }).setGraph(g.graph());
_.forEach(g.nodes(), function(v) {
if (!g.children(v).length) {
simplified.setNode(v, g.node(v));
}
});
_.forEach(g.edges(), function(e) {
simplified.setEdge(e, g.edge(e));
});
return simplified;
}
function successorWeights(g) {
var weightMap = _.map(g.nodes(), function(v) {
var sucs = {};
_.forEach(g.outEdges(v), function(e) {
sucs[e.w] = (sucs[e.w] || 0) + g.edge(e).weight;
});
return sucs;
});
return _.zipObject(g.nodes(), weightMap);
}
function predecessorWeights(g) {
var weightMap = _.map(g.nodes(), function(v) {
var preds = {};
_.forEach(g.inEdges(v), function(e) {
preds[e.v] = (preds[e.v] || 0) + g.edge(e).weight;
});
return preds;
});
return _.zipObject(g.nodes(), weightMap);
}
function intersectRect(rect, point) {
var x = rect.x;
var y = rect.y;
var dx = point.x - x;
var dy = point.y - y;
var w = rect.width / 2;
var h = rect.height / 2;
if (!dx && !dy) {
throw new Error("Not possible to find intersection inside of the rectangle");
}
var sx, sy;
if (Math.abs(dy) * w > Math.abs(dx) * h) {
if (dy < 0) {
h = -h;
}
sx = h * dx / dy;
sy = h;
} else {
if (dx < 0) {
w = -w;
}
sx = w;
sy = w * dy / dx;
}
return { x: x + sx, y: y + sy };
}
function buildLayerMatrix(g) {
var layering = _.map(_.range(maxRank(g) + 1), function() {
return [];
});
_.forEach(g.nodes(), function(v) {
var node = g.node(v);
var rank = node.rank;
if (!_.isUndefined(rank)) {
layering[rank][node.order] = v;
}
});
return layering;
}
function normalizeRanks(g) {
var min = _.min(_.map(g.nodes(), function(v) {
return g.node(v).rank;
}));
_.forEach(g.nodes(), function(v) {
var node = g.node(v);
if (_.has(node, "rank")) {
node.rank -= min;
}
});
}
function removeEmptyRanks(g) {
var offset = _.min(_.map(g.nodes(), function(v) {
return g.node(v).rank;
}));
var layers = [];
_.forEach(g.nodes(), function(v) {
var rank = g.node(v).rank - offset;
if (!layers[rank]) {
layers[rank] = [];
}
layers[rank].push(v);
});
var delta = 0;
var nodeRankFactor = g.graph().nodeRankFactor;
_.forEach(layers, function(vs, i) {
if (_.isUndefined(vs) && i % nodeRankFactor !== 0) {
--delta;
} else if (delta) {
_.forEach(vs, function(v) {
g.node(v).rank += delta;
});
}
});
}
function addBorderNode(g, prefix, rank, order) {
var node = {
width: 0,
height: 0
};
if (arguments.length >= 4) {
node.rank = rank;
node.order = order;
}
return addDummyNode(g, "border", node, prefix);
}
function maxRank(g) {
return _.max(_.map(g.nodes(), function(v) {
var rank = g.node(v).rank;
if (!_.isUndefined(rank)) {
return rank;
}
}));
}
function partition(collection, fn) {
var result = { lhs: [], rhs: [] };
_.forEach(collection, function(value) {
if (fn(value)) {
result.lhs.push(value);
} else {
result.rhs.push(value);
}
});
return result;
}
function time(name, fn) {
var start = _.now();
try {
return fn();
} finally {
console.log(name + " time: " + (_.now() - start) + "ms");
}
}
function notime(name, fn) {
return fn();
}
}
});
// node_modules/dagre/lib/normalize.js
var require_normalize = __commonJS({
"node_modules/dagre/lib/normalize.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var util = require_util();
module.exports = {
run,
undo
};
function run(g) {
g.graph().dummyChains = [];
_.forEach(g.edges(), function(edge) {
normalizeEdge(g, edge);
});
}
function normalizeEdge(g, e) {
var v = e.v;
var vRank = g.node(v).rank;
var w = e.w;
var wRank = g.node(w).rank;
var name = e.name;
var edgeLabel = g.edge(e);
var labelRank = edgeLabel.labelRank;
if (wRank === vRank + 1) return;
g.removeEdge(e);
var dummy, attrs, i;
for (i = 0, ++vRank; vRank < wRank; ++i, ++vRank) {
edgeLabel.points = [];
attrs = {
width: 0,
height: 0,
edgeLabel,
edgeObj: e,
rank: vRank
};
dummy = util.addDummyNode(g, "edge", attrs, "_d");
if (vRank === labelRank) {
attrs.width = edgeLabel.width;
attrs.height = edgeLabel.height;
attrs.dummy = "edge-label";
attrs.labelpos = edgeLabel.labelpos;
}
g.setEdge(v, dummy, { weight: edgeLabel.weight }, name);
if (i === 0) {
g.graph().dummyChains.push(dummy);
}
v = dummy;
}
g.setEdge(v, w, { weight: edgeLabel.weight }, name);
}
function undo(g) {
_.forEach(g.graph().dummyChains, function(v) {
var node = g.node(v);
var origLabel = node.edgeLabel;
var w;
g.setEdge(node.edgeObj, origLabel);
while (node.dummy) {
w = g.successors(v)[0];
g.removeNode(v);
origLabel.points.push({ x: node.x, y: node.y });
if (node.dummy === "edge-label") {
origLabel.x = node.x;
origLabel.y = node.y;
origLabel.width = node.width;
origLabel.height = node.height;
}
v = w;
node = g.node(v);
}
});
}
}
});
// node_modules/dagre/lib/rank/util.js
var require_util2 = __commonJS({
"node_modules/dagre/lib/rank/util.js"(exports, module) {
"use strict";
var _ = require_lodash2();
module.exports = {
longestPath,
slack
};
function longestPath(g) {
var visited = {};
function dfs(v) {
var label = g.node(v);
if (_.has(visited, v)) {
return label.rank;
}
visited[v] = true;
var rank = _.min(_.map(g.outEdges(v), function(e) {
return dfs(e.w) - g.edge(e).minlen;
}));
if (rank === Number.POSITIVE_INFINITY || // return value of _.map([]) for Lodash 3
rank === void 0 || // return value of _.map([]) for Lodash 4
rank === null) {
rank = 0;
}
return label.rank = rank;
}
_.forEach(g.sources(), dfs);
}
function slack(g, e) {
return g.node(e.w).rank - g.node(e.v).rank - g.edge(e).minlen;
}
}
});
// node_modules/dagre/lib/rank/feasible-tree.js
var require_feasible_tree = __commonJS({
"node_modules/dagre/lib/rank/feasible-tree.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var Graph = require_graphlib2().Graph;
var slack = require_util2().slack;
module.exports = feasibleTree;
function feasibleTree(g) {
var t = new Graph({ directed: false });
var start = g.nodes()[0];
var size = g.nodeCount();
t.setNode(start, {});
var edge, delta;
while (tightTree(t, g) < size) {
edge = findMinSlackEdge(t, g);
delta = t.hasNode(edge.v) ? slack(g, edge) : -slack(g, edge);
shiftRanks(t, g, delta);
}
return t;
}
function tightTree(t, g) {
function dfs(v) {
_.forEach(g.nodeEdges(v), function(e) {
var edgeV = e.v, w = v === edgeV ? e.w : edgeV;
if (!t.hasNode(w) && !slack(g, e)) {
t.setNode(w, {});
t.setEdge(v, w, {});
dfs(w);
}
});
}
_.forEach(t.nodes(), dfs);
return t.nodeCount();
}
function findMinSlackEdge(t, g) {
return _.minBy(g.edges(), function(e) {
if (t.hasNode(e.v) !== t.hasNode(e.w)) {
return slack(g, e);
}
});
}
function shiftRanks(t, g, delta) {
_.forEach(t.nodes(), function(v) {
g.node(v).rank += delta;
});
}
}
});
// node_modules/dagre/lib/rank/network-simplex.js
var require_network_simplex = __commonJS({
"node_modules/dagre/lib/rank/network-simplex.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var feasibleTree = require_feasible_tree();
var slack = require_util2().slack;
var initRank = require_util2().longestPath;
var preorder = require_graphlib2().alg.preorder;
var postorder = require_graphlib2().alg.postorder;
var simplify = require_util().simplify;
module.exports = networkSimplex;
networkSimplex.initLowLimValues = initLowLimValues;
networkSimplex.initCutValues = initCutValues;
networkSimplex.calcCutValue = calcCutValue;
networkSimplex.leaveEdge = leaveEdge;
networkSimplex.enterEdge = enterEdge;
networkSimplex.exchangeEdges = exchangeEdges;
function networkSimplex(g) {
g = simplify(g);
initRank(g);
var t = feasibleTree(g);
initLowLimValues(t);
initCutValues(t, g);
var e, f;
while (e = leaveEdge(t)) {
f = enterEdge(t, g, e);
exchangeEdges(t, g, e, f);
}
}
function initCutValues(t, g) {
var vs = postorder(t, t.nodes());
vs = vs.slice(0, vs.length - 1);
_.forEach(vs, function(v) {
assignCutValue(t, g, v);
});
}
function assignCutValue(t, g, child) {
var childLab = t.node(child);
var parent = childLab.parent;
t.edge(child, parent).cutvalue = calcCutValue(t, g, child);
}
function calcCutValue(t, g, child) {
var childLab = t.node(child);
var parent = childLab.parent;
var childIsTail = true;
var graphEdge = g.edge(child, parent);
var cutValue = 0;
if (!graphEdge) {
childIsTail = false;
graphEdge = g.edge(parent, child);
}
cutValue = graphEdge.weight;
_.forEach(g.nodeEdges(child), function(e) {
var isOutEdge = e.v === child, other = isOutEdge ? e.w : e.v;
if (other !== parent) {
var pointsToHead = isOutEdge === childIsTail, otherWeight = g.edge(e).weight;
cutValue += pointsToHead ? otherWeight : -otherWeight;
if (isTreeEdge(t, child, other)) {
var otherCutValue = t.edge(child, other).cutvalue;
cutValue += pointsToHead ? -otherCutValue : otherCutValue;
}
}
});
return cutValue;
}
function initLowLimValues(tree, root) {
if (arguments.length < 2) {
root = tree.nodes()[0];
}
dfsAssignLowLim(tree, {}, 1, root);
}
function dfsAssignLowLim(tree, visited, nextLim, v, parent) {
var low = nextLim;
var label = tree.node(v);
visited[v] = true;
_.forEach(tree.neighbors(v), function(w) {
if (!_.has(visited, w)) {
nextLim = dfsAssignLowLim(tree, visited, nextLim, w, v);
}
});
label.low = low;
label.lim = nextLim++;
if (parent) {
label.parent = parent;
} else {
delete label.parent;
}
return nextLim;
}
function leaveEdge(tree) {
return _.find(tree.edges(), function(e) {
return tree.edge(e).cutvalue < 0;
});
}
function enterEdge(t, g, edge) {
var v = edge.v;
var w = edge.w;
if (!g.hasEdge(v, w)) {
v = edge.w;
w = edge.v;
}
var vLabel = t.node(v);
var wLabel = t.node(w);
var tailLabel = vLabel;
var flip = false;
if (vLabel.lim > wLabel.lim) {
tailLabel = wLabel;
flip = true;
}
var candidates = _.filter(g.edges(), function(edge2) {
return flip === isDescendant(t, t.node(edge2.v), tailLabel) && flip !== isDescendant(t, t.node(edge2.w), tailLabel);
});
return _.minBy(candidates, function(edge2) {
return slack(g, edge2);
});
}
function exchangeEdges(t, g, e, f) {
var v = e.v;
var w = e.w;
t.removeEdge(v, w);
t.setEdge(f.v, f.w, {});
initLowLimValues(t);
initCutValues(t, g);
updateRanks(t, g);
}
function updateRanks(t, g) {
var root = _.find(t.nodes(), function(v) {
return !g.node(v).parent;
});
var vs = preorder(t, root);
vs = vs.slice(1);
_.forEach(vs, function(v) {
var parent = t.node(v).parent, edge = g.edge(v, parent), flipped = false;
if (!edge) {
edge = g.edge(parent, v);
flipped = true;
}
g.node(v).rank = g.node(parent).rank + (flipped ? edge.minlen : -edge.minlen);
});
}
function isTreeEdge(tree, u, v) {
return tree.hasEdge(u, v);
}
function isDescendant(tree, vLabel, rootLabel) {
return rootLabel.low <= vLabel.lim && vLabel.lim <= rootLabel.lim;
}
}
});
// node_modules/dagre/lib/rank/index.js
var require_rank = __commonJS({
"node_modules/dagre/lib/rank/index.js"(exports, module) {
"use strict";
var rankUtil = require_util2();
var longestPath = rankUtil.longestPath;
var feasibleTree = require_feasible_tree();
var networkSimplex = require_network_simplex();
module.exports = rank;
function rank(g) {
switch (g.graph().ranker) {
case "network-simplex":
networkSimplexRanker(g);
break;
case "tight-tree":
tightTreeRanker(g);
break;
case "longest-path":
longestPathRanker(g);
break;
default:
networkSimplexRanker(g);
}
}
var longestPathRanker = longestPath;
function tightTreeRanker(g) {
longestPath(g);
feasibleTree(g);
}
function networkSimplexRanker(g) {
networkSimplex(g);
}
}
});
// node_modules/dagre/lib/parent-dummy-chains.js
var require_parent_dummy_chains = __commonJS({
"node_modules/dagre/lib/parent-dummy-chains.js"(exports, module) {
var _ = require_lodash2();
module.exports = parentDummyChains;
function parentDummyChains(g) {
var postorderNums = postorder(g);
_.forEach(g.graph().dummyChains, function(v) {
var node = g.node(v);
var edgeObj = node.edgeObj;
var pathData = findPath(g, postorderNums, edgeObj.v, edgeObj.w);
var path = pathData.path;
var lca = pathData.lca;
var pathIdx = 0;
var pathV = path[pathIdx];
var ascending = true;
while (v !== edgeObj.w) {
node = g.node(v);
if (ascending) {
while ((pathV = path[pathIdx]) !== lca && g.node(pathV).maxRank < node.rank) {
pathIdx++;
}
if (pathV === lca) {
ascending = false;
}
}
if (!ascending) {
while (pathIdx < path.length - 1 && g.node(pathV = path[pathIdx + 1]).minRank <= node.rank) {
pathIdx++;
}
pathV = path[pathIdx];
}
g.setParent(v, pathV);
v = g.successors(v)[0];
}
});
}
function findPath(g, postorderNums, v, w) {
var vPath = [];
var wPath = [];
var low = Math.min(postorderNums[v].low, postorderNums[w].low);
var lim = Math.max(postorderNums[v].lim, postorderNums[w].lim);
var parent;
var lca;
parent = v;
do {
parent = g.parent(parent);
vPath.push(parent);
} while (parent && (postorderNums[parent].low > low || lim > postorderNums[parent].lim));
lca = parent;
parent = w;
while ((parent = g.parent(parent)) !== lca) {
wPath.push(parent);
}
return { path: vPath.concat(wPath.reverse()), lca };
}
function postorder(g) {
var result = {};
var lim = 0;
function dfs(v) {
var low = lim;
_.forEach(g.children(v), dfs);
result[v] = { low, lim: lim++ };
}
_.forEach(g.children(), dfs);
return result;
}
}
});
// node_modules/dagre/lib/nesting-graph.js
var require_nesting_graph = __commonJS({
"node_modules/dagre/lib/nesting-graph.js"(exports, module) {
var _ = require_lodash2();
var util = require_util();
module.exports = {
run,
cleanup
};
function run(g) {
var root = util.addDummyNode(g, "root", {}, "_root");
var depths = treeDepths(g);
var height = _.max(_.values(depths)) - 1;
var nodeSep = 2 * height + 1;
g.graph().nestingRoot = root;
_.forEach(g.edges(), function(e) {
g.edge(e).minlen *= nodeSep;
});
var weight = sumWeights(g) + 1;
_.forEach(g.children(), function(child) {
dfs(g, root, nodeSep, weight, height, depths, child);
});
g.graph().nodeRankFactor = nodeSep;
}
function dfs(g, root, nodeSep, weight, height, depths, v) {
var children = g.children(v);
if (!children.length) {
if (v !== root) {
g.setEdge(root, v, { weight: 0, minlen: nodeSep });
}
return;
}
var top = util.addBorderNode(g, "_bt");
var bottom = util.addBorderNode(g, "_bb");
var label = g.node(v);
g.setParent(top, v);
label.borderTop = top;
g.setParent(bottom, v);
label.borderBottom = bottom;
_.forEach(children, function(child) {
dfs(g, root, nodeSep, weight, height, depths, child);
var childNode = g.node(child);
var childTop = childNode.borderTop ? childNode.borderTop : child;
var childBottom = childNode.borderBottom ? childNode.borderBottom : child;
var thisWeight = childNode.borderTop ? weight : 2 * weight;
var minlen = childTop !== childBottom ? 1 : height - depths[v] + 1;
g.setEdge(top, childTop, {
weight: thisWeight,
minlen,
nestingEdge: true
});
g.setEdge(childBottom, bottom, {
weight: thisWeight,
minlen,
nestingEdge: true
});
});
if (!g.parent(v)) {
g.setEdge(root, top, { weight: 0, minlen: height + depths[v] });
}
}
function treeDepths(g) {
var depths = {};
function dfs2(v, depth) {
var children = g.children(v);
if (children && children.length) {
_.forEach(children, function(child) {
dfs2(child, depth + 1);
});
}
depths[v] = depth;
}
_.forEach(g.children(), function(v) {
dfs2(v, 1);
});
return depths;
}
function sumWeights(g) {
return _.reduce(g.edges(), function(acc, e) {
return acc + g.edge(e).weight;
}, 0);
}
function cleanup(g) {
var graphLabel = g.graph();
g.removeNode(graphLabel.nestingRoot);
delete graphLabel.nestingRoot;
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
if (edge.nestingEdge) {
g.removeEdge(e);
}
});
}
}
});
// node_modules/dagre/lib/add-border-segments.js
var require_add_border_segments = __commonJS({
"node_modules/dagre/lib/add-border-segments.js"(exports, module) {
var _ = require_lodash2();
var util = require_util();
module.exports = addBorderSegments;
function addBorderSegments(g) {
function dfs(v) {
var children = g.children(v);
var node = g.node(v);
if (children.length) {
_.forEach(children, dfs);
}
if (_.has(node, "minRank")) {
node.borderLeft = [];
node.borderRight = [];
for (var rank = node.minRank, maxRank = node.maxRank + 1; rank < maxRank; ++rank) {
addBorderNode(g, "borderLeft", "_bl", v, node, rank);
addBorderNode(g, "borderRight", "_br", v, node, rank);
}
}
}
_.forEach(g.children(), dfs);
}
function addBorderNode(g, prop, prefix, sg, sgNode, rank) {
var label = { width: 0, height: 0, rank, borderType: prop };
var prev = sgNode[prop][rank - 1];
var curr = util.addDummyNode(g, "border", label, prefix);
sgNode[prop][rank] = curr;
g.setParent(curr, sg);
if (prev) {
g.setEdge(prev, curr, { weight: 1 });
}
}
}
});
// node_modules/dagre/lib/coordinate-system.js
var require_coordinate_system = __commonJS({
"node_modules/dagre/lib/coordinate-system.js"(exports, module) {
"use strict";
var _ = require_lodash2();
module.exports = {
adjust,
undo
};
function adjust(g) {
var rankDir = g.graph().rankdir.toLowerCase();
if (rankDir === "lr" || rankDir === "rl") {
swapWidthHeight(g);
}
}
function undo(g) {
var rankDir = g.graph().rankdir.toLowerCase();
if (rankDir === "bt" || rankDir === "rl") {
reverseY(g);
}
if (rankDir === "lr" || rankDir === "rl") {
swapXY(g);
swapWidthHeight(g);
}
}
function swapWidthHeight(g) {
_.forEach(g.nodes(), function(v) {
swapWidthHeightOne(g.node(v));
});
_.forEach(g.edges(), function(e) {
swapWidthHeightOne(g.edge(e));
});
}
function swapWidthHeightOne(attrs) {
var w = attrs.width;
attrs.width = attrs.height;
attrs.height = w;
}
function reverseY(g) {
_.forEach(g.nodes(), function(v) {
reverseYOne(g.node(v));
});
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
_.forEach(edge.points, reverseYOne);
if (_.has(edge, "y")) {
reverseYOne(edge);
}
});
}
function reverseYOne(attrs) {
attrs.y = -attrs.y;
}
function swapXY(g) {
_.forEach(g.nodes(), function(v) {
swapXYOne(g.node(v));
});
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
_.forEach(edge.points, swapXYOne);
if (_.has(edge, "x")) {
swapXYOne(edge);
}
});
}
function swapXYOne(attrs) {
var x = attrs.x;
attrs.x = attrs.y;
attrs.y = x;
}
}
});
// node_modules/dagre/lib/order/init-order.js
var require_init_order = __commonJS({
"node_modules/dagre/lib/order/init-order.js"(exports, module) {
"use strict";
var _ = require_lodash2();
module.exports = initOrder;
function initOrder(g) {
var visited = {};
var simpleNodes = _.filter(g.nodes(), function(v) {
return !g.children(v).length;
});
var maxRank = _.max(_.map(simpleNodes, function(v) {
return g.node(v).rank;
}));
var layers = _.map(_.range(maxRank + 1), function() {
return [];
});
function dfs(v) {
if (_.has(visited, v)) return;
visited[v] = true;
var node = g.node(v);
layers[node.rank].push(v);
_.forEach(g.successors(v), dfs);
}
var orderedVs = _.sortBy(simpleNodes, function(v) {
return g.node(v).rank;
});
_.forEach(orderedVs, dfs);
return layers;
}
}
});
// node_modules/dagre/lib/order/cross-count.js
var require_cross_count = __commonJS({
"node_modules/dagre/lib/order/cross-count.js"(exports, module) {
"use strict";
var _ = require_lodash2();
module.exports = crossCount;
function crossCount(g, layering) {
var cc = 0;
for (var i = 1; i < layering.length; ++i) {
cc += twoLayerCrossCount(g, layering[i - 1], layering[i]);
}
return cc;
}
function twoLayerCrossCount(g, northLayer, southLayer) {
var southPos = _.zipObject(
southLayer,
_.map(southLayer, function(v, i) {
return i;
})
);
var southEntries = _.flatten(_.map(northLayer, function(v) {
return _.sortBy(_.map(g.outEdges(v), function(e) {
return { pos: southPos[e.w], weight: g.edge(e).weight };
}), "pos");
}), true);
var firstIndex = 1;
while (firstIndex < southLayer.length) firstIndex <<= 1;
var treeSize = 2 * firstIndex - 1;
firstIndex -= 1;
var tree = _.map(new Array(treeSize), function() {
return 0;
});
var cc = 0;
_.forEach(southEntries.forEach(function(entry) {
var index = entry.pos + firstIndex;
tree[index] += entry.weight;
var weightSum = 0;
while (index > 0) {
if (index % 2) {
weightSum += tree[index + 1];
}
index = index - 1 >> 1;
tree[index] += entry.weight;
}
cc += entry.weight * weightSum;
}));
return cc;
}
}
});
// node_modules/dagre/lib/order/barycenter.js
var require_barycenter = __commonJS({
"node_modules/dagre/lib/order/barycenter.js"(exports, module) {
var _ = require_lodash2();
module.exports = barycenter;
function barycenter(g, movable) {
return _.map(movable, function(v) {
var inV = g.inEdges(v);
if (!inV.length) {
return { v };
} else {
var result = _.reduce(inV, function(acc, e) {
var edge = g.edge(e), nodeU = g.node(e.v);
return {
sum: acc.sum + edge.weight * nodeU.order,
weight: acc.weight + edge.weight
};
}, { sum: 0, weight: 0 });
return {
v,
barycenter: result.sum / result.weight,
weight: result.weight
};
}
});
}
}
});
// node_modules/dagre/lib/order/resolve-conflicts.js
var require_resolve_conflicts = __commonJS({
"node_modules/dagre/lib/order/resolve-conflicts.js"(exports, module) {
"use strict";
var _ = require_lodash2();
module.exports = resolveConflicts;
function resolveConflicts(entries, cg) {
var mappedEntries = {};
_.forEach(entries, function(entry, i) {
var tmp = mappedEntries[entry.v] = {
indegree: 0,
"in": [],
out: [],
vs: [entry.v],
i
};
if (!_.isUndefined(entry.barycenter)) {
tmp.barycenter = entry.barycenter;
tmp.weight = entry.weight;
}
});
_.forEach(cg.edges(), function(e) {
var entryV = mappedEntries[e.v];
var entryW = mappedEntries[e.w];
if (!_.isUndefined(entryV) && !_.isUndefined(entryW)) {
entryW.indegree++;
entryV.out.push(mappedEntries[e.w]);
}
});
var sourceSet = _.filter(mappedEntries, function(entry) {
return !entry.indegree;
});
return doResolveConflicts(sourceSet);
}
function doResolveConflicts(sourceSet) {
var entries = [];
function handleIn(vEntry) {
return function(uEntry) {
if (uEntry.merged) {
return;
}
if (_.isUndefined(uEntry.barycenter) || _.isUndefined(vEntry.barycenter) || uEntry.barycenter >= vEntry.barycenter) {
mergeEntries(vEntry, uEntry);
}
};
}
function handleOut(vEntry) {
return function(wEntry) {
wEntry["in"].push(vEntry);
if (--wEntry.indegree === 0) {
sourceSet.push(wEntry);
}
};
}
while (sourceSet.length) {
var entry = sourceSet.pop();
entries.push(entry);
_.forEach(entry["in"].reverse(), handleIn(entry));
_.forEach(entry.out, handleOut(entry));
}
return _.map(
_.filter(entries, function(entry2) {
return !entry2.merged;
}),
function(entry2) {
return _.pick(entry2, ["vs", "i", "barycenter", "weight"]);
}
);
}
function mergeEntries(target, source) {
var sum = 0;
var weight = 0;
if (target.weight) {
sum += target.barycenter * target.weight;
weight += target.weight;
}
if (source.weight) {
sum += source.barycenter * source.weight;
weight += source.weight;
}
target.vs = source.vs.concat(target.vs);
target.barycenter = sum / weight;
target.weight = weight;
target.i = Math.min(source.i, target.i);
source.merged = true;
}
}
});
// node_modules/dagre/lib/order/sort.js
var require_sort = __commonJS({
"node_modules/dagre/lib/order/sort.js"(exports, module) {
var _ = require_lodash2();
var util = require_util();
module.exports = sort;
function sort(entries, biasRight) {
var parts = util.partition(entries, function(entry) {
return _.has(entry, "barycenter");
});
var sortable = parts.lhs, unsortable = _.sortBy(parts.rhs, function(entry) {
return -entry.i;
}), vs = [], sum = 0, weight = 0, vsIndex = 0;
sortable.sort(compareWithBias(!!biasRight));
vsIndex = consumeUnsortable(vs, unsortable, vsIndex);
_.forEach(sortable, function(entry) {
vsIndex += entry.vs.length;
vs.push(entry.vs);
sum += entry.barycenter * entry.weight;
weight += entry.weight;
vsIndex = consumeUnsortable(vs, unsortable, vsIndex);
});
var result = { vs: _.flatten(vs, true) };
if (weight) {
result.barycenter = sum / weight;
result.weight = weight;
}
return result;
}
function consumeUnsortable(vs, unsortable, index) {
var last;
while (unsortable.length && (last = _.last(unsortable)).i <= index) {
unsortable.pop();
vs.push(last.vs);
index++;
}
return index;
}
function compareWithBias(bias) {
return function(entryV, entryW) {
if (entryV.barycenter < entryW.barycenter) {
return -1;
} else if (entryV.barycenter > entryW.barycenter) {
return 1;
}
return !bias ? entryV.i - entryW.i : entryW.i - entryV.i;
};
}
}
});
// node_modules/dagre/lib/order/sort-subgraph.js
var require_sort_subgraph = __commonJS({
"node_modules/dagre/lib/order/sort-subgraph.js"(exports, module) {
var _ = require_lodash2();
var barycenter = require_barycenter();
var resolveConflicts = require_resolve_conflicts();
var sort = require_sort();
module.exports = sortSubgraph;
function sortSubgraph(g, v, cg, biasRight) {
var movable = g.children(v);
var node = g.node(v);
var bl = node ? node.borderLeft : void 0;
var br = node ? node.borderRight : void 0;
var subgraphs = {};
if (bl) {
movable = _.filter(movable, function(w) {
return w !== bl && w !== br;
});
}
var barycenters = barycenter(g, movable);
_.forEach(barycenters, function(entry) {
if (g.children(entry.v).length) {
var subgraphResult = sortSubgraph(g, entry.v, cg, biasRight);
subgraphs[entry.v] = subgraphResult;
if (_.has(subgraphResult, "barycenter")) {
mergeBarycenters(entry, subgraphResult);
}
}
});
var entries = resolveConflicts(barycenters, cg);
expandSubgraphs(entries, subgraphs);
var result = sort(entries, biasRight);
if (bl) {
result.vs = _.flatten([bl, result.vs, br], true);
if (g.predecessors(bl).length) {
var blPred = g.node(g.predecessors(bl)[0]), brPred = g.node(g.predecessors(br)[0]);
if (!_.has(result, "barycenter")) {
result.barycenter = 0;
result.weight = 0;
}
result.barycenter = (result.barycenter * result.weight + blPred.order + brPred.order) / (result.weight + 2);
result.weight += 2;
}
}
return result;
}
function expandSubgraphs(entries, subgraphs) {
_.forEach(entries, function(entry) {
entry.vs = _.flatten(entry.vs.map(function(v) {
if (subgraphs[v]) {
return subgraphs[v].vs;
}
return v;
}), true);
});
}
function mergeBarycenters(target, other) {
if (!_.isUndefined(target.barycenter)) {
target.barycenter = (target.barycenter * target.weight + other.barycenter * other.weight) / (target.weight + other.weight);
target.weight += other.weight;
} else {
target.barycenter = other.barycenter;
target.weight = other.weight;
}
}
}
});
// node_modules/dagre/lib/order/build-layer-graph.js
var require_build_layer_graph = __commonJS({
"node_modules/dagre/lib/order/build-layer-graph.js"(exports, module) {
var _ = require_lodash2();
var Graph = require_graphlib2().Graph;
module.exports = buildLayerGraph;
function buildLayerGraph(g, rank, relationship) {
var root = createRootNode(g), result = new Graph({ compound: true }).setGraph({ root }).setDefaultNodeLabel(function(v) {
return g.node(v);
});
_.forEach(g.nodes(), function(v) {
var node = g.node(v), parent = g.parent(v);
if (node.rank === rank || node.minRank <= rank && rank <= node.maxRank) {
result.setNode(v);
result.setParent(v, parent || root);
_.forEach(g[relationship](v), function(e) {
var u = e.v === v ? e.w : e.v, edge = result.edge(u, v), weight = !_.isUndefined(edge) ? edge.weight : 0;
result.setEdge(u, v, { weight: g.edge(e).weight + weight });
});
if (_.has(node, "minRank")) {
result.setNode(v, {
borderLeft: node.borderLeft[rank],
borderRight: node.borderRight[rank]
});
}
}
});
return result;
}
function createRootNode(g) {
var v;
while (g.hasNode(v = _.uniqueId("_root"))) ;
return v;
}
}
});
// node_modules/dagre/lib/order/add-subgraph-constraints.js
var require_add_subgraph_constraints = __commonJS({
"node_modules/dagre/lib/order/add-subgraph-constraints.js"(exports, module) {
var _ = require_lodash2();
module.exports = addSubgraphConstraints;
function addSubgraphConstraints(g, cg, vs) {
var prev = {}, rootPrev;
_.forEach(vs, function(v) {
var child = g.parent(v), parent, prevChild;
while (child) {
parent = g.parent(child);
if (parent) {
prevChild = prev[parent];
prev[parent] = child;
} else {
prevChild = rootPrev;
rootPrev = child;
}
if (prevChild && prevChild !== child) {
cg.setEdge(prevChild, child);
return;
}
child = parent;
}
});
}
}
});
// node_modules/dagre/lib/order/index.js
var require_order = __commonJS({
"node_modules/dagre/lib/order/index.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var initOrder = require_init_order();
var crossCount = require_cross_count();
var sortSubgraph = require_sort_subgraph();
var buildLayerGraph = require_build_layer_graph();
var addSubgraphConstraints = require_add_subgraph_constraints();
var Graph = require_graphlib2().Graph;
var util = require_util();
module.exports = order;
function order(g) {
var maxRank = util.maxRank(g), downLayerGraphs = buildLayerGraphs(g, _.range(1, maxRank + 1), "inEdges"), upLayerGraphs = buildLayerGraphs(g, _.range(maxRank - 1, -1, -1), "outEdges");
var layering = initOrder(g);
assignOrder(g, layering);
var bestCC = Number.POSITIVE_INFINITY, best;
for (var i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) {
sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2);
layering = util.buildLayerMatrix(g);
var cc = crossCount(g, layering);
if (cc < bestCC) {
lastBest = 0;
best = _.cloneDeep(layering);
bestCC = cc;
}
}
assignOrder(g, best);
}
function buildLayerGraphs(g, ranks, relationship) {
return _.map(ranks, function(rank) {
return buildLayerGraph(g, rank, relationship);
});
}
function sweepLayerGraphs(layerGraphs, biasRight) {
var cg = new Graph();
_.forEach(layerGraphs, function(lg) {
var root = lg.graph().root;
var sorted = sortSubgraph(lg, root, cg, biasRight);
_.forEach(sorted.vs, function(v, i) {
lg.node(v).order = i;
});
addSubgraphConstraints(lg, cg, sorted.vs);
});
}
function assignOrder(g, layering) {
_.forEach(layering, function(layer) {
_.forEach(layer, function(v, i) {
g.node(v).order = i;
});
});
}
}
});
// node_modules/dagre/lib/position/bk.js
var require_bk = __commonJS({
"node_modules/dagre/lib/position/bk.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var Graph = require_graphlib2().Graph;
var util = require_util();
module.exports = {
positionX,
findType1Conflicts,
findType2Conflicts,
addConflict,
hasConflict,
verticalAlignment,
horizontalCompaction,
alignCoordinates,
findSmallestWidthAlignment,
balance
};
function findType1Conflicts(g, layering) {
var conflicts = {};
function visitLayer(prevLayer, layer) {
var k0 = 0, scanPos = 0, prevLayerLength = prevLayer.length, lastNode = _.last(layer);
_.forEach(layer, function(v, i) {
var w = findOtherInnerSegmentNode(g, v), k1 = w ? g.node(w).order : prevLayerLength;
if (w || v === lastNode) {
_.forEach(layer.slice(scanPos, i + 1), function(scanNode) {
_.forEach(g.predecessors(scanNode), function(u) {
var uLabel = g.node(u), uPos = uLabel.order;
if ((uPos < k0 || k1 < uPos) && !(uLabel.dummy && g.node(scanNode).dummy)) {
addConflict(conflicts, u, scanNode);
}
});
});
scanPos = i + 1;
k0 = k1;
}
});
return layer;
}
_.reduce(layering, visitLayer);
return conflicts;
}
function findType2Conflicts(g, layering) {
var conflicts = {};
function scan(south, southPos, southEnd, prevNorthBorder, nextNorthBorder) {
var v;
_.forEach(_.range(southPos, southEnd), function(i) {
v = south[i];
if (g.node(v).dummy) {
_.forEach(g.predecessors(v), function(u) {
var uNode = g.node(u);
if (uNode.dummy && (uNode.order < prevNorthBorder || uNode.order > nextNorthBorder)) {
addConflict(conflicts, u, v);
}
});
}
});
}
function visitLayer(north, south) {
var prevNorthPos = -1, nextNorthPos, southPos = 0;
_.forEach(south, function(v, southLookahead) {
if (g.node(v).dummy === "border") {
var predecessors = g.predecessors(v);
if (predecessors.length) {
nextNorthPos = g.node(predecessors[0]).order;
scan(south, southPos, southLookahead, prevNorthPos, nextNorthPos);
southPos = southLookahead;
prevNorthPos = nextNorthPos;
}
}
scan(south, southPos, south.length, nextNorthPos, north.length);
});
return south;
}
_.reduce(layering, visitLayer);
return conflicts;
}
function findOtherInnerSegmentNode(g, v) {
if (g.node(v).dummy) {
return _.find(g.predecessors(v), function(u) {
return g.node(u).dummy;
});
}
}
function addConflict(conflicts, v, w) {
if (v > w) {
var tmp = v;
v = w;
w = tmp;
}
var conflictsV = conflicts[v];
if (!conflictsV) {
conflicts[v] = conflictsV = {};
}
conflictsV[w] = true;
}
function hasConflict(conflicts, v, w) {
if (v > w) {
var tmp = v;
v = w;
w = tmp;
}
return _.has(conflicts[v], w);
}
function verticalAlignment(g, layering, conflicts, neighborFn) {
var root = {}, align = {}, pos = {};
_.forEach(layering, function(layer) {
_.forEach(layer, function(v, order) {
root[v] = v;
align[v] = v;
pos[v] = order;
});
});
_.forEach(layering, function(layer) {
var prevIdx = -1;
_.forEach(layer, function(v) {
var ws = neighborFn(v);
if (ws.length) {
ws = _.sortBy(ws, function(w2) {
return pos[w2];
});
var mp = (ws.length - 1) / 2;
for (var i = Math.floor(mp), il = Math.ceil(mp); i <= il; ++i) {
var w = ws[i];
if (align[v] === v && prevIdx < pos[w] && !hasConflict(conflicts, v, w)) {
align[w] = v;
align[v] = root[v] = root[w];
prevIdx = pos[w];
}
}
}
});
});
return { root, align };
}
function horizontalCompaction(g, layering, root, align, reverseSep) {
var xs = {}, blockG = buildBlockGraph(g, layering, root, reverseSep), borderType = reverseSep ? "borderLeft" : "borderRight";
function iterate(setXsFunc, nextNodesFunc) {
var stack = blockG.nodes();
var elem = stack.pop();
var visited = {};
while (elem) {
if (visited[elem]) {
setXsFunc(elem);
} else {
visited[elem] = true;
stack.push(elem);
stack = stack.concat(nextNodesFunc(elem));
}
elem = stack.pop();
}
}
function pass1(elem) {
xs[elem] = blockG.inEdges(elem).reduce(function(acc, e) {
return Math.max(acc, xs[e.v] + blockG.edge(e));
}, 0);
}
function pass2(elem) {
var min = blockG.outEdges(elem).reduce(function(acc, e) {
return Math.min(acc, xs[e.w] - blockG.edge(e));
}, Number.POSITIVE_INFINITY);
var node = g.node(elem);
if (min !== Number.POSITIVE_INFINITY && node.borderType !== borderType) {
xs[elem] = Math.max(xs[elem], min);
}
}
iterate(pass1, blockG.predecessors.bind(blockG));
iterate(pass2, blockG.successors.bind(blockG));
_.forEach(align, function(v) {
xs[v] = xs[root[v]];
});
return xs;
}
function buildBlockGraph(g, layering, root, reverseSep) {
var blockGraph = new Graph(), graphLabel = g.graph(), sepFn = sep(graphLabel.nodesep, graphLabel.edgesep, reverseSep);
_.forEach(layering, function(layer) {
var u;
_.forEach(layer, function(v) {
var vRoot = root[v];
blockGraph.setNode(vRoot);
if (u) {
var uRoot = root[u], prevMax = blockGraph.edge(uRoot, vRoot);
blockGraph.setEdge(uRoot, vRoot, Math.max(sepFn(g, v, u), prevMax || 0));
}
u = v;
});
});
return blockGraph;
}
function findSmallestWidthAlignment(g, xss) {
return _.minBy(_.values(xss), function(xs) {
var max = Number.NEGATIVE_INFINITY;
var min = Number.POSITIVE_INFINITY;
_.forIn(xs, function(x, v) {
var halfWidth = width(g, v) / 2;
max = Math.max(x + halfWidth, max);
min = Math.min(x - halfWidth, min);
});
return max - min;
});
}
function alignCoordinates(xss, alignTo) {
var alignToVals = _.values(alignTo), alignToMin = _.min(alignToVals), alignToMax = _.max(alignToVals);
_.forEach(["u", "d"], function(vert) {
_.forEach(["l", "r"], function(horiz) {
var alignment = vert + horiz, xs = xss[alignment], delta;
if (xs === alignTo) return;
var xsVals = _.values(xs);
delta = horiz === "l" ? alignToMin - _.min(xsVals) : alignToMax - _.max(xsVals);
if (delta) {
xss[alignment] = _.mapValues(xs, function(x) {
return x + delta;
});
}
});
});
}
function balance(xss, align) {
return _.mapValues(xss.ul, function(ignore, v) {
if (align) {
return xss[align.toLowerCase()][v];
} else {
var xs = _.sortBy(_.map(xss, v));
return (xs[1] + xs[2]) / 2;
}
});
}
function positionX(g) {
var layering = util.buildLayerMatrix(g);
var conflicts = _.merge(
findType1Conflicts(g, layering),
findType2Conflicts(g, layering)
);
var xss = {};
var adjustedLayering;
_.forEach(["u", "d"], function(vert) {
adjustedLayering = vert === "u" ? layering : _.values(layering).reverse();
_.forEach(["l", "r"], function(horiz) {
if (horiz === "r") {
adjustedLayering = _.map(adjustedLayering, function(inner) {
return _.values(inner).reverse();
});
}
var neighborFn = (vert === "u" ? g.predecessors : g.successors).bind(g);
var align = verticalAlignment(g, adjustedLayering, conflicts, neighborFn);
var xs = horizontalCompaction(
g,
adjustedLayering,
align.root,
align.align,
horiz === "r"
);
if (horiz === "r") {
xs = _.mapValues(xs, function(x) {
return -x;
});
}
xss[vert + horiz] = xs;
});
});
var smallestWidth = findSmallestWidthAlignment(g, xss);
alignCoordinates(xss, smallestWidth);
return balance(xss, g.graph().align);
}
function sep(nodeSep, edgeSep, reverseSep) {
return function(g, v, w) {
var vLabel = g.node(v);
var wLabel = g.node(w);
var sum = 0;
var delta;
sum += vLabel.width / 2;
if (_.has(vLabel, "labelpos")) {
switch (vLabel.labelpos.toLowerCase()) {
case "l":
delta = -vLabel.width / 2;
break;
case "r":
delta = vLabel.width / 2;
break;
}
}
if (delta) {
sum += reverseSep ? delta : -delta;
}
delta = 0;
sum += (vLabel.dummy ? edgeSep : nodeSep) / 2;
sum += (wLabel.dummy ? edgeSep : nodeSep) / 2;
sum += wLabel.width / 2;
if (_.has(wLabel, "labelpos")) {
switch (wLabel.labelpos.toLowerCase()) {
case "l":
delta = wLabel.width / 2;
break;
case "r":
delta = -wLabel.width / 2;
break;
}
}
if (delta) {
sum += reverseSep ? delta : -delta;
}
delta = 0;
return sum;
};
}
function width(g, v) {
return g.node(v).width;
}
}
});
// node_modules/dagre/lib/position/index.js
var require_position = __commonJS({
"node_modules/dagre/lib/position/index.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var util = require_util();
var positionX = require_bk().positionX;
module.exports = position;
function position(g) {
g = util.asNonCompoundGraph(g);
positionY(g);
_.forEach(positionX(g), function(x, v) {
g.node(v).x = x;
});
}
function positionY(g) {
var layering = util.buildLayerMatrix(g);
var rankSep = g.graph().ranksep;
var prevY = 0;
_.forEach(layering, function(layer) {
var maxHeight = _.max(_.map(layer, function(v) {
return g.node(v).height;
}));
_.forEach(layer, function(v) {
g.node(v).y = prevY + maxHeight / 2;
});
prevY += maxHeight + rankSep;
});
}
}
});
// node_modules/dagre/lib/layout.js
var require_layout = __commonJS({
"node_modules/dagre/lib/layout.js"(exports, module) {
"use strict";
var _ = require_lodash2();
var acyclic = require_acyclic();
var normalize = require_normalize();
var rank = require_rank();
var normalizeRanks = require_util().normalizeRanks;
var parentDummyChains = require_parent_dummy_chains();
var removeEmptyRanks = require_util().removeEmptyRanks;
var nestingGraph = require_nesting_graph();
var addBorderSegments = require_add_border_segments();
var coordinateSystem = require_coordinate_system();
var order = require_order();
var position = require_position();
var util = require_util();
var Graph = require_graphlib2().Graph;
module.exports = layout;
function layout(g, opts) {
var time = opts && opts.debugTiming ? util.time : util.notime;
time("layout", function() {
var layoutGraph = time(" buildLayoutGraph", function() {
return buildLayoutGraph(g);
});
time(" runLayout", function() {
runLayout(layoutGraph, time);
});
time(" updateInputGraph", function() {
updateInputGraph(g, layoutGraph);
});
});
}
function runLayout(g, time) {
time(" makeSpaceForEdgeLabels", function() {
makeSpaceForEdgeLabels(g);
});
time(" removeSelfEdges", function() {
removeSelfEdges(g);
});
time(" acyclic", function() {
acyclic.run(g);
});
time(" nestingGraph.run", function() {
nestingGraph.run(g);
});
time(" rank", function() {
rank(util.asNonCompoundGraph(g));
});
time(" injectEdgeLabelProxies", function() {
injectEdgeLabelProxies(g);
});
time(" removeEmptyRanks", function() {
removeEmptyRanks(g);
});
time(" nestingGraph.cleanup", function() {
nestingGraph.cleanup(g);
});
time(" normalizeRanks", function() {
normalizeRanks(g);
});
time(" assignRankMinMax", function() {
assignRankMinMax(g);
});
time(" removeEdgeLabelProxies", function() {
removeEdgeLabelProxies(g);
});
time(" normalize.run", function() {
normalize.run(g);
});
time(" parentDummyChains", function() {
parentDummyChains(g);
});
time(" addBorderSegments", function() {
addBorderSegments(g);
});
time(" order", function() {
order(g);
});
time(" insertSelfEdges", function() {
insertSelfEdges(g);
});
time(" adjustCoordinateSystem", function() {
coordinateSystem.adjust(g);
});
time(" position", function() {
position(g);
});
time(" positionSelfEdges", function() {
positionSelfEdges(g);
});
time(" removeBorderNodes", function() {
removeBorderNodes(g);
});
time(" normalize.undo", function() {
normalize.undo(g);
});
time(" fixupEdgeLabelCoords", function() {
fixupEdgeLabelCoords(g);
});
time(" undoCoordinateSystem", function() {
coordinateSystem.undo(g);
});
time(" translateGraph", function() {
translateGraph(g);
});
time(" assignNodeIntersects", function() {
assignNodeIntersects(g);
});
time(" reversePoints", function() {
reversePointsForReversedEdges(g);
});
time(" acyclic.undo", function() {
acyclic.undo(g);
});
}
function updateInputGraph(inputGraph, layoutGraph) {
_.forEach(inputGraph.nodes(), function(v) {
var inputLabel = inputGraph.node(v);
var layoutLabel = layoutGraph.node(v);
if (inputLabel) {
inputLabel.x = layoutLabel.x;
inputLabel.y = layoutLabel.y;
if (layoutGraph.children(v).length) {
inputLabel.width = layoutLabel.width;
inputLabel.height = layoutLabel.height;
}
}
});
_.forEach(inputGraph.edges(), function(e) {
var inputLabel = inputGraph.edge(e);
var layoutLabel = layoutGraph.edge(e);
inputLabel.points = layoutLabel.points;
if (_.has(layoutLabel, "x")) {
inputLabel.x = layoutLabel.x;
inputLabel.y = layoutLabel.y;
}
});
inputGraph.graph().width = layoutGraph.graph().width;
inputGraph.graph().height = layoutGraph.graph().height;
}
var graphNumAttrs = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"];
var graphDefaults = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" };
var graphAttrs = ["acyclicer", "ranker", "rankdir", "align"];
var nodeNumAttrs = ["width", "height"];
var nodeDefaults = { width: 0, height: 0 };
var edgeNumAttrs = ["minlen", "weight", "width", "height", "labeloffset"];
var edgeDefaults = {
minlen: 1,
weight: 1,
width: 0,
height: 0,
labeloffset: 10,
labelpos: "r"
};
var edgeAttrs = ["labelpos"];
function buildLayoutGraph(inputGraph) {
var g = new Graph({ multigraph: true, compound: true });
var graph = canonicalize(inputGraph.graph());
g.setGraph(_.merge(
{},
graphDefaults,
selectNumberAttrs(graph, graphNumAttrs),
_.pick(graph, graphAttrs)
));
_.forEach(inputGraph.nodes(), function(v) {
var node = canonicalize(inputGraph.node(v));
g.setNode(v, _.defaults(selectNumberAttrs(node, nodeNumAttrs), nodeDefaults));
g.setParent(v, inputGraph.parent(v));
});
_.forEach(inputGraph.edges(), function(e) {
var edge = canonicalize(inputGraph.edge(e));
g.setEdge(e, _.merge(
{},
edgeDefaults,
selectNumberAttrs(edge, edgeNumAttrs),
_.pick(edge, edgeAttrs)
));
});
return g;
}
function makeSpaceForEdgeLabels(g) {
var graph = g.graph();
graph.ranksep /= 2;
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
edge.minlen *= 2;
if (edge.labelpos.toLowerCase() !== "c") {
if (graph.rankdir === "TB" || graph.rankdir === "BT") {
edge.width += edge.labeloffset;
} else {
edge.height += edge.labeloffset;
}
}
});
}
function injectEdgeLabelProxies(g) {
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
if (edge.width && edge.height) {
var v = g.node(e.v);
var w = g.node(e.w);
var label = { rank: (w.rank - v.rank) / 2 + v.rank, e };
util.addDummyNode(g, "edge-proxy", label, "_ep");
}
});
}
function assignRankMinMax(g) {
var maxRank = 0;
_.forEach(g.nodes(), function(v) {
var node = g.node(v);
if (node.borderTop) {
node.minRank = g.node(node.borderTop).rank;
node.maxRank = g.node(node.borderBottom).rank;
maxRank = _.max(maxRank, node.maxRank);
}
});
g.graph().maxRank = maxRank;
}
function removeEdgeLabelProxies(g) {
_.forEach(g.nodes(), function(v) {
var node = g.node(v);
if (node.dummy === "edge-proxy") {
g.edge(node.e).labelRank = node.rank;
g.removeNode(v);
}
});
}
function translateGraph(g) {
var minX = Number.POSITIVE_INFINITY;
var maxX = 0;
var minY = Number.POSITIVE_INFINITY;
var maxY = 0;
var graphLabel = g.graph();
var marginX = graphLabel.marginx || 0;
var marginY = graphLabel.marginy || 0;
function getExtremes(attrs) {
var x = attrs.x;
var y = attrs.y;
var w = attrs.width;
var h = attrs.height;
minX = Math.min(minX, x - w / 2);
maxX = Math.max(maxX, x + w / 2);
minY = Math.min(minY, y - h / 2);
maxY = Math.max(maxY, y + h / 2);
}
_.forEach(g.nodes(), function(v) {
getExtremes(g.node(v));
});
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
if (_.has(edge, "x")) {
getExtremes(edge);
}
});
minX -= marginX;
minY -= marginY;
_.forEach(g.nodes(), function(v) {
var node = g.node(v);
node.x -= minX;
node.y -= minY;
});
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
_.forEach(edge.points, function(p) {
p.x -= minX;
p.y -= minY;
});
if (_.has(edge, "x")) {
edge.x -= minX;
}
if (_.has(edge, "y")) {
edge.y -= minY;
}
});
graphLabel.width = maxX - minX + marginX;
graphLabel.height = maxY - minY + marginY;
}
function assignNodeIntersects(g) {
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
var nodeV = g.node(e.v);
var nodeW = g.node(e.w);
var p1, p2;
if (!edge.points) {
edge.points = [];
p1 = nodeW;
p2 = nodeV;
} else {
p1 = edge.points[0];
p2 = edge.points[edge.points.length - 1];
}
edge.points.unshift(util.intersectRect(nodeV, p1));
edge.points.push(util.intersectRect(nodeW, p2));
});
}
function fixupEdgeLabelCoords(g) {
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
if (_.has(edge, "x")) {
if (edge.labelpos === "l" || edge.labelpos === "r") {
edge.width -= edge.labeloffset;
}
switch (edge.labelpos) {
case "l":
edge.x -= edge.width / 2 + edge.labeloffset;
break;
case "r":
edge.x += edge.width / 2 + edge.labeloffset;
break;
}
}
});
}
function reversePointsForReversedEdges(g) {
_.forEach(g.edges(), function(e) {
var edge = g.edge(e);
if (edge.reversed) {
edge.points.reverse();
}
});
}
function removeBorderNodes(g) {
_.forEach(g.nodes(), function(v) {
if (g.children(v).length) {
var node = g.node(v);
var t = g.node(node.borderTop);
var b = g.node(node.borderBottom);
var l = g.node(_.last(node.borderLeft));
var r = g.node(_.last(node.borderRight));
node.width = Math.abs(r.x - l.x);
node.height = Math.abs(b.y - t.y);
node.x = l.x + node.width / 2;
node.y = t.y + node.height / 2;
}
});
_.forEach(g.nodes(), function(v) {
if (g.node(v).dummy === "border") {
g.removeNode(v);
}
});
}
function removeSelfEdges(g) {
_.forEach(g.edges(), function(e) {
if (e.v === e.w) {
var node = g.node(e.v);
if (!node.selfEdges) {
node.selfEdges = [];
}
node.selfEdges.push({ e, label: g.edge(e) });
g.removeEdge(e);
}
});
}
function insertSelfEdges(g) {
var layers = util.buildLayerMatrix(g);
_.forEach(layers, function(layer) {
var orderShift = 0;
_.forEach(layer, function(v, i) {
var node = g.node(v);
node.order = i + orderShift;
_.forEach(node.selfEdges, function(selfEdge) {
util.addDummyNode(g, "selfedge", {
width: selfEdge.label.width,
height: selfEdge.label.height,
rank: node.rank,
order: i + ++orderShift,
e: selfEdge.e,
label: selfEdge.label
}, "_se");
});
delete node.selfEdges;
});
});
}
function positionSelfEdges(g) {
_.forEach(g.nodes(), function(v) {
var node = g.node(v);
if (node.dummy === "selfedge") {
var selfNode = g.node(node.e.v);
var x = selfNode.x + selfNode.width / 2;
var y = selfNode.y;
var dx = node.x - x;
var dy = selfNode.height / 2;
g.setEdge(node.e, node.label);
g.removeNode(v);
node.label.points = [
{ x: x + 2 * dx / 3, y: y - dy },
{ x: x + 5 * dx / 6, y: y - dy },
{ x: x + dx, y },
{ x: x + 5 * dx / 6, y: y + dy },
{ x: x + 2 * dx / 3, y: y + dy }
];
node.label.x = node.x;
node.label.y = node.y;
}
});
}
function selectNumberAttrs(obj, attrs) {
return _.mapValues(_.pick(obj, attrs), Number);
}
function canonicalize(attrs) {
var newAttrs = {};
_.forEach(attrs, function(v, k) {
newAttrs[k.toLowerCase()] = v;
});
return newAttrs;
}
}
});
// node_modules/dagre/lib/debug.js
var require_debug = __commonJS({
"node_modules/dagre/lib/debug.js"(exports, module) {
var _ = require_lodash2();
var util = require_util();
var Graph = require_graphlib2().Graph;
module.exports = {
debugOrdering
};
function debugOrdering(g) {
var layerMatrix = util.buildLayerMatrix(g);
var h = new Graph({ compound: true, multigraph: true }).setGraph({});
_.forEach(g.nodes(), function(v) {
h.setNode(v, { label: v });
h.setParent(v, "layer" + g.node(v).rank);
});
_.forEach(g.edges(), function(e) {
h.setEdge(e.v, e.w, {}, e.name);
});
_.forEach(layerMatrix, function(layer, i) {
var layerV = "layer" + i;
h.setNode(layerV, { rank: "same" });
_.reduce(layer, function(u, v) {
h.setEdge(u, v, { style: "invis" });
return v;
});
});
return h;
}
}
});
// node_modules/dagre/lib/version.js
var require_version2 = __commonJS({
"node_modules/dagre/lib/version.js"(exports, module) {
module.exports = "0.8.5";
}
});
// node_modules/dagre/index.js
var require_dagre = __commonJS({
"node_modules/dagre/index.js"(exports, module) {
module.exports = {
graphlib: require_graphlib2(),
layout: require_layout(),
debug: require_debug(),
util: {
time: require_util().time,
notime: require_util().notime
},
version: require_version2()
};
}
});
export default require_dagre();
//# sourceMappingURL=dagre.js.map