diff --git a/README.md b/README.md
index ea84972..7ce21a9 100644
--- a/README.md
+++ b/README.md
@@ -60,6 +60,11 @@ The following APIs need to be implemented in your browser:
In addition to the APIs mentioned above:
- [MediaDevices](http://caniuse.com/#feat=stream)
+__Important:__ Accessing `getUserMedia` requires a secure origin in most
+browsers, meaning that `http://` can only be used on `localhost`. All other
+hostnames need to be served via `https://`. You can find more information in the
+[Chrome M47 WebRTC Release Notes](https://groups.google.com/forum/#!topic/discuss-webrtc/sq5CVmY69sc).
+
## Installing
QuaggaJS can be installed using __npm__, __bower__, or by including it with
diff --git a/dist/quagga.js b/dist/quagga.js
index e104478..b276391 100644
--- a/dist/quagga.js
+++ b/dist/quagga.js
@@ -45,7 +45,7 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ __webpack_require__.p = "/";
/******/
/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = 222);
+/******/ return __webpack_require__(__webpack_require__.s = 214);
/******/ })
/************************************************************************/
/******/ ([
@@ -135,7 +135,7 @@ return /******/ (function(modules) { // webpackBootstrap
/**
* Browser detector.
*
- * @return {object} result containing browser, version and minVersion
+ * @return {object} result containing browser and version
* properties.
*/
detectBrowser: function() {
@@ -143,7 +143,6 @@ return /******/ (function(modules) { // webpackBootstrap
var result = {};
result.browser = null;
result.version = null;
- result.minVersion = null;
// Fail early if it's not a browser
if (typeof window === 'undefined' || !window.navigator) {
@@ -156,7 +155,6 @@ return /******/ (function(modules) { // webpackBootstrap
result.browser = 'firefox';
result.version = this.extractVersion(navigator.userAgent,
/Firefox\/([0-9]+)\./, 1);
- result.minVersion = 31;
// all webkit-based browsers
} else if (navigator.webkitGetUserMedia) {
@@ -165,7 +163,6 @@ return /******/ (function(modules) { // webpackBootstrap
result.browser = 'chrome';
result.version = this.extractVersion(navigator.userAgent,
/Chrom(e|ium)\/([0-9]+)\./, 2);
- result.minVersion = 38;
// Safari or unknown webkit-based
// for the time being Safari has support for MediaStreams but not webRTC
@@ -185,7 +182,6 @@ return /******/ (function(modules) { // webpackBootstrap
result.browser = 'safari';
result.version = this.extractVersion(navigator.userAgent,
/AppleWebKit\/([0-9]+)\./, 1);
- result.minVersion = 602;
// unknown webkit-based browser
} else {
@@ -201,7 +197,6 @@ return /******/ (function(modules) { // webpackBootstrap
result.browser = 'edge';
result.version = this.extractVersion(navigator.userAgent,
/Edge\/(\d+).(\d+)$/, 2);
- result.minVersion = 10547;
// Default fallthrough: not supported.
} else {
@@ -209,13 +204,6 @@ return /******/ (function(modules) { // webpackBootstrap
return result;
}
- // Warn if version is less than minVersion.
- if (result.version < result.minVersion) {
- utils.log('Browser: ' + result.browser + ' Version: ' + result.version +
- ' < minimum supported version: ' + result.minVersion +
- '\n some things might not work!');
- }
-
return result;
}
};
@@ -270,7 +258,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* 3 */
/***/ function(module, exports, __webpack_require__) {
- var freeGlobal = __webpack_require__(68);
+ var freeGlobal = __webpack_require__(63);
/** Detect free variable `self`. */
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
@@ -285,10 +273,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* 4 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(7);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
@@ -662,8 +650,8 @@ return /******/ (function(modules) { // webpackBootstrap
/* 5 */
/***/ function(module, exports, __webpack_require__) {
- var baseIsNative = __webpack_require__(138),
- getValue = __webpack_require__(165);
+ var baseIsNative = __webpack_require__(129),
+ getValue = __webpack_require__(158);
/**
* Gets the native function at `key` of `object`.
@@ -683,78 +671,6 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 6 */
-/***/ function(module, exports, __webpack_require__) {
-
- var isSymbol = __webpack_require__(42);
-
- /** Used as references for various `Number` constants. */
- var INFINITY = 1 / 0;
-
- /**
- * Converts `value` to a string key if it's not a string or symbol.
- *
- * @private
- * @param {*} value The value to inspect.
- * @returns {string|symbol} Returns the key.
- */
- function toKey(value) {
- if (typeof value == 'string' || isSymbol(value)) {
- return value;
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
- }
-
- module.e = toKey;
-
-
-/***/ },
-/* 7 */
-/***/ function(module, exports, __webpack_require__) {
-
- var baseMerge = __webpack_require__(143),
- createAssigner = __webpack_require__(159);
-
- /**
- * This method is like `_.assign` except that it recursively merges own and
- * inherited enumerable string keyed properties of source objects into the
- * destination object. Source properties that resolve to `undefined` are
- * skipped if a destination value exists. Array and plain object properties
- * are merged recursively. Other objects and value types are overridden by
- * assignment. Source objects are applied from left to right. Subsequent
- * sources overwrite property assignments of previous sources.
- *
- * **Note:** This method mutates `object`.
- *
- * @static
- * @memberOf _
- * @since 0.5.0
- * @category Object
- * @param {Object} object The destination object.
- * @param {...Object} [sources] The source objects.
- * @returns {Object} Returns `object`.
- * @example
- *
- * var object = {
- * 'a': [{ 'b': 2 }, { 'd': 4 }]
- * };
- *
- * var other = {
- * 'a': [{ 'c': 3 }, { 'e': 5 }]
- * };
- *
- * _.merge(object, other);
- * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
- */
- var merge = createAssigner(function(object, source, srcIndex) {
- baseMerge(object, source, srcIndex);
- });
-
- module.e = merge;
-
-
-/***/ },
-/* 8 */
/***/ function(module, exports, __webpack_require__) {
/* harmony default export */ exports["a"] = {
@@ -800,7 +716,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 9 */
+/* 7 */
/***/ function(module, exports, __webpack_require__) {
function BarcodeReader(config, supplements) {
@@ -1021,7 +937,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = BarcodeReader;
/***/ },
-/* 10 */
+/* 8 */
/***/ function(module, exports, __webpack_require__) {
module.e = clone
@@ -1040,7 +956,34 @@ return /******/ (function(modules) { // webpackBootstrap
}
/***/ },
-/* 11 */
+/* 9 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var isSymbol = __webpack_require__(40);
+
+ /** Used as references for various `Number` constants. */
+ var INFINITY = 1 / 0;
+
+ /**
+ * Converts `value` to a string key if it's not a string or symbol.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {string|symbol} Returns the key.
+ */
+ function toKey(value) {
+ if (typeof value == 'string' || isSymbol(value)) {
+ return value;
+ }
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
+ }
+
+ module.e = toKey;
+
+
+/***/ },
+/* 10 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -1083,10 +1026,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 12 */
+/* 11 */
/***/ function(module, exports, __webpack_require__) {
- var isArrayLikeObject = __webpack_require__(76);
+ var isArrayLikeObject = __webpack_require__(70);
/** `Object#toString` result references. */
var argsTag = '[object Arguments]';
@@ -1135,11 +1078,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 13 */
+/* 12 */
/***/ function(module, exports, __webpack_require__) {
- var isFunction = __webpack_require__(40),
- isLength = __webpack_require__(41);
+ var isFunction = __webpack_require__(38),
+ isLength = __webpack_require__(39);
/**
* Checks if `value` is array-like. A value is considered array-like if it's
@@ -1174,7 +1117,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 14 */
+/* 13 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -1209,12 +1152,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 15 */
+/* 14 */
/***/ function(module, exports, __webpack_require__) {
- var arrayLikeKeys = __webpack_require__(52),
- baseKeys = __webpack_require__(140),
- isArrayLike = __webpack_require__(13);
+ var arrayLikeKeys = __webpack_require__(49),
+ baseKeys = __webpack_require__(131),
+ isArrayLike = __webpack_require__(12);
/**
* Creates an array of the own enumerable property names of `object`.
@@ -1251,6 +1194,51 @@ return /******/ (function(modules) { // webpackBootstrap
module.e = keys;
+/***/ },
+/* 15 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var baseMerge = __webpack_require__(134),
+ createAssigner = __webpack_require__(151);
+
+ /**
+ * This method is like `_.assign` except that it recursively merges own and
+ * inherited enumerable string keyed properties of source objects into the
+ * destination object. Source properties that resolve to `undefined` are
+ * skipped if a destination value exists. Array and plain object properties
+ * are merged recursively. Other objects and value types are overridden by
+ * assignment. Source objects are applied from left to right. Subsequent
+ * sources overwrite property assignments of previous sources.
+ *
+ * **Note:** This method mutates `object`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.5.0
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var object = {
+ * 'a': [{ 'b': 2 }, { 'd': 4 }]
+ * };
+ *
+ * var other = {
+ * 'a': [{ 'c': 3 }, { 'e': 5 }]
+ * };
+ *
+ * _.merge(object, other);
+ * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
+ */
+ var merge = createAssigner(function(object, source, srcIndex) {
+ baseMerge(object, source, srcIndex);
+ });
+
+ module.e = merge;
+
+
/***/ },
/* 16 */
/***/ function(module, exports, __webpack_require__) {
@@ -1347,11 +1335,11 @@ return /******/ (function(modules) { // webpackBootstrap
/* 17 */
/***/ function(module, exports, __webpack_require__) {
- var listCacheClear = __webpack_require__(179),
- listCacheDelete = __webpack_require__(180),
- listCacheGet = __webpack_require__(181),
- listCacheHas = __webpack_require__(182),
- listCacheSet = __webpack_require__(183);
+ var listCacheClear = __webpack_require__(172),
+ listCacheDelete = __webpack_require__(173),
+ listCacheGet = __webpack_require__(174),
+ listCacheHas = __webpack_require__(175),
+ listCacheSet = __webpack_require__(176);
/**
* Creates an list cache object.
@@ -1386,11 +1374,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ function(module, exports, __webpack_require__) {
var ListCache = __webpack_require__(17),
- stackClear = __webpack_require__(193),
- stackDelete = __webpack_require__(194),
- stackGet = __webpack_require__(195),
- stackHas = __webpack_require__(196),
- stackSet = __webpack_require__(197);
+ stackClear = __webpack_require__(186),
+ stackDelete = __webpack_require__(187),
+ stackGet = __webpack_require__(188),
+ stackHas = __webpack_require__(189),
+ stackSet = __webpack_require__(190);
/**
* Creates a stack cache object to store key-value pairs.
@@ -1429,7 +1417,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* 20 */
/***/ function(module, exports, __webpack_require__) {
- var eq = __webpack_require__(11);
+ var eq = __webpack_require__(10);
/**
* Gets the index at which the `key` is found in `array` of key-value pairs.
@@ -1456,7 +1444,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* 21 */
/***/ function(module, exports, __webpack_require__) {
- var isKeyable = __webpack_require__(177);
+ var isKeyable = __webpack_require__(170);
/**
* Gets the data for `map`.
@@ -1507,7 +1495,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ function(module, exports, __webpack_require__) {
var isArray = __webpack_require__(0),
- isSymbol = __webpack_require__(42);
+ isSymbol = __webpack_require__(40);
/** Used to match property names within property paths. */
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
@@ -1577,15 +1565,15 @@ return /******/ (function(modules) { // webpackBootstrap
/* 26 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cluster__ = __webpack_require__(83);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cluster__ = __webpack_require__(77);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array_helper__ = __webpack_require__(16);
/* harmony export */ exports["f"] = imageRef;/* unused harmony export computeIntegralImage2 *//* unused harmony export computeIntegralImage *//* unused harmony export thresholdImage *//* unused harmony export computeHistogram *//* unused harmony export sharpenLine *//* unused harmony export determineOtsuThreshold *//* harmony export */ exports["c"] = otsuThreshold;/* unused harmony export computeBinaryImage *//* harmony export */ exports["d"] = cluster;/* unused harmony export dilate *//* unused harmony export erode *//* unused harmony export subtract *//* unused harmony export bitwiseOr *//* unused harmony export countNonZero *//* harmony export */ exports["e"] = topGeneric;/* unused harmony export grayArrayFromImage *//* unused harmony export grayArrayFromContext *//* harmony export */ exports["i"] = grayAndHalfSampleFromCanvasData;/* harmony export */ exports["j"] = computeGray;/* unused harmony export loadImageArray *//* harmony export */ exports["g"] = halfSample;/* harmony export */ exports["a"] = hsv2rgb;/* unused harmony export _computeDivisors *//* harmony export */ exports["b"] = calculatePatchSize;/* unused harmony export _parseCSSDimensionValues *//* harmony export */ exports["h"] = computeImageArea;
var vec2 = {
- clone: __webpack_require__(10)
+ clone: __webpack_require__(8)
};
var vec3 = {
- clone: __webpack_require__(115)
+ clone: __webpack_require__(109)
};
/**
@@ -2361,14 +2349,14 @@ return /******/ (function(modules) { // webpackBootstrap
/* 27 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__subImage__ = __webpack_require__(86);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__subImage__ = __webpack_require__(80);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_cv_utils__ = __webpack_require__(26);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_array_helper__ = __webpack_require__(16);
var vec2 = {
- clone: __webpack_require__(10)
+ clone: __webpack_require__(8)
};
/**
@@ -2734,11 +2722,11 @@ return /******/ (function(modules) { // webpackBootstrap
/* 29 */
/***/ function(module, exports, __webpack_require__) {
- var mapCacheClear = __webpack_require__(184),
- mapCacheDelete = __webpack_require__(185),
- mapCacheGet = __webpack_require__(186),
- mapCacheHas = __webpack_require__(187),
- mapCacheSet = __webpack_require__(188);
+ var mapCacheClear = __webpack_require__(177),
+ mapCacheDelete = __webpack_require__(178),
+ mapCacheGet = __webpack_require__(179),
+ mapCacheHas = __webpack_require__(180),
+ mapCacheSet = __webpack_require__(181);
/**
* Creates a map cache object to store key-value pairs.
@@ -2770,33 +2758,6 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 30 */
-/***/ function(module, exports, __webpack_require__) {
-
- /**
- * A specialized version of `_.map` for arrays without support for iteratee
- * shorthands.
- *
- * @private
- * @param {Array} [array] The array to iterate over.
- * @param {Function} iteratee The function invoked per iteration.
- * @returns {Array} Returns the new mapped array.
- */
- function arrayMap(array, iteratee) {
- var index = -1,
- length = array ? array.length : 0,
- result = Array(length);
-
- while (++index < length) {
- result[index] = iteratee(array[index], index, array);
- }
- return result;
- }
-
- module.e = arrayMap;
-
-
-/***/ },
-/* 31 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -2822,51 +2783,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 32 */
-/***/ function(module, exports, __webpack_require__) {
-
- var apply = __webpack_require__(123);
-
- /* Built-in method references for those with the same name as other `lodash` methods. */
- var nativeMax = Math.max;
-
- /**
- * The base implementation of `_.rest` which doesn't validate or coerce arguments.
- *
- * @private
- * @param {Function} func The function to apply a rest parameter to.
- * @param {number} [start=func.length-1] The start position of the rest parameter.
- * @returns {Function} Returns the new function.
- */
- function baseRest(func, start) {
- start = nativeMax(start === undefined ? (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] = array;
- return apply(func, this, otherArgs);
- };
- }
-
- module.e = baseRest;
-
-
-/***/ },
-/* 33 */
+/* 31 */
/***/ function(module, exports, __webpack_require__) {
- var Uint8Array = __webpack_require__(50);
+ var Uint8Array = __webpack_require__(47);
/**
* Creates a clone of `arrayBuffer`.
@@ -2885,10 +2805,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 34 */
+/* 32 */
/***/ function(module, exports, __webpack_require__) {
- var assignValue = __webpack_require__(55);
+ var assignValue = __webpack_require__(52);
/**
* Copies properties of `source` to `object`.
@@ -2922,10 +2842,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 35 */
+/* 33 */
/***/ function(module, exports, __webpack_require__) {
- var overArg = __webpack_require__(39);
+ var overArg = __webpack_require__(37);
/** Built-in value references. */
var getPrototype = overArg(Object.getPrototypeOf, Object);
@@ -2934,11 +2854,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 36 */
+/* 34 */
/***/ function(module, exports, __webpack_require__) {
- var overArg = __webpack_require__(39),
- stubArray = __webpack_require__(80);
+ var overArg = __webpack_require__(37),
+ stubArray = __webpack_require__(74);
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeGetSymbols = Object.getOwnPropertySymbols;
@@ -2956,16 +2876,16 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 37 */
+/* 35 */
/***/ function(module, exports, __webpack_require__) {
- var DataView = __webpack_require__(116),
+ var DataView = __webpack_require__(110),
Map = __webpack_require__(28),
- Promise = __webpack_require__(118),
- Set = __webpack_require__(119),
- WeakMap = __webpack_require__(120),
- baseGetTag = __webpack_require__(132),
- toSource = __webpack_require__(75);
+ Promise = __webpack_require__(112),
+ Set = __webpack_require__(113),
+ WeakMap = __webpack_require__(115),
+ baseGetTag = __webpack_require__(125),
+ toSource = __webpack_require__(69);
/** `Object#toString` result references. */
var mapTag = '[object Map]',
@@ -3031,7 +2951,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 38 */
+/* 36 */
/***/ function(module, exports, __webpack_require__) {
/** Used as references for various `Number` constants. */
@@ -3059,7 +2979,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 39 */
+/* 37 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -3080,7 +3000,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 40 */
+/* 38 */
/***/ function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(2);
@@ -3127,7 +3047,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 41 */
+/* 39 */
/***/ function(module, exports, __webpack_require__) {
/** Used as references for various `Number` constants. */
@@ -3168,10 +3088,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 42 */
+/* 40 */
/***/ function(module, exports, __webpack_require__) {
- var isObjectLike = __webpack_require__(14);
+ var isObjectLike = __webpack_require__(13);
/** `Object#toString` result references. */
var symbolTag = '[object Symbol]';
@@ -3212,12 +3132,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 43 */
+/* 41 */
/***/ function(module, exports, __webpack_require__) {
- var baseIsTypedArray = __webpack_require__(139),
- baseUnary = __webpack_require__(64),
- nodeUtil = __webpack_require__(190);
+ var baseIsTypedArray = __webpack_require__(130),
+ baseUnary = __webpack_require__(141),
+ nodeUtil = __webpack_require__(183);
/* Node.js helper references. */
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
@@ -3245,10 +3165,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 44 */
+/* 42 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_debug__ = __webpack_require__(8);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_debug__ = __webpack_require__(6);
function contains(codeResult, list) {
@@ -3305,13 +3225,13 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 45 */
+/* 43 */
/***/ function(module, exports, __webpack_require__) {
var config = void 0;
if (true) {
- config = __webpack_require__(88);
+ config = __webpack_require__(82);
} else if (ENV.node) {
config = require('./config.node.js');
} else {
@@ -3321,7 +3241,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = config;
/***/ },
-/* 46 */
+/* 44 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -3425,10 +3345,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = Tracer;
/***/ },
-/* 47 */
+/* 45 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(7);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_array_helper__ = __webpack_require__(16);
@@ -3643,7 +3563,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = Code39Reader;
/***/ },
-/* 48 */
+/* 46 */
/***/ function(module, exports, __webpack_require__) {
module.e = dot
@@ -3660,40 +3580,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
/***/ },
-/* 49 */
-/***/ function(module, exports, __webpack_require__) {
-
- var MapCache = __webpack_require__(29),
- setCacheAdd = __webpack_require__(191),
- setCacheHas = __webpack_require__(192);
-
- /**
- *
- * Creates an array cache object to store unique values.
- *
- * @private
- * @constructor
- * @param {Array} [values] The values to cache.
- */
- function SetCache(values) {
- var index = -1,
- length = values ? values.length : 0;
-
- this.__data__ = new MapCache;
- while (++index < length) {
- this.add(values[index]);
- }
- }
-
- // Add methods to `SetCache`.
- SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
- SetCache.prototype.has = setCacheHas;
-
- module.e = SetCache;
-
-
-/***/ },
-/* 50 */
+/* 47 */
/***/ function(module, exports, __webpack_require__) {
var root = __webpack_require__(3);
@@ -3705,7 +3592,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 51 */
+/* 48 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -3733,13 +3620,13 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 52 */
+/* 49 */
/***/ function(module, exports, __webpack_require__) {
- var baseTimes = __webpack_require__(147),
- isArguments = __webpack_require__(12),
+ var baseTimes = __webpack_require__(139),
+ isArguments = __webpack_require__(11),
isArray = __webpack_require__(0),
- isIndex = __webpack_require__(38);
+ isIndex = __webpack_require__(36);
/** Used for built-in method references. */
var objectProto = Object.prototype;
@@ -3778,7 +3665,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 53 */
+/* 50 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -3810,10 +3697,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 54 */
+/* 51 */
/***/ function(module, exports, __webpack_require__) {
- var eq = __webpack_require__(11);
+ var eq = __webpack_require__(10);
/**
* This function is like `assignValue` except that it doesn't assign
@@ -3835,10 +3722,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 55 */
+/* 52 */
/***/ function(module, exports, __webpack_require__) {
- var eq = __webpack_require__(11);
+ var eq = __webpack_require__(10);
/** Used for built-in method references. */
var objectProto = Object.prototype;
@@ -3868,56 +3755,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 56 */
-/***/ function(module, exports, __webpack_require__) {
-
- var arrayPush = __webpack_require__(31),
- isFlattenable = __webpack_require__(175);
-
- /**
- * The base implementation of `_.flatten` with support for restricting flattening.
- *
- * @private
- * @param {Array} array The array to flatten.
- * @param {number} depth The maximum recursion depth.
- * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
- * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
- * @param {Array} [result=[]] The initial result value.
- * @returns {Array} Returns the new flattened array.
- */
- 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) {
- // Recursively flatten arrays (susceptible to call stack limits).
- baseFlatten(value, depth - 1, predicate, isStrict, result);
- } else {
- arrayPush(result, value);
- }
- } else if (!isStrict) {
- result[result.length] = value;
- }
- }
- return result;
- }
-
- module.e = baseFlatten;
-
-
-/***/ },
-/* 57 */
+/* 53 */
/***/ function(module, exports, __webpack_require__) {
- var castPath = __webpack_require__(65),
+ var castPath = __webpack_require__(60),
isKey = __webpack_require__(23),
- toKey = __webpack_require__(6);
+ toKey = __webpack_require__(9);
/**
* The base implementation of `_.get` without support for default values.
@@ -3943,10 +3786,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 58 */
+/* 54 */
/***/ function(module, exports, __webpack_require__) {
- var arrayPush = __webpack_require__(31),
+ var arrayPush = __webpack_require__(30),
isArray = __webpack_require__(0);
/**
@@ -3969,12 +3812,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 59 */
+/* 55 */
/***/ function(module, exports, __webpack_require__) {
- var baseIsEqualDeep = __webpack_require__(135),
+ var baseIsEqualDeep = __webpack_require__(127),
isObject = __webpack_require__(2),
- isObjectLike = __webpack_require__(14);
+ isObjectLike = __webpack_require__(13);
/**
* The base implementation of `_.isEqual` which supports partial comparisons
@@ -4005,14 +3848,14 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 60 */
+/* 56 */
/***/ function(module, exports, __webpack_require__) {
- var baseMatches = __webpack_require__(141),
- baseMatchesProperty = __webpack_require__(142),
- identity = __webpack_require__(201),
+ var baseMatches = __webpack_require__(132),
+ baseMatchesProperty = __webpack_require__(133),
+ identity = __webpack_require__(194),
isArray = __webpack_require__(0),
- property = __webpack_require__(209);
+ property = __webpack_require__(201);
/**
* The base implementation of `_.iteratee`.
@@ -4042,12 +3885,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 61 */
+/* 57 */
/***/ function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(2),
isPrototype = __webpack_require__(24),
- nativeKeysIn = __webpack_require__(189);
+ nativeKeysIn = __webpack_require__(182);
/** Used for built-in method references. */
var objectProto = Object.prototype;
@@ -4081,32 +3924,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 62 */
-/***/ function(module, exports, __webpack_require__) {
-
- var basePickBy = __webpack_require__(63);
-
- /**
- * The base implementation of `_.pick` without support for individual
- * property identifiers.
- *
- * @private
- * @param {Object} object The source object.
- * @param {string[]} props The property identifiers to pick.
- * @returns {Object} Returns the new object.
- */
- function basePick(object, props) {
- object = Object(object);
- return basePickBy(object, props, function(value, key) {
- return key in object;
- });
- }
-
- module.e = basePick;
-
-
-/***/ },
-/* 63 */
+/* 58 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -4138,31 +3956,52 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 64 */
+/* 59 */
/***/ function(module, exports, __webpack_require__) {
+ var apply = __webpack_require__(118);
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax = Math.max;
+
/**
- * The base implementation of `_.unary` without support for storing metadata.
+ * The base implementation of `_.rest` which doesn't validate or coerce arguments.
*
* @private
- * @param {Function} func The function to cap arguments for.
- * @returns {Function} Returns the new capped function.
+ * @param {Function} func The function to apply a rest parameter to.
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
+ * @returns {Function} Returns the new function.
*/
- function baseUnary(func) {
- return function(value) {
- return func(value);
+ function baseRest(func, start) {
+ start = nativeMax(start === undefined ? (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] = array;
+ return apply(func, this, otherArgs);
};
}
- module.e = baseUnary;
+ module.e = baseRest;
/***/ },
-/* 65 */
+/* 60 */
/***/ function(module, exports, __webpack_require__) {
var isArray = __webpack_require__(0),
- stringToPath = __webpack_require__(198);
+ stringToPath = __webpack_require__(191);
/**
* Casts `value` to a path array if it's not one.
@@ -4179,7 +4018,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 66 */
+/* 61 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -4205,11 +4044,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 67 */
+/* 62 */
/***/ function(module, exports, __webpack_require__) {
- var SetCache = __webpack_require__(49),
- arraySome = __webpack_require__(126);
+ var SetCache = __webpack_require__(114),
+ arraySome = __webpack_require__(120);
/** Used to compose bitmasks for comparison styles. */
var UNORDERED_COMPARE_FLAG = 1,
@@ -4294,7 +4133,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 68 */
+/* 63 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
@@ -4305,30 +4144,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 69 */
-/***/ function(module, exports, __webpack_require__) {
-
- var baseGetAllKeys = __webpack_require__(58),
- getSymbolsIn = __webpack_require__(164),
- keysIn = __webpack_require__(78);
-
- /**
- * Creates an array of own and inherited enumerable property names and
- * symbols of `object`.
- *
- * @private
- * @param {Object} object The object to query.
- * @returns {Array} Returns the array of property names and symbols.
- */
- function getAllKeysIn(object) {
- return baseGetAllKeys(object, keysIn, getSymbolsIn);
- }
-
- module.e = getAllKeysIn;
-
-
-/***/ },
-/* 70 */
+/* 64 */
/***/ function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(2);
@@ -4349,7 +4165,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 71 */
+/* 65 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -4373,7 +4189,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 72 */
+/* 66 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -4399,10 +4215,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 73 */
+/* 67 */
/***/ function(module, exports, __webpack_require__) {
- var overArg = __webpack_require__(39);
+ var overArg = __webpack_require__(37);
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeKeys = overArg(Object.keys, Object);
@@ -4411,7 +4227,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 74 */
+/* 68 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -4435,7 +4251,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 75 */
+/* 69 */
/***/ function(module, exports, __webpack_require__) {
/** Used for built-in method references. */
@@ -4467,11 +4283,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 76 */
+/* 70 */
/***/ function(module, exports, __webpack_require__) {
- var isArrayLike = __webpack_require__(13),
- isObjectLike = __webpack_require__(14);
+ var isArrayLike = __webpack_require__(12),
+ isObjectLike = __webpack_require__(13);
/**
* This method is like `_.isArrayLike` except that it also checks if `value`
@@ -4506,11 +4322,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 77 */
+/* 71 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(3),
- stubFalse = __webpack_require__(210);
+ stubFalse = __webpack_require__(202);
/** Detect free variable `exports`. */
var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
@@ -4548,15 +4364,15 @@ return /******/ (function(modules) { // webpackBootstrap
module.e = isBuffer;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(81)(module)))
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(75)(module)))
/***/ },
-/* 78 */
+/* 72 */
/***/ function(module, exports, __webpack_require__) {
- var arrayLikeKeys = __webpack_require__(52),
- baseKeysIn = __webpack_require__(61),
- isArrayLike = __webpack_require__(13);
+ var arrayLikeKeys = __webpack_require__(49),
+ baseKeysIn = __webpack_require__(57),
+ isArrayLike = __webpack_require__(12);
/**
* Creates an array of the own and inherited enumerable property names of `object`.
@@ -4589,14 +4405,14 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 79 */
+/* 73 */
/***/ function(module, exports, __webpack_require__) {
- var arrayMap = __webpack_require__(30),
- baseFlatten = __webpack_require__(56),
- basePick = __webpack_require__(62),
- baseRest = __webpack_require__(32),
- toKey = __webpack_require__(6);
+ var arrayMap = __webpack_require__(119),
+ baseFlatten = __webpack_require__(124),
+ basePick = __webpack_require__(136),
+ baseRest = __webpack_require__(59),
+ toKey = __webpack_require__(9);
/**
* Creates an object composed of the picked `object` properties.
@@ -4623,7 +4439,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 80 */
+/* 74 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -4652,7 +4468,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 81 */
+/* 75 */
/***/ function(module, exports, __webpack_require__) {
module.e = function(module) {
@@ -4684,24 +4500,24 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 82 */
+/* 76 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ = __webpack_require__(87);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ = __webpack_require__(81);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs___default = __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ && __WEBPACK_IMPORTED_MODULE_1__common_typedefs__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1__common_typedefs__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1__common_typedefs__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1__common_typedefs___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1__common_typedefs___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ = __webpack_require__(214);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ = __webpack_require__(206);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default = __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ && __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scanner__ = __webpack_require__(109);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scanner__ = __webpack_require__(103);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_image_wrapper__ = __webpack_require__(27);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common_image_debug__ = __webpack_require__(8);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__analytics_result_collector__ = __webpack_require__(44);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config_config__ = __webpack_require__(45);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__input_config_factory__ = __webpack_require__(92);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common_image_debug__ = __webpack_require__(6);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__analytics_result_collector__ = __webpack_require__(42);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config_config__ = __webpack_require__(43);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__input_config_factory__ = __webpack_require__(86);
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
@@ -4865,12 +4681,12 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["default"] = createApi();
/***/ },
-/* 83 */
+/* 77 */
/***/ function(module, exports, __webpack_require__) {
var vec2 = {
- clone: __webpack_require__(10),
- dot: __webpack_require__(48)
+ clone: __webpack_require__(8),
+ dot: __webpack_require__(46)
};
/**
@@ -4940,7 +4756,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 84 */
+/* 78 */
/***/ function(module, exports, __webpack_require__) {
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
@@ -4963,7 +4779,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = DOMHelper;
/***/ },
-/* 85 */
+/* 79 */
/***/ function(module, exports, __webpack_require__) {
/* harmony export */ exports["a"] = createEventedElement;function createEventedElement() {
@@ -5062,7 +4878,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 86 */
+/* 80 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -5151,7 +4967,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = SubImage;
/***/ },
-/* 87 */
+/* 81 */
/***/ function(module, exports) {
/*
@@ -5177,7 +4993,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 88 */
+/* 82 */
/***/ function(module, exports, __webpack_require__) {
module.e = {
@@ -5229,22 +5045,22 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 89 */
+/* 83 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bresenham__ = __webpack_require__(90);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_debug__ = __webpack_require__(8);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__ = __webpack_require__(101);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bresenham__ = __webpack_require__(84);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_debug__ = __webpack_require__(6);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__ = __webpack_require__(95);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__reader_ean_reader__ = __webpack_require__(4);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__reader_code_39_reader__ = __webpack_require__(47);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__ = __webpack_require__(102);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__ = __webpack_require__(100);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__ = __webpack_require__(108);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__ = __webpack_require__(105);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__ = __webpack_require__(103);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__ = __webpack_require__(104);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__ = __webpack_require__(107);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__ = __webpack_require__(106);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__reader_code_39_reader__ = __webpack_require__(45);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__ = __webpack_require__(96);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__ = __webpack_require__(94);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__ = __webpack_require__(102);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__ = __webpack_require__(99);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__ = __webpack_require__(97);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__ = __webpack_require__(98);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__ = __webpack_require__(101);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__ = __webpack_require__(100);
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
@@ -5569,7 +5385,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 90 */
+/* 84 */
/***/ function(module, exports, __webpack_require__) {
var Bresenham = {};
@@ -5771,24 +5587,15 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = Bresenham;
/***/ },
-/* 91 */
+/* 85 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_omit__ = __webpack_require__(206);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_omit___default = __WEBPACK_IMPORTED_MODULE_0_lodash_omit__ && __WEBPACK_IMPORTED_MODULE_0_lodash_omit__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_omit__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_omit__; }
- /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_omit___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_omit___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_pick__ = __webpack_require__(79);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_1_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_1_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_pick__; }
- /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1_lodash_pick___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_merge__ = __webpack_require__(7);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_2_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_2_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_merge__; }
- /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_lodash_merge___default });
-
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick__ = __webpack_require__(73);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_0_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_0_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_pick__; }
+ /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default });
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
var streamRef;
function waitForVideo(video) {
@@ -5821,21 +5628,24 @@ return /******/ (function(modules) { // webpackBootstrap
* @param {Object} video
*/
function initCamera(video, constraints) {
- return navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
- return new Promise(function (resolve) {
- streamRef = stream;
- video.setAttribute("autoplay", 'true');
- video.srcObject = stream;
- video.addEventListener('loadedmetadata', function () {
- video.play();
- resolve();
+ if (navigator.mediaDevices && typeof navigator.mediaDevices.getUserMedia === 'function') {
+ return navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
+ return new Promise(function (resolve) {
+ streamRef = stream;
+ video.setAttribute("autoplay", 'true');
+ video.srcObject = stream;
+ video.addEventListener('loadedmetadata', function () {
+ video.play();
+ resolve();
+ });
});
- });
- }).then(waitForVideo.bind(null, video));
+ }).then(waitForVideo.bind(null, video));
+ }
+ return Promise.reject(new Error('getUserMedia is not defined'));
}
function deprecatedConstraints(videoConstraints) {
- var normalized = /* harmony import */__WEBPACK_IMPORTED_MODULE_1_lodash_pick___default.a.bind()(videoConstraints, ["width", "height", "facingMode", "aspectRatio", "deviceId"]);
+ var normalized = /* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_pick___default.a.bind()(videoConstraints, ["width", "height", "facingMode", "aspectRatio", "deviceId"]);
if (typeof videoConstraints.minAspectRatio !== 'undefined' && videoConstraints.minAspectRatio > 0) {
normalized.aspectRatio = videoConstraints.minAspectRatio;
@@ -5848,41 +5658,16 @@ return /******/ (function(modules) { // webpackBootstrap
return normalized;
}
- function applyCameraFacing(facing, constraints) {
- if (typeof constraints.video.deviceId === 'string' && constraints.video.deviceId.length > 0) {
- return Promise.resolve(_extends({}, constraints, {
- video: _extends({}, /* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_omit___default.a.bind()(constraints.video, "facingMode"))
- }));
- } else if (!facing) {
- return Promise.resolve(constraints);
- }
- if (typeof MediaStreamTrack !== 'undefined' && typeof MediaStreamTrack.getSources !== 'undefined') {
- return new Promise(function (resolve) {
- MediaStreamTrack.getSources(function (sourceInfos) {
- var videoSource = sourceInfos.filter(function (sourceInfo) {
- return sourceInfo.kind === "video" && sourceInfo.facing === facing;
- })[0];
- if (videoSource) {
- return resolve(/* harmony import */__WEBPACK_IMPORTED_MODULE_2_lodash_merge___default.a.bind()({}, constraints, { video: { deviceId: videoSource.id } }));
- }
- return resolve(constraints);
- });
- });
- }
- return Promise.resolve(/* harmony import */__WEBPACK_IMPORTED_MODULE_2_lodash_merge___default.a.bind()({}, constraints, { video: { facingMode: facing } }));
- }
-
function pickConstraints(videoConstraints) {
- var constraints = {
+ return {
audio: false,
video: deprecatedConstraints(videoConstraints)
};
- return applyCameraFacing(constraints.video.facingMode, constraints);
}
/* harmony default export */ exports["a"] = {
request: function request(video, videoConstraints) {
- return pickConstraints(videoConstraints).then(initCamera.bind(null, video));
+ return initCamera(video, pickConstraints(videoConstraints));
},
release: function release() {
var tracks = streamRef && streamRef.getVideoTracks();
@@ -5894,22 +5679,22 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 92 */
+/* 86 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ = __webpack_require__(202);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ = __webpack_require__(195);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default = __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ && __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ = __webpack_require__(207);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ = __webpack_require__(199);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default = __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ && __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ = __webpack_require__(79);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ = __webpack_require__(73);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_2_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ = __webpack_require__(15);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_3_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_dom_helper__ = __webpack_require__(84);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_dom_helper__ = __webpack_require__(78);
/* harmony export */ exports["a"] = createConfigFromSource;
@@ -6077,7 +5862,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
/***/ },
-/* 93 */
+/* 87 */
/***/ function(module, exports, __webpack_require__) {
/* harmony export */ exports["a"] = findTagsInObjectURL;/* unused harmony export base64ToArrayBuffer *//* unused harmony export findTagsInBuffer */// Scraped from https://github.com/exif-js/exif-js
@@ -6236,7 +6021,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
/***/ },
-/* 94 */
+/* 88 */
/***/ function(module, exports, __webpack_require__) {
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_cv_utils__ = __webpack_require__(26);
@@ -6360,10 +6145,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = FrameGrabber;
/***/ },
-/* 95 */
+/* 89 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exif_helper__ = __webpack_require__(93);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exif_helper__ = __webpack_require__(87);
var ImageLoader = {};
@@ -6436,10 +6221,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = ImageLoader;
/***/ },
-/* 96 */
+/* 90 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__image_loader__ = __webpack_require__(95);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__image_loader__ = __webpack_require__(89);
var InputStream = {};
@@ -6771,16 +6556,16 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = InputStream;
/***/ },
-/* 97 */
+/* 91 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_wrapper__ = __webpack_require__(27);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_cv_utils__ = __webpack_require__(26);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_array_helper__ = __webpack_require__(16);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_image_debug__ = __webpack_require__(8);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__rasterizer__ = __webpack_require__(98);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__tracer__ = __webpack_require__(46);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__skeletonizer__ = __webpack_require__(99);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_image_debug__ = __webpack_require__(6);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__rasterizer__ = __webpack_require__(92);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__tracer__ = __webpack_require__(44);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__skeletonizer__ = __webpack_require__(93);
/* harmony export */ exports["b"] = createLocator;/* harmony export */ exports["a"] = checkImageConstraints;
@@ -6789,15 +6574,15 @@ return /******/ (function(modules) { // webpackBootstrap
var vec2 = {
- clone: __webpack_require__(10),
- dot: __webpack_require__(48),
- scale: __webpack_require__(113),
- transformMat2: __webpack_require__(114)
+ clone: __webpack_require__(8),
+ dot: __webpack_require__(46),
+ scale: __webpack_require__(107),
+ transformMat2: __webpack_require__(108)
};
var mat2 = {
- copy: __webpack_require__(110),
- create: __webpack_require__(111),
- invert: __webpack_require__(112)
+ copy: __webpack_require__(104),
+ create: __webpack_require__(105),
+ invert: __webpack_require__(106)
};
function createLocator(inputImageWrapper, config) {
@@ -7360,10 +7145,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 98 */
+/* 92 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tracer__ = __webpack_require__(46);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tracer__ = __webpack_require__(44);
/**
@@ -7559,7 +7344,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = Rasterizer;
/***/ },
-/* 99 */
+/* 93 */
/***/ function(module, exports, __webpack_require__) {
/* @preserve ASM BEGIN */
@@ -7761,10 +7546,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* eslint-enable eqeqeq*/
/***/ },
-/* 100 */
+/* 94 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(7);
function CodabarReader() {
@@ -8051,10 +7836,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = CodabarReader;
/***/ },
-/* 101 */
+/* 95 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(7);
function Code128Reader() {
@@ -8402,10 +8187,10 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = Code128Reader;
/***/ },
-/* 102 */
+/* 96 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__code_39_reader__ = __webpack_require__(47);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__code_39_reader__ = __webpack_require__(45);
function Code39VINReader() {
@@ -8459,7 +8244,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = Code39VINReader;
/***/ },
-/* 103 */
+/* 97 */
/***/ function(module, exports, __webpack_require__) {
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4);
@@ -8516,7 +8301,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = EAN2Reader;
/***/ },
-/* 104 */
+/* 98 */
/***/ function(module, exports, __webpack_require__) {
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4);
@@ -8605,7 +8390,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = EAN5Reader;
/***/ },
-/* 105 */
+/* 99 */
/***/ function(module, exports, __webpack_require__) {
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4);
@@ -8656,13 +8441,13 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = EAN8Reader;
/***/ },
-/* 106 */
+/* 100 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default });
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(9);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(7);
@@ -8978,7 +8763,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = I2of5Reader;
/***/ },
-/* 107 */
+/* 101 */
/***/ function(module, exports, __webpack_require__) {
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4);
@@ -9078,7 +8863,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = UPCEReader;
/***/ },
-/* 108 */
+/* 102 */
/***/ function(module, exports, __webpack_require__) {
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ean_reader__ = __webpack_require__(4);
@@ -9108,22 +8893,22 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = UPCReader;
/***/ },
-/* 109 */
+/* 103 */
/***/ function(module, exports, __webpack_require__) {
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(15);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; }
/* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_wrapper__ = __webpack_require__(27);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__locator_barcode_locator__ = __webpack_require__(97);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__decoder_barcode_decoder__ = __webpack_require__(89);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_events__ = __webpack_require__(85);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__input_camera_access__ = __webpack_require__(91);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common_image_debug__ = __webpack_require__(8);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__analytics_result_collector__ = __webpack_require__(44);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__config_config__ = __webpack_require__(45);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_input_stream__ = __webpack_require__(96);
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_frame_grabber__ = __webpack_require__(94);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__locator_barcode_locator__ = __webpack_require__(91);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__decoder_barcode_decoder__ = __webpack_require__(83);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_events__ = __webpack_require__(79);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__input_camera_access__ = __webpack_require__(85);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common_image_debug__ = __webpack_require__(6);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__analytics_result_collector__ = __webpack_require__(42);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__config_config__ = __webpack_require__(43);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_input_stream__ = __webpack_require__(90);
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_frame_grabber__ = __webpack_require__(88);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
@@ -9140,7 +8925,7 @@ return /******/ (function(modules) { // webpackBootstrap
var vec2 = {
- clone: __webpack_require__(10)
+ clone: __webpack_require__(8)
};
function createScanner() {
@@ -9629,7 +9414,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* harmony default export */ exports["a"] = createScanner;
/***/ },
-/* 110 */
+/* 104 */
/***/ function(module, exports, __webpack_require__) {
module.e = copy
@@ -9652,7 +9437,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 111 */
+/* 105 */
/***/ function(module, exports, __webpack_require__) {
module.e = create
@@ -9674,7 +9459,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 112 */
+/* 106 */
/***/ function(module, exports, __webpack_require__) {
module.e = invert
@@ -9707,7 +9492,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 113 */
+/* 107 */
/***/ function(module, exports, __webpack_require__) {
module.e = scale
@@ -9727,7 +9512,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
/***/ },
-/* 114 */
+/* 108 */
/***/ function(module, exports, __webpack_require__) {
module.e = transformMat2
@@ -9749,7 +9534,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
/***/ },
-/* 115 */
+/* 109 */
/***/ function(module, exports, __webpack_require__) {
module.e = clone;
@@ -9769,7 +9554,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
/***/ },
-/* 116 */
+/* 110 */
/***/ function(module, exports, __webpack_require__) {
var getNative = __webpack_require__(5),
@@ -9782,14 +9567,14 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 117 */
+/* 111 */
/***/ function(module, exports, __webpack_require__) {
- var hashClear = __webpack_require__(167),
- hashDelete = __webpack_require__(168),
- hashGet = __webpack_require__(169),
- hashHas = __webpack_require__(170),
- hashSet = __webpack_require__(171);
+ var hashClear = __webpack_require__(160),
+ hashDelete = __webpack_require__(161),
+ hashGet = __webpack_require__(162),
+ hashHas = __webpack_require__(163),
+ hashSet = __webpack_require__(164);
/**
* Creates a hash object.
@@ -9820,7 +9605,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 118 */
+/* 112 */
/***/ function(module, exports, __webpack_require__) {
var getNative = __webpack_require__(5),
@@ -9833,7 +9618,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 119 */
+/* 113 */
/***/ function(module, exports, __webpack_require__) {
var getNative = __webpack_require__(5),
@@ -9846,7 +9631,40 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 120 */
+/* 114 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var MapCache = __webpack_require__(29),
+ setCacheAdd = __webpack_require__(184),
+ setCacheHas = __webpack_require__(185);
+
+ /**
+ *
+ * Creates an array cache object to store unique values.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [values] The values to cache.
+ */
+ function SetCache(values) {
+ var index = -1,
+ length = values ? values.length : 0;
+
+ this.__data__ = new MapCache;
+ while (++index < length) {
+ this.add(values[index]);
+ }
+ }
+
+ // Add methods to `SetCache`.
+ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+ SetCache.prototype.has = setCacheHas;
+
+ module.e = SetCache;
+
+
+/***/ },
+/* 115 */
/***/ function(module, exports, __webpack_require__) {
var getNative = __webpack_require__(5),
@@ -9859,7 +9677,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 121 */
+/* 116 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -9880,7 +9698,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 122 */
+/* 117 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -9901,7 +9719,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 123 */
+/* 118 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -9928,58 +9746,34 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 124 */
-/***/ function(module, exports, __webpack_require__) {
-
- var baseIndexOf = __webpack_require__(134);
-
- /**
- * A specialized version of `_.includes` for arrays without support for
- * specifying an index to search from.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
- function arrayIncludes(array, value) {
- var length = array ? array.length : 0;
- return !!length && baseIndexOf(array, value, 0) > -1;
- }
-
- module.e = arrayIncludes;
-
-
-/***/ },
-/* 125 */
+/* 119 */
/***/ function(module, exports, __webpack_require__) {
/**
- * This function is like `arrayIncludes` except that it accepts a comparator.
+ * A specialized version of `_.map` for arrays without support for iteratee
+ * shorthands.
*
* @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @param {Function} comparator The comparator invoked per element.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns the new mapped array.
*/
- function arrayIncludesWith(array, value, comparator) {
+ function arrayMap(array, iteratee) {
var index = -1,
- length = array ? array.length : 0;
+ length = array ? array.length : 0,
+ result = Array(length);
while (++index < length) {
- if (comparator(value, array[index])) {
- return true;
- }
+ result[index] = iteratee(array[index], index, array);
}
- return false;
+ return result;
}
- module.e = arrayIncludesWith;
+ module.e = arrayMap;
/***/ },
-/* 126 */
+/* 120 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -10008,11 +9802,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 127 */
+/* 121 */
/***/ function(module, exports, __webpack_require__) {
- var copyObject = __webpack_require__(34),
- keys = __webpack_require__(15);
+ var copyObject = __webpack_require__(32),
+ keys = __webpack_require__(14);
/**
* The base implementation of `_.assign` without support for multiple sources
@@ -10031,26 +9825,26 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 128 */
+/* 122 */
/***/ function(module, exports, __webpack_require__) {
var Stack = __webpack_require__(18),
- arrayEach = __webpack_require__(51),
- assignValue = __webpack_require__(55),
- baseAssign = __webpack_require__(127),
- cloneBuffer = __webpack_require__(150),
- copyArray = __webpack_require__(66),
- copySymbols = __webpack_require__(157),
- getAllKeys = __webpack_require__(162),
- getTag = __webpack_require__(37),
- initCloneArray = __webpack_require__(172),
- initCloneByTag = __webpack_require__(173),
- initCloneObject = __webpack_require__(174),
+ arrayEach = __webpack_require__(48),
+ assignValue = __webpack_require__(52),
+ baseAssign = __webpack_require__(121),
+ cloneBuffer = __webpack_require__(142),
+ copyArray = __webpack_require__(61),
+ copySymbols = __webpack_require__(149),
+ getAllKeys = __webpack_require__(154),
+ getTag = __webpack_require__(35),
+ initCloneArray = __webpack_require__(165),
+ initCloneByTag = __webpack_require__(166),
+ initCloneObject = __webpack_require__(167),
isArray = __webpack_require__(0),
- isBuffer = __webpack_require__(77),
+ isBuffer = __webpack_require__(71),
isHostObject = __webpack_require__(22),
isObject = __webpack_require__(2),
- keys = __webpack_require__(15);
+ keys = __webpack_require__(14);
/** `Object#toString` result references. */
var argsTag = '[object Arguments]',
@@ -10176,7 +9970,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 129 */
+/* 123 */
/***/ function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(2);
@@ -10200,110 +9994,51 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 130 */
+/* 124 */
/***/ function(module, exports, __webpack_require__) {
- var SetCache = __webpack_require__(49),
- arrayIncludes = __webpack_require__(124),
- arrayIncludesWith = __webpack_require__(125),
- arrayMap = __webpack_require__(30),
- baseUnary = __webpack_require__(64),
- cacheHas = __webpack_require__(149);
-
- /** Used as the size to enable large array optimizations. */
- var LARGE_ARRAY_SIZE = 200;
+ var arrayPush = __webpack_require__(30),
+ isFlattenable = __webpack_require__(168);
/**
- * The base implementation of methods like `_.difference` without support
- * for excluding multiple arrays or iteratee shorthands.
+ * The base implementation of `_.flatten` with support for restricting flattening.
*
* @private
- * @param {Array} array The array to inspect.
- * @param {Array} values The values to exclude.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new array of filtered values.
+ * @param {Array} array The array to flatten.
+ * @param {number} depth The maximum recursion depth.
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
+ * @param {Array} [result=[]] The initial result value.
+ * @returns {Array} Returns the new flattened array.
*/
- function baseDifference(array, values, iteratee, comparator) {
+ function baseFlatten(array, depth, predicate, isStrict, result) {
var index = -1,
- includes = arrayIncludes,
- isCommon = true,
- length = array.length,
- result = [],
- valuesLength = values.length;
+ length = array.length;
- if (!length) {
- return result;
- }
- if (iteratee) {
- values = arrayMap(values, baseUnary(iteratee));
- }
- if (comparator) {
- includes = arrayIncludesWith;
- isCommon = false;
- }
- else if (values.length >= LARGE_ARRAY_SIZE) {
- includes = cacheHas;
- isCommon = false;
- values = new SetCache(values);
- }
- outer:
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
+ predicate || (predicate = isFlattenable);
+ result || (result = []);
- value = (comparator || value !== 0) ? value : 0;
- if (isCommon && computed === computed) {
- var valuesIndex = valuesLength;
- while (valuesIndex--) {
- if (values[valuesIndex] === computed) {
- continue outer;
- }
+ while (++index < length) {
+ var value = array[index];
+ if (depth > 0 && predicate(value)) {
+ if (depth > 1) {
+ // Recursively flatten arrays (susceptible to call stack limits).
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
+ } else {
+ arrayPush(result, value);
}
- result.push(value);
- }
- else if (!includes(values, computed, comparator)) {
- result.push(value);
+ } else if (!isStrict) {
+ result[result.length] = value;
}
}
return result;
}
- module.e = baseDifference;
-
-
-/***/ },
-/* 131 */
-/***/ function(module, exports, __webpack_require__) {
-
- /**
- * The base implementation of `_.findIndex` and `_.findLastIndex` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {number} fromIndex The index to search from.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- 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.e = baseFindIndex;
+ module.e = baseFlatten;
/***/ },
-/* 132 */
+/* 125 */
/***/ function(module, exports, __webpack_require__) {
/** Used for built-in method references. */
@@ -10331,7 +10066,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 133 */
+/* 126 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -10350,51 +10085,17 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 134 */
-/***/ function(module, exports, __webpack_require__) {
-
- var baseFindIndex = __webpack_require__(131),
- baseIsNaN = __webpack_require__(137);
-
- /**
- * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
- function baseIndexOf(array, value, fromIndex) {
- if (value !== value) {
- return baseFindIndex(array, baseIsNaN, fromIndex);
- }
- var index = fromIndex - 1,
- length = array.length;
-
- while (++index < length) {
- if (array[index] === value) {
- return index;
- }
- }
- return -1;
- }
-
- module.e = baseIndexOf;
-
-
-/***/ },
-/* 135 */
+/* 127 */
/***/ function(module, exports, __webpack_require__) {
var Stack = __webpack_require__(18),
- equalArrays = __webpack_require__(67),
- equalByTag = __webpack_require__(160),
- equalObjects = __webpack_require__(161),
- getTag = __webpack_require__(37),
+ equalArrays = __webpack_require__(62),
+ equalByTag = __webpack_require__(152),
+ equalObjects = __webpack_require__(153),
+ getTag = __webpack_require__(35),
isArray = __webpack_require__(0),
isHostObject = __webpack_require__(22),
- isTypedArray = __webpack_require__(43);
+ isTypedArray = __webpack_require__(41);
/** Used to compose bitmasks for comparison styles. */
var PARTIAL_COMPARE_FLAG = 2;
@@ -10472,11 +10173,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 136 */
+/* 128 */
/***/ function(module, exports, __webpack_require__) {
var Stack = __webpack_require__(18),
- baseIsEqual = __webpack_require__(59);
+ baseIsEqual = __webpack_require__(55);
/** Used to compose bitmasks for comparison styles. */
var UNORDERED_COMPARE_FLAG = 1,
@@ -10540,32 +10241,14 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 137 */
-/***/ function(module, exports, __webpack_require__) {
-
- /**
- * The base implementation of `_.isNaN` without support for number objects.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
- */
- function baseIsNaN(value) {
- return value !== value;
- }
-
- module.e = baseIsNaN;
-
-
-/***/ },
-/* 138 */
+/* 129 */
/***/ function(module, exports, __webpack_require__) {
- var isFunction = __webpack_require__(40),
+ var isFunction = __webpack_require__(38),
isHostObject = __webpack_require__(22),
- isMasked = __webpack_require__(178),
+ isMasked = __webpack_require__(171),
isObject = __webpack_require__(2),
- toSource = __webpack_require__(75);
+ toSource = __webpack_require__(69);
/**
* Used to match `RegExp`
@@ -10612,11 +10295,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 139 */
+/* 130 */
/***/ function(module, exports, __webpack_require__) {
- var isLength = __webpack_require__(41),
- isObjectLike = __webpack_require__(14);
+ var isLength = __webpack_require__(39),
+ isObjectLike = __webpack_require__(13);
/** `Object#toString` result references. */
var argsTag = '[object Arguments]',
@@ -10687,11 +10370,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 140 */
+/* 131 */
/***/ function(module, exports, __webpack_require__) {
var isPrototype = __webpack_require__(24),
- nativeKeys = __webpack_require__(73);
+ nativeKeys = __webpack_require__(67);
/** Used for built-in method references. */
var objectProto = Object.prototype;
@@ -10723,12 +10406,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 141 */
+/* 132 */
/***/ function(module, exports, __webpack_require__) {
- var baseIsMatch = __webpack_require__(136),
- getMatchData = __webpack_require__(163),
- matchesStrictComparable = __webpack_require__(72);
+ var baseIsMatch = __webpack_require__(128),
+ getMatchData = __webpack_require__(156),
+ matchesStrictComparable = __webpack_require__(66);
/**
* The base implementation of `_.matches` which doesn't clone `source`.
@@ -10751,16 +10434,16 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 142 */
+/* 133 */
/***/ function(module, exports, __webpack_require__) {
- var baseIsEqual = __webpack_require__(59),
- get = __webpack_require__(199),
- hasIn = __webpack_require__(200),
+ var baseIsEqual = __webpack_require__(55),
+ get = __webpack_require__(192),
+ hasIn = __webpack_require__(193),
isKey = __webpack_require__(23),
- isStrictComparable = __webpack_require__(70),
- matchesStrictComparable = __webpack_require__(72),
- toKey = __webpack_require__(6);
+ isStrictComparable = __webpack_require__(64),
+ matchesStrictComparable = __webpack_require__(66),
+ toKey = __webpack_require__(9);
/** Used to compose bitmasks for comparison styles. */
var UNORDERED_COMPARE_FLAG = 1,
@@ -10790,17 +10473,17 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 143 */
+/* 134 */
/***/ function(module, exports, __webpack_require__) {
var Stack = __webpack_require__(18),
- arrayEach = __webpack_require__(51),
- assignMergeValue = __webpack_require__(54),
- baseKeysIn = __webpack_require__(61),
- baseMergeDeep = __webpack_require__(144),
+ arrayEach = __webpack_require__(48),
+ assignMergeValue = __webpack_require__(51),
+ baseKeysIn = __webpack_require__(57),
+ baseMergeDeep = __webpack_require__(135),
isArray = __webpack_require__(0),
isObject = __webpack_require__(2),
- isTypedArray = __webpack_require__(43);
+ isTypedArray = __webpack_require__(41);
/**
* The base implementation of `_.merge` without support for multiple sources.
@@ -10846,20 +10529,20 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 144 */
+/* 135 */
/***/ function(module, exports, __webpack_require__) {
- var assignMergeValue = __webpack_require__(54),
- baseClone = __webpack_require__(128),
- copyArray = __webpack_require__(66),
- isArguments = __webpack_require__(12),
+ var assignMergeValue = __webpack_require__(51),
+ baseClone = __webpack_require__(122),
+ copyArray = __webpack_require__(61),
+ isArguments = __webpack_require__(11),
isArray = __webpack_require__(0),
- isArrayLikeObject = __webpack_require__(76),
- isFunction = __webpack_require__(40),
+ isArrayLikeObject = __webpack_require__(70),
+ isFunction = __webpack_require__(38),
isObject = __webpack_require__(2),
- isPlainObject = __webpack_require__(203),
- isTypedArray = __webpack_require__(43),
- toPlainObject = __webpack_require__(211);
+ isPlainObject = __webpack_require__(196),
+ isTypedArray = __webpack_require__(41),
+ toPlainObject = __webpack_require__(203);
/**
* A specialized version of `baseMerge` for arrays and objects which performs
@@ -10930,11 +10613,36 @@ return /******/ (function(modules) { // webpackBootstrap
assignMergeValue(object, key, newValue);
}
- module.e = baseMergeDeep;
+ module.e = baseMergeDeep;
+
+
+/***/ },
+/* 136 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var basePickBy = __webpack_require__(58);
+
+ /**
+ * The base implementation of `_.pick` without support for individual
+ * property identifiers.
+ *
+ * @private
+ * @param {Object} object The source object.
+ * @param {string[]} props The property identifiers to pick.
+ * @returns {Object} Returns the new object.
+ */
+ function basePick(object, props) {
+ object = Object(object);
+ return basePickBy(object, props, function(value, key) {
+ return key in object;
+ });
+ }
+
+ module.e = basePick;
/***/ },
-/* 145 */
+/* 137 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -10954,10 +10662,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 146 */
+/* 138 */
/***/ function(module, exports, __webpack_require__) {
- var baseGet = __webpack_require__(57);
+ var baseGet = __webpack_require__(53);
/**
* A specialized version of `baseProperty` which supports deep paths.
@@ -10976,7 +10684,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 147 */
+/* 139 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -11002,11 +10710,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 148 */
+/* 140 */
/***/ function(module, exports, __webpack_require__) {
var Symbol = __webpack_require__(19),
- isSymbol = __webpack_require__(42);
+ isSymbol = __webpack_require__(40);
/** Used as references for various `Number` constants. */
var INFINITY = 1 / 0;
@@ -11039,26 +10747,27 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 149 */
+/* 141 */
/***/ function(module, exports, __webpack_require__) {
/**
- * Checks if a cache value for `key` exists.
+ * The base implementation of `_.unary` without support for storing metadata.
*
* @private
- * @param {Object} cache The cache to query.
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ * @param {Function} func The function to cap arguments for.
+ * @returns {Function} Returns the new capped function.
*/
- function cacheHas(cache, key) {
- return cache.has(key);
+ function baseUnary(func) {
+ return function(value) {
+ return func(value);
+ };
}
- module.e = cacheHas;
+ module.e = baseUnary;
/***/ },
-/* 150 */
+/* 142 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -11082,10 +10791,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 151 */
+/* 143 */
/***/ function(module, exports, __webpack_require__) {
- var cloneArrayBuffer = __webpack_require__(33);
+ var cloneArrayBuffer = __webpack_require__(31);
/**
* Creates a clone of `dataView`.
@@ -11104,12 +10813,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 152 */
+/* 144 */
/***/ function(module, exports, __webpack_require__) {
- var addMapEntry = __webpack_require__(121),
- arrayReduce = __webpack_require__(53),
- mapToArray = __webpack_require__(71);
+ var addMapEntry = __webpack_require__(116),
+ arrayReduce = __webpack_require__(50),
+ mapToArray = __webpack_require__(65);
/**
* Creates a clone of `map`.
@@ -11129,7 +10838,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 153 */
+/* 145 */
/***/ function(module, exports, __webpack_require__) {
/** Used to match `RegExp` flags from their coerced string values. */
@@ -11152,12 +10861,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 154 */
+/* 146 */
/***/ function(module, exports, __webpack_require__) {
- var addSetEntry = __webpack_require__(122),
- arrayReduce = __webpack_require__(53),
- setToArray = __webpack_require__(74);
+ var addSetEntry = __webpack_require__(117),
+ arrayReduce = __webpack_require__(50),
+ setToArray = __webpack_require__(68);
/**
* Creates a clone of `set`.
@@ -11177,7 +10886,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 155 */
+/* 147 */
/***/ function(module, exports, __webpack_require__) {
var Symbol = __webpack_require__(19);
@@ -11201,10 +10910,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 156 */
+/* 148 */
/***/ function(module, exports, __webpack_require__) {
- var cloneArrayBuffer = __webpack_require__(33);
+ var cloneArrayBuffer = __webpack_require__(31);
/**
* Creates a clone of `typedArray`.
@@ -11223,11 +10932,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 157 */
+/* 149 */
/***/ function(module, exports, __webpack_require__) {
- var copyObject = __webpack_require__(34),
- getSymbols = __webpack_require__(36);
+ var copyObject = __webpack_require__(32),
+ getSymbols = __webpack_require__(34);
/**
* Copies own symbol properties of `source` to `object`.
@@ -11245,7 +10954,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 158 */
+/* 150 */
/***/ function(module, exports, __webpack_require__) {
var root = __webpack_require__(3);
@@ -11257,11 +10966,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 159 */
+/* 151 */
/***/ function(module, exports, __webpack_require__) {
- var baseRest = __webpack_require__(32),
- isIterateeCall = __webpack_require__(176);
+ var baseRest = __webpack_require__(59),
+ isIterateeCall = __webpack_require__(169);
/**
* Creates a function like `_.assign`.
@@ -11300,15 +11009,15 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 160 */
+/* 152 */
/***/ function(module, exports, __webpack_require__) {
var Symbol = __webpack_require__(19),
- Uint8Array = __webpack_require__(50),
- eq = __webpack_require__(11),
- equalArrays = __webpack_require__(67),
- mapToArray = __webpack_require__(71),
- setToArray = __webpack_require__(74);
+ Uint8Array = __webpack_require__(47),
+ eq = __webpack_require__(10),
+ equalArrays = __webpack_require__(62),
+ mapToArray = __webpack_require__(65),
+ setToArray = __webpack_require__(68);
/** Used to compose bitmasks for comparison styles. */
var UNORDERED_COMPARE_FLAG = 1,
@@ -11419,10 +11128,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 161 */
+/* 153 */
/***/ function(module, exports, __webpack_require__) {
- var keys = __webpack_require__(15);
+ var keys = __webpack_require__(14);
/** Used to compose bitmasks for comparison styles. */
var PARTIAL_COMPARE_FLAG = 2;
@@ -11515,12 +11224,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 162 */
+/* 154 */
/***/ function(module, exports, __webpack_require__) {
- var baseGetAllKeys = __webpack_require__(58),
- getSymbols = __webpack_require__(36),
- keys = __webpack_require__(15);
+ var baseGetAllKeys = __webpack_require__(54),
+ getSymbols = __webpack_require__(34),
+ keys = __webpack_require__(14);
/**
* Creates an array of own enumerable property names and symbols of `object`.
@@ -11537,11 +11246,34 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 163 */
+/* 155 */
/***/ function(module, exports, __webpack_require__) {
- var isStrictComparable = __webpack_require__(70),
- keys = __webpack_require__(15);
+ var baseGetAllKeys = __webpack_require__(54),
+ getSymbolsIn = __webpack_require__(157),
+ keysIn = __webpack_require__(72);
+
+ /**
+ * Creates an array of own and inherited enumerable property names and
+ * symbols of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names and symbols.
+ */
+ function getAllKeysIn(object) {
+ return baseGetAllKeys(object, keysIn, getSymbolsIn);
+ }
+
+ module.e = getAllKeysIn;
+
+
+/***/ },
+/* 156 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var isStrictComparable = __webpack_require__(64),
+ keys = __webpack_require__(14);
/**
* Gets the property names, values, and compare flags of `object`.
@@ -11567,13 +11299,13 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 164 */
+/* 157 */
/***/ function(module, exports, __webpack_require__) {
- var arrayPush = __webpack_require__(31),
- getPrototype = __webpack_require__(35),
- getSymbols = __webpack_require__(36),
- stubArray = __webpack_require__(80);
+ var arrayPush = __webpack_require__(30),
+ getPrototype = __webpack_require__(33),
+ getSymbols = __webpack_require__(34),
+ stubArray = __webpack_require__(74);
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeGetSymbols = Object.getOwnPropertySymbols;
@@ -11599,7 +11331,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 165 */
+/* 158 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -11618,16 +11350,16 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 166 */
+/* 159 */
/***/ function(module, exports, __webpack_require__) {
- var castPath = __webpack_require__(65),
- isArguments = __webpack_require__(12),
+ var castPath = __webpack_require__(60),
+ isArguments = __webpack_require__(11),
isArray = __webpack_require__(0),
- isIndex = __webpack_require__(38),
+ isIndex = __webpack_require__(36),
isKey = __webpack_require__(23),
- isLength = __webpack_require__(41),
- toKey = __webpack_require__(6);
+ isLength = __webpack_require__(39),
+ toKey = __webpack_require__(9);
/**
* Checks if `path` exists on `object`.
@@ -11664,7 +11396,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 167 */
+/* 160 */
/***/ function(module, exports, __webpack_require__) {
var nativeCreate = __webpack_require__(25);
@@ -11684,7 +11416,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 168 */
+/* 161 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -11705,7 +11437,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 169 */
+/* 162 */
/***/ function(module, exports, __webpack_require__) {
var nativeCreate = __webpack_require__(25);
@@ -11741,7 +11473,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 170 */
+/* 163 */
/***/ function(module, exports, __webpack_require__) {
var nativeCreate = __webpack_require__(25);
@@ -11770,7 +11502,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 171 */
+/* 164 */
/***/ function(module, exports, __webpack_require__) {
var nativeCreate = __webpack_require__(25);
@@ -11798,7 +11530,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 172 */
+/* 165 */
/***/ function(module, exports, __webpack_require__) {
/** Used for built-in method references. */
@@ -11830,16 +11562,16 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 173 */
+/* 166 */
/***/ function(module, exports, __webpack_require__) {
- var cloneArrayBuffer = __webpack_require__(33),
- cloneDataView = __webpack_require__(151),
- cloneMap = __webpack_require__(152),
- cloneRegExp = __webpack_require__(153),
- cloneSet = __webpack_require__(154),
- cloneSymbol = __webpack_require__(155),
- cloneTypedArray = __webpack_require__(156);
+ var cloneArrayBuffer = __webpack_require__(31),
+ cloneDataView = __webpack_require__(143),
+ cloneMap = __webpack_require__(144),
+ cloneRegExp = __webpack_require__(145),
+ cloneSet = __webpack_require__(146),
+ cloneSymbol = __webpack_require__(147),
+ cloneTypedArray = __webpack_require__(148);
/** `Object#toString` result references. */
var boolTag = '[object Boolean]',
@@ -11916,11 +11648,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 174 */
+/* 167 */
/***/ function(module, exports, __webpack_require__) {
- var baseCreate = __webpack_require__(129),
- getPrototype = __webpack_require__(35),
+ var baseCreate = __webpack_require__(123),
+ getPrototype = __webpack_require__(33),
isPrototype = __webpack_require__(24);
/**
@@ -11940,11 +11672,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 175 */
+/* 168 */
/***/ function(module, exports, __webpack_require__) {
var Symbol = __webpack_require__(19),
- isArguments = __webpack_require__(12),
+ isArguments = __webpack_require__(11),
isArray = __webpack_require__(0);
/** Built-in value references. */
@@ -11966,12 +11698,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 176 */
+/* 169 */
/***/ function(module, exports, __webpack_require__) {
- var eq = __webpack_require__(11),
- isArrayLike = __webpack_require__(13),
- isIndex = __webpack_require__(38),
+ var eq = __webpack_require__(10),
+ isArrayLike = __webpack_require__(12),
+ isIndex = __webpack_require__(36),
isObject = __webpack_require__(2);
/**
@@ -12002,7 +11734,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 177 */
+/* 170 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12023,10 +11755,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 178 */
+/* 171 */
/***/ function(module, exports, __webpack_require__) {
- var coreJsData = __webpack_require__(158);
+ var coreJsData = __webpack_require__(150);
/** Used to detect methods masquerading as native. */
var maskSrcKey = (function() {
@@ -12049,7 +11781,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 179 */
+/* 172 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12067,7 +11799,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 180 */
+/* 173 */
/***/ function(module, exports, __webpack_require__) {
var assocIndexOf = __webpack_require__(20);
@@ -12107,7 +11839,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 181 */
+/* 174 */
/***/ function(module, exports, __webpack_require__) {
var assocIndexOf = __webpack_require__(20);
@@ -12132,7 +11864,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 182 */
+/* 175 */
/***/ function(module, exports, __webpack_require__) {
var assocIndexOf = __webpack_require__(20);
@@ -12154,7 +11886,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 183 */
+/* 176 */
/***/ function(module, exports, __webpack_require__) {
var assocIndexOf = __webpack_require__(20);
@@ -12185,10 +11917,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 184 */
+/* 177 */
/***/ function(module, exports, __webpack_require__) {
- var Hash = __webpack_require__(117),
+ var Hash = __webpack_require__(111),
ListCache = __webpack_require__(17),
Map = __webpack_require__(28);
@@ -12211,7 +11943,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 185 */
+/* 178 */
/***/ function(module, exports, __webpack_require__) {
var getMapData = __webpack_require__(21);
@@ -12233,7 +11965,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 186 */
+/* 179 */
/***/ function(module, exports, __webpack_require__) {
var getMapData = __webpack_require__(21);
@@ -12255,7 +11987,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 187 */
+/* 180 */
/***/ function(module, exports, __webpack_require__) {
var getMapData = __webpack_require__(21);
@@ -12277,7 +12009,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 188 */
+/* 181 */
/***/ function(module, exports, __webpack_require__) {
var getMapData = __webpack_require__(21);
@@ -12301,7 +12033,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 189 */
+/* 182 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12327,10 +12059,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 190 */
+/* 183 */
/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(68);
+ /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(63);
/** Detect free variable `exports`. */
var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
@@ -12353,10 +12085,10 @@ return /******/ (function(modules) { // webpackBootstrap
module.e = nodeUtil;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(81)(module)))
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(75)(module)))
/***/ },
-/* 191 */
+/* 184 */
/***/ function(module, exports, __webpack_require__) {
/** Used to stand-in for `undefined` hash values. */
@@ -12381,7 +12113,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 192 */
+/* 185 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12401,7 +12133,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 193 */
+/* 186 */
/***/ function(module, exports, __webpack_require__) {
var ListCache = __webpack_require__(17);
@@ -12421,7 +12153,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 194 */
+/* 187 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12441,7 +12173,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 195 */
+/* 188 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12461,7 +12193,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 196 */
+/* 189 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12481,7 +12213,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 197 */
+/* 190 */
/***/ function(module, exports, __webpack_require__) {
var ListCache = __webpack_require__(17),
@@ -12519,11 +12251,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 198 */
+/* 191 */
/***/ function(module, exports, __webpack_require__) {
- var memoize = __webpack_require__(204),
- toString = __webpack_require__(212);
+ var memoize = __webpack_require__(197),
+ toString = __webpack_require__(204);
/** Used to match property names within property paths. */
var reLeadingDot = /^\./,
@@ -12556,10 +12288,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 199 */
+/* 192 */
/***/ function(module, exports, __webpack_require__) {
- var baseGet = __webpack_require__(57);
+ var baseGet = __webpack_require__(53);
/**
* Gets the value at `path` of `object`. If the resolved value is
@@ -12595,11 +12327,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 200 */
+/* 193 */
/***/ function(module, exports, __webpack_require__) {
- var baseHasIn = __webpack_require__(133),
- hasPath = __webpack_require__(166);
+ var baseHasIn = __webpack_require__(126),
+ hasPath = __webpack_require__(159);
/**
* Checks if `path` is a direct or inherited property of `object`.
@@ -12635,7 +12367,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 201 */
+/* 194 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -12662,16 +12394,16 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 202 */
+/* 195 */
/***/ function(module, exports, __webpack_require__) {
- var getTag = __webpack_require__(37),
- isArguments = __webpack_require__(12),
+ var getTag = __webpack_require__(35),
+ isArguments = __webpack_require__(11),
isArray = __webpack_require__(0),
- isArrayLike = __webpack_require__(13),
- isBuffer = __webpack_require__(77),
+ isArrayLike = __webpack_require__(12),
+ isBuffer = __webpack_require__(71),
isPrototype = __webpack_require__(24),
- nativeKeys = __webpack_require__(73);
+ nativeKeys = __webpack_require__(67);
/** `Object#toString` result references. */
var mapTag = '[object Map]',
@@ -12747,12 +12479,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 203 */
+/* 196 */
/***/ function(module, exports, __webpack_require__) {
- var getPrototype = __webpack_require__(35),
+ var getPrototype = __webpack_require__(33),
isHostObject = __webpack_require__(22),
- isObjectLike = __webpack_require__(14);
+ isObjectLike = __webpack_require__(13);
/** `Object#toString` result references. */
var objectTag = '[object Object]';
@@ -12823,7 +12555,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 204 */
+/* 197 */
/***/ function(module, exports, __webpack_require__) {
var MapCache = __webpack_require__(29);
@@ -12902,7 +12634,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 205 */
+/* 198 */
/***/ function(module, exports, __webpack_require__) {
/** Used as the `TypeError` message for "Functions" methods. */
@@ -12948,54 +12680,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 206 */
-/***/ function(module, exports, __webpack_require__) {
-
- var arrayMap = __webpack_require__(30),
- baseDifference = __webpack_require__(130),
- baseFlatten = __webpack_require__(56),
- basePick = __webpack_require__(62),
- baseRest = __webpack_require__(32),
- getAllKeysIn = __webpack_require__(69),
- toKey = __webpack_require__(6);
-
- /**
- * The opposite of `_.pick`; this method creates an object composed of the
- * own and inherited enumerable string keyed properties of `object` that are
- * not omitted.
- *
- * @static
- * @since 0.1.0
- * @memberOf _
- * @category Object
- * @param {Object} object The source object.
- * @param {...(string|string[])} [props] The property identifiers to omit.
- * @returns {Object} Returns the new object.
- * @example
- *
- * var object = { 'a': 1, 'b': '2', 'c': 3 };
- *
- * _.omit(object, ['a', 'c']);
- * // => { 'b': '2' }
- */
- var omit = baseRest(function(object, props) {
- if (object == null) {
- return {};
- }
- props = arrayMap(baseFlatten(props, 1), toKey);
- return basePick(object, baseDifference(getAllKeysIn(object), props));
- });
-
- module.e = omit;
-
-
-/***/ },
-/* 207 */
+/* 199 */
/***/ function(module, exports, __webpack_require__) {
- var baseIteratee = __webpack_require__(60),
- negate = __webpack_require__(205),
- pickBy = __webpack_require__(208);
+ var baseIteratee = __webpack_require__(56),
+ negate = __webpack_require__(198),
+ pickBy = __webpack_require__(200);
/**
* The opposite of `_.pickBy`; this method creates an object composed of
@@ -13025,12 +12715,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 208 */
+/* 200 */
/***/ function(module, exports, __webpack_require__) {
- var baseIteratee = __webpack_require__(60),
- basePickBy = __webpack_require__(63),
- getAllKeysIn = __webpack_require__(69);
+ var baseIteratee = __webpack_require__(56),
+ basePickBy = __webpack_require__(58),
+ getAllKeysIn = __webpack_require__(155);
/**
* Creates an object composed of the `object` properties `predicate` returns
@@ -13058,13 +12748,13 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 209 */
+/* 201 */
/***/ function(module, exports, __webpack_require__) {
- var baseProperty = __webpack_require__(145),
- basePropertyDeep = __webpack_require__(146),
+ var baseProperty = __webpack_require__(137),
+ basePropertyDeep = __webpack_require__(138),
isKey = __webpack_require__(23),
- toKey = __webpack_require__(6);
+ toKey = __webpack_require__(9);
/**
* Creates a function that returns the value at `path` of a given object.
@@ -13096,7 +12786,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 210 */
+/* 202 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -13120,11 +12810,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 211 */
+/* 203 */
/***/ function(module, exports, __webpack_require__) {
- var copyObject = __webpack_require__(34),
- keysIn = __webpack_require__(78);
+ var copyObject = __webpack_require__(32),
+ keysIn = __webpack_require__(72);
/**
* Converts `value` to a plain object flattening inherited enumerable string
@@ -13158,10 +12848,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 212 */
+/* 204 */
/***/ function(module, exports, __webpack_require__) {
- var baseToString = __webpack_require__(148);
+ var baseToString = __webpack_require__(140);
/**
* Converts `value` to a string. An empty string is returned for `null`
@@ -13192,7 +12882,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 213 */
+/* 205 */
/***/ function(module, exports, __webpack_require__) {
/* eslint-env node */
@@ -13689,7 +13379,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 214 */
+/* 206 */
/***/ function(module, exports, __webpack_require__) {
/*
@@ -13720,10 +13410,10 @@ return /******/ (function(modules) { // webpackBootstrap
// require('./utils').disableLog(false);
// Browser shims.
- var chromeShim = __webpack_require__(215) || null;
- var edgeShim = __webpack_require__(217) || null;
- var firefoxShim = __webpack_require__(219) || null;
- var safariShim = __webpack_require__(221) || null;
+ var chromeShim = __webpack_require__(207) || null;
+ var edgeShim = __webpack_require__(209) || null;
+ var firefoxShim = __webpack_require__(211) || null;
+ var safariShim = __webpack_require__(213) || null;
// Shim browser if found.
switch (browserDetails.browser) {
@@ -13787,7 +13477,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 215 */
+/* 207 */
/***/ function(module, exports, __webpack_require__) {
@@ -14020,14 +13710,6 @@ return /******/ (function(modules) { // webpackBootstrap
});
}
- // support for addIceCandidate(null)
- var nativeAddIceCandidate =
- RTCPeerConnection.prototype.addIceCandidate;
- RTCPeerConnection.prototype.addIceCandidate = function() {
- return arguments[0] === null ? Promise.resolve()
- : nativeAddIceCandidate.apply(this, arguments);
- };
-
// shim implicit creation of RTCSessionDescription/RTCIceCandidate
['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']
.forEach(function(method) {
@@ -14038,27 +13720,14 @@ return /******/ (function(modules) { // webpackBootstrap
return nativeMethod.apply(this, arguments);
};
});
- },
-
- // Attach a media stream to an element.
- attachMediaStream: function(element, stream) {
- logging('DEPRECATED, attachMediaStream will soon be removed.');
- if (browserDetails.version >= 43) {
- element.srcObject = stream;
- } else if (typeof element.src !== 'undefined') {
- element.src = URL.createObjectURL(stream);
- } else {
- logging('Error attaching stream to element.');
- }
- },
- reattachMediaStream: function(to, from) {
- logging('DEPRECATED, reattachMediaStream will soon be removed.');
- if (browserDetails.version >= 43) {
- to.srcObject = from.srcObject;
- } else {
- to.src = from.src;
- }
+ // support for addIceCandidate(null)
+ var nativeAddIceCandidate =
+ RTCPeerConnection.prototype.addIceCandidate;
+ RTCPeerConnection.prototype.addIceCandidate = function() {
+ return arguments[0] === null ? Promise.resolve()
+ : nativeAddIceCandidate.apply(this, arguments);
+ };
}
};
@@ -14069,14 +13738,12 @@ return /******/ (function(modules) { // webpackBootstrap
shimOnTrack: chromeShim.shimOnTrack,
shimSourceObject: chromeShim.shimSourceObject,
shimPeerConnection: chromeShim.shimPeerConnection,
- shimGetUserMedia: __webpack_require__(216),
- attachMediaStream: chromeShim.attachMediaStream,
- reattachMediaStream: chromeShim.reattachMediaStream
+ shimGetUserMedia: __webpack_require__(208)
};
/***/ },
-/* 216 */
+/* 208 */
/***/ function(module, exports, __webpack_require__) {
/*
@@ -14271,7 +13938,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 217 */
+/* 209 */
/***/ function(module, exports, __webpack_require__) {
/*
@@ -14284,8 +13951,8 @@ return /******/ (function(modules) { // webpackBootstrap
/* eslint-env node */
'use strict';
- var SDPUtils = __webpack_require__(213);
- var logging = __webpack_require__(1).log;
+ var SDPUtils = __webpack_require__(205);
+ var browserDetails = __webpack_require__(1).browserDetails;
var edgeShim = {
shimPeerConnection: function() {
@@ -14370,6 +14037,7 @@ return /******/ (function(modules) { // webpackBootstrap
// Edge does not like
// 1) stun:
// 2) turn: that does not have all of turn:host:port?transport=udp
+ // 3) turn: with ipv6 addresses
var iceServers = JSON.parse(JSON.stringify(config.iceServers));
this.iceOptions.iceServers = iceServers.filter(function(server) {
if (server && server.urls) {
@@ -14378,8 +14046,11 @@ return /******/ (function(modules) { // webpackBootstrap
urls = [urls];
}
urls = urls.filter(function(url) {
- return url.indexOf('turn:') === 0 &&
- url.indexOf('transport=udp') !== -1;
+ return (url.indexOf('turn:') === 0 &&
+ url.indexOf('transport=udp') !== -1 &&
+ url.indexOf('turn:[') === -1) ||
+ (url.indexOf('stun:') === 0 &&
+ browserDetails.version >= 14393);
})[0];
return !!urls;
}
@@ -14483,8 +14154,18 @@ return /******/ (function(modules) { // webpackBootstrap
// push rCodec so we reply with offerer payload type
commonCapabilities.codecs.push(rCodec);
- // FIXME: also need to determine intersection between
- // .rtcpFeedback and .parameters
+ // determine common feedback mechanisms
+ rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) {
+ for (var j = 0; j < lCodec.rtcpFeedback.length; j++) {
+ if (lCodec.rtcpFeedback[j].type === fb.type &&
+ lCodec.rtcpFeedback[j].parameter === fb.parameter) {
+ return true;
+ }
+ }
+ return false;
+ });
+ // FIXME: also need to determine .parameters
+ // see https://github.com/openpeer/ortc/issues/569
break;
}
}
@@ -14823,7 +14504,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
var isComplete = SDPUtils.matchPrefix(mediaSection,
- 'a=end-of-candidates').length > 0;
+ 'a=end-of-candidates', sessionpart).length > 0;
var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')
.map(function(cand) {
return SDPUtils.parseCandidate(cand);
@@ -14858,11 +14539,16 @@ return /******/ (function(modules) { // webpackBootstrap
// FIXME: look at direction.
if (self.localStreams.length > 0 &&
self.localStreams[0].getTracks().length >= sdpMLineIndex) {
- // FIXME: actually more complicated, needs to match types etc
- var localtrack = self.localStreams[0]
- .getTracks()[sdpMLineIndex];
- rtpSender = new RTCRtpSender(localtrack,
- transports.dtlsTransport);
+ var localTrack;
+ if (kind === 'audio') {
+ localTrack = self.localStreams[0].getAudioTracks()[0];
+ } else if (kind === 'video') {
+ localTrack = self.localStreams[0].getVideoTracks()[0];
+ }
+ if (localTrack) {
+ rtpSender = new RTCRtpSender(localTrack,
+ transports.dtlsTransport);
+ }
}
self.transceivers[sdpMLineIndex] = {
@@ -15247,7 +14933,7 @@ return /******/ (function(modules) { // webpackBootstrap
var cand = Object.keys(candidate.candidate).length > 0 ?
SDPUtils.parseCandidate(candidate.candidate) : {};
// Ignore Chrome's invalid candidates since Edge does not like them.
- if (cand.protocol === 'tcp' && cand.port === 0) {
+ if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) {
return;
}
// Ignore RTCP candidates, we assume RTCP-MUX.
@@ -15302,31 +14988,18 @@ return /******/ (function(modules) { // webpackBootstrap
});
});
};
- },
-
- // Attach a media stream to an element.
- attachMediaStream: function(element, stream) {
- logging('DEPRECATED, attachMediaStream will soon be removed.');
- element.srcObject = stream;
- },
-
- reattachMediaStream: function(to, from) {
- logging('DEPRECATED, reattachMediaStream will soon be removed.');
- to.srcObject = from.srcObject;
}
};
// Expose public methods.
module.e = {
shimPeerConnection: edgeShim.shimPeerConnection,
- shimGetUserMedia: __webpack_require__(218),
- attachMediaStream: edgeShim.attachMediaStream,
- reattachMediaStream: edgeShim.reattachMediaStream
+ shimGetUserMedia: __webpack_require__(210)
};
/***/ },
-/* 218 */
+/* 210 */
/***/ function(module, exports, __webpack_require__) {
/*
@@ -15364,7 +15037,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 219 */
+/* 211 */
/***/ function(module, exports, __webpack_require__) {
/*
@@ -15377,7 +15050,6 @@ return /******/ (function(modules) { // webpackBootstrap
/* eslint-env node */
'use strict';
- var logging = __webpack_require__(1).log;
var browserDetails = __webpack_require__(1).browserDetails;
var firefoxShim = {
@@ -15513,17 +15185,6 @@ return /******/ (function(modules) { // webpackBootstrap
})
.then(onSucc, onErr);
};
- },
-
- // Attach a media stream to an element.
- attachMediaStream: function(element, stream) {
- logging('DEPRECATED, attachMediaStream will soon be removed.');
- element.srcObject = stream;
- },
-
- reattachMediaStream: function(to, from) {
- logging('DEPRECATED, reattachMediaStream will soon be removed.');
- to.srcObject = from.srcObject;
}
};
@@ -15532,14 +15193,12 @@ return /******/ (function(modules) { // webpackBootstrap
shimOnTrack: firefoxShim.shimOnTrack,
shimSourceObject: firefoxShim.shimSourceObject,
shimPeerConnection: firefoxShim.shimPeerConnection,
- shimGetUserMedia: __webpack_require__(220),
- attachMediaStream: firefoxShim.attachMediaStream,
- reattachMediaStream: firefoxShim.reattachMediaStream
+ shimGetUserMedia: __webpack_require__(212)
};
/***/ },
-/* 220 */
+/* 212 */
/***/ function(module, exports, __webpack_require__) {
/*
@@ -15695,7 +15354,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 221 */
+/* 213 */
/***/ function(module, exports, __webpack_require__) {
/*
@@ -15710,10 +15369,6 @@ return /******/ (function(modules) { // webpackBootstrap
// TODO: DrAlex, should be here, double check against LayoutTests
// shimOnTrack: function() { },
- // TODO: DrAlex
- // attachMediaStream: function(element, stream) { },
- // reattachMediaStream: function(to, from) { },
-
// TODO: once the back-end for the mac port is done, add.
// TODO: check for webkitGTK+
// shimPeerConnection: function() { },
@@ -15728,17 +15383,15 @@ return /******/ (function(modules) { // webpackBootstrap
shimGetUserMedia: safariShim.shimGetUserMedia
// TODO
// shimOnTrack: safariShim.shimOnTrack,
- // shimPeerConnection: safariShim.shimPeerConnection,
- // attachMediaStream: safariShim.attachMediaStream,
- // reattachMediaStream: safariShim.reattachMediaStream
+ // shimPeerConnection: safariShim.shimPeerConnection
};
/***/ },
-/* 222 */
+/* 214 */
/***/ function(module, exports, __webpack_require__) {
- module.e = __webpack_require__(82);
+ module.e = __webpack_require__(76);
/***/ }
diff --git a/dist/quagga.js.map b/dist/quagga.js.map
index d093631..c31f496 100644
--- a/dist/quagga.js.map
+++ b/dist/quagga.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/myModuleDefinition","webpack:///webpack/bootstrap e54ba9edb5b4b0a23149","webpack:///./~/lodash/isArray.js","webpack:///./~/webrtc-adapter/src/js/utils.js","webpack:///./~/lodash/isObject.js","webpack:///./~/lodash/_root.js","webpack:///./src/reader/ean_reader.js","webpack:///./~/lodash/_getNative.js","webpack:///./~/lodash/_toKey.js","webpack:///./~/lodash/merge.js","webpack:///./src/common/image_debug.js","webpack:///./src/reader/barcode_reader.js","webpack:///./~/gl-vec2/clone.js","webpack:///./~/lodash/eq.js","webpack:///./~/lodash/isArguments.js","webpack:///./~/lodash/isArrayLike.js","webpack:///./~/lodash/isObjectLike.js","webpack:///./~/lodash/keys.js","webpack:///./src/common/array_helper.js","webpack:///./~/lodash/_ListCache.js","webpack:///./~/lodash/_Stack.js","webpack:///./~/lodash/_Symbol.js","webpack:///./~/lodash/_assocIndexOf.js","webpack:///./~/lodash/_getMapData.js","webpack:///./~/lodash/_isHostObject.js","webpack:///./~/lodash/_isKey.js","webpack:///./~/lodash/_isPrototype.js","webpack:///./~/lodash/_nativeCreate.js","webpack:///./src/common/cv_utils.js","webpack:///./src/common/image_wrapper.js","webpack:///./~/lodash/_Map.js","webpack:///./~/lodash/_MapCache.js","webpack:///./~/lodash/_arrayMap.js","webpack:///./~/lodash/_arrayPush.js","webpack:///./~/lodash/_baseRest.js","webpack:///./~/lodash/_cloneArrayBuffer.js","webpack:///./~/lodash/_copyObject.js","webpack:///./~/lodash/_getPrototype.js","webpack:///./~/lodash/_getSymbols.js","webpack:///./~/lodash/_getTag.js","webpack:///./~/lodash/_isIndex.js","webpack:///./~/lodash/_overArg.js","webpack:///./~/lodash/isFunction.js","webpack:///./~/lodash/isLength.js","webpack:///./~/lodash/isSymbol.js","webpack:///./~/lodash/isTypedArray.js","webpack:///./src/analytics/result_collector.js","webpack:///./src/config/config.js","webpack:///./src/locator/tracer.js","webpack:///./src/reader/code_39_reader.js","webpack:///./~/gl-vec2/dot.js","webpack:///./~/lodash/_SetCache.js","webpack:///./~/lodash/_Uint8Array.js","webpack:///./~/lodash/_arrayEach.js","webpack:///./~/lodash/_arrayLikeKeys.js","webpack:///./~/lodash/_arrayReduce.js","webpack:///./~/lodash/_assignMergeValue.js","webpack:///./~/lodash/_assignValue.js","webpack:///./~/lodash/_baseFlatten.js","webpack:///./~/lodash/_baseGet.js","webpack:///./~/lodash/_baseGetAllKeys.js","webpack:///./~/lodash/_baseIsEqual.js","webpack:///./~/lodash/_baseIteratee.js","webpack:///./~/lodash/_baseKeysIn.js","webpack:///./~/lodash/_basePick.js","webpack:///./~/lodash/_basePickBy.js","webpack:///./~/lodash/_baseUnary.js","webpack:///./~/lodash/_castPath.js","webpack:///./~/lodash/_copyArray.js","webpack:///./~/lodash/_equalArrays.js","webpack:///./~/lodash/_freeGlobal.js","webpack:///./~/lodash/_getAllKeysIn.js","webpack:///./~/lodash/_isStrictComparable.js","webpack:///./~/lodash/_mapToArray.js","webpack:///./~/lodash/_matchesStrictComparable.js","webpack:///./~/lodash/_nativeKeys.js","webpack:///./~/lodash/_setToArray.js","webpack:///./~/lodash/_toSource.js","webpack:///./~/lodash/isArrayLikeObject.js","webpack:///./~/lodash/isBuffer.js","webpack:///./~/lodash/keysIn.js","webpack:///./~/lodash/pick.js","webpack:///./~/lodash/stubArray.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/quagga.js","webpack:///./src/common/cluster.js","webpack:///./src/common/dom_helper.js","webpack:///./src/common/events.js","webpack:///./src/common/subImage.js","webpack:///./src/common/typedefs.js","webpack:///./src/config/config.dev.js","webpack:///./src/decoder/barcode_decoder.js","webpack:///./src/decoder/bresenham.js","webpack:///./src/input/camera_access.js","webpack:///./src/input/config_factory.js","webpack:///./src/input/exif_helper.js","webpack:///./src/input/frame_grabber.js","webpack:///./src/input/image_loader.js","webpack:///./src/input/input_stream.js","webpack:///./src/locator/barcode_locator.js","webpack:///./src/locator/rasterizer.js","webpack:///./src/locator/skeletonizer.js","webpack:///./src/reader/codabar_reader.js","webpack:///./src/reader/code_128_reader.js","webpack:///./src/reader/code_39_vin_reader.js","webpack:///./src/reader/ean_2_reader.js","webpack:///./src/reader/ean_5_reader.js","webpack:///./src/reader/ean_8_reader.js","webpack:///./src/reader/i2of5_reader.js","webpack:///./src/reader/upc_e_reader.js","webpack:///./src/reader/upc_reader.js","webpack:///./src/scanner.js","webpack:///./~/gl-mat2/copy.js","webpack:///./~/gl-mat2/create.js","webpack:///./~/gl-mat2/invert.js","webpack:///./~/gl-vec2/scale.js","webpack:///./~/gl-vec2/transformMat2.js","webpack:///./~/gl-vec3/clone.js","webpack:///./~/lodash/_DataView.js","webpack:///./~/lodash/_Hash.js","webpack:///./~/lodash/_Promise.js","webpack:///./~/lodash/_Set.js","webpack:///./~/lodash/_WeakMap.js","webpack:///./~/lodash/_addMapEntry.js","webpack:///./~/lodash/_addSetEntry.js","webpack:///./~/lodash/_apply.js","webpack:///./~/lodash/_arrayIncludes.js","webpack:///./~/lodash/_arrayIncludesWith.js","webpack:///./~/lodash/_arraySome.js","webpack:///./~/lodash/_baseAssign.js","webpack:///./~/lodash/_baseClone.js","webpack:///./~/lodash/_baseCreate.js","webpack:///./~/lodash/_baseDifference.js","webpack:///./~/lodash/_baseFindIndex.js","webpack:///./~/lodash/_baseGetTag.js","webpack:///./~/lodash/_baseHasIn.js","webpack:///./~/lodash/_baseIndexOf.js","webpack:///./~/lodash/_baseIsEqualDeep.js","webpack:///./~/lodash/_baseIsMatch.js","webpack:///./~/lodash/_baseIsNaN.js","webpack:///./~/lodash/_baseIsNative.js","webpack:///./~/lodash/_baseIsTypedArray.js","webpack:///./~/lodash/_baseKeys.js","webpack:///./~/lodash/_baseMatches.js","webpack:///./~/lodash/_baseMatchesProperty.js","webpack:///./~/lodash/_baseMerge.js","webpack:///./~/lodash/_baseMergeDeep.js","webpack:///./~/lodash/_baseProperty.js","webpack:///./~/lodash/_basePropertyDeep.js","webpack:///./~/lodash/_baseTimes.js","webpack:///./~/lodash/_baseToString.js","webpack:///./~/lodash/_cacheHas.js","webpack:///./~/lodash/_cloneBuffer.js","webpack:///./~/lodash/_cloneDataView.js","webpack:///./~/lodash/_cloneMap.js","webpack:///./~/lodash/_cloneRegExp.js","webpack:///./~/lodash/_cloneSet.js","webpack:///./~/lodash/_cloneSymbol.js","webpack:///./~/lodash/_cloneTypedArray.js","webpack:///./~/lodash/_copySymbols.js","webpack:///./~/lodash/_coreJsData.js","webpack:///./~/lodash/_createAssigner.js","webpack:///./~/lodash/_equalByTag.js","webpack:///./~/lodash/_equalObjects.js","webpack:///./~/lodash/_getAllKeys.js","webpack:///./~/lodash/_getMatchData.js","webpack:///./~/lodash/_getSymbolsIn.js","webpack:///./~/lodash/_getValue.js","webpack:///./~/lodash/_hasPath.js","webpack:///./~/lodash/_hashClear.js","webpack:///./~/lodash/_hashDelete.js","webpack:///./~/lodash/_hashGet.js","webpack:///./~/lodash/_hashHas.js","webpack:///./~/lodash/_hashSet.js","webpack:///./~/lodash/_initCloneArray.js","webpack:///./~/lodash/_initCloneByTag.js","webpack:///./~/lodash/_initCloneObject.js","webpack:///./~/lodash/_isFlattenable.js","webpack:///./~/lodash/_isIterateeCall.js","webpack:///./~/lodash/_isKeyable.js","webpack:///./~/lodash/_isMasked.js","webpack:///./~/lodash/_listCacheClear.js","webpack:///./~/lodash/_listCacheDelete.js","webpack:///./~/lodash/_listCacheGet.js","webpack:///./~/lodash/_listCacheHas.js","webpack:///./~/lodash/_listCacheSet.js","webpack:///./~/lodash/_mapCacheClear.js","webpack:///./~/lodash/_mapCacheDelete.js","webpack:///./~/lodash/_mapCacheGet.js","webpack:///./~/lodash/_mapCacheHas.js","webpack:///./~/lodash/_mapCacheSet.js","webpack:///./~/lodash/_nativeKeysIn.js","webpack:///./~/lodash/_nodeUtil.js","webpack:///./~/lodash/_setCacheAdd.js","webpack:///./~/lodash/_setCacheHas.js","webpack:///./~/lodash/_stackClear.js","webpack:///./~/lodash/_stackDelete.js","webpack:///./~/lodash/_stackGet.js","webpack:///./~/lodash/_stackHas.js","webpack:///./~/lodash/_stackSet.js","webpack:///./~/lodash/_stringToPath.js","webpack:///./~/lodash/get.js","webpack:///./~/lodash/hasIn.js","webpack:///./~/lodash/identity.js","webpack:///./~/lodash/isEmpty.js","webpack:///./~/lodash/isPlainObject.js","webpack:///./~/lodash/memoize.js","webpack:///./~/lodash/negate.js","webpack:///./~/lodash/omit.js","webpack:///./~/lodash/omitBy.js","webpack:///./~/lodash/pickBy.js","webpack:///./~/lodash/property.js","webpack:///./~/lodash/stubFalse.js","webpack:///./~/lodash/toPlainObject.js","webpack:///./~/lodash/toString.js","webpack:///./~/sdp/sdp.js","webpack:///./~/webrtc-adapter/src/js/adapter_core.js","webpack:///./~/webrtc-adapter/src/js/chrome/chrome_shim.js","webpack:///./~/webrtc-adapter/src/js/chrome/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/edge/edge_shim.js","webpack:///./~/webrtc-adapter/src/js/edge/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/firefox/firefox_shim.js","webpack:///./~/webrtc-adapter/src/js/firefox/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/safari/safari_shim.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACRA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAA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QAAP,EAAiB;AACb,oBAAO,IAAI,MAAJ,CAAP;AACH;AACD,gBAAO,GAAP;AACH;AA7EU,EAAf,C;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;;AAEA;;;;;;;ACLA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;;AAEA;;;;;;;;;gtCCLA;AACA;AACA,KAAM,OAAO;AACT,YAAO,oBAAQ,EAAR;AADE,EAAb;AAGA,KAAM,OAAO;AACT,YAAO,oBAAQ,GAAR;AADE,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AlB,IAAuB,OAAO,CAAP,CAAvB;AACA,cAAK,SAAS,CAAT,GAAa,CAAlB,IAAuB,OAAO,CAAP,CAAvB;AACA,cAAK,SAAS,CAAT,GAAa,CAAlB,IAAuB,OAAO,CAAP,CAAvB;AACA,cAAK,SAAS,CAAT,GAAa,CAAlB,IAAuB,GAAvB;AACH;AACD,SAAI,YAAJ,CAAiB,KAAjB,EAAwB,KAAK,CAA7B,EAAgC,KAAK,CAArC;AACH,EAtBD;;AAwBA,6CAAe,YAAf,C;;;;;;AC5VA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClCA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA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;;;;ACrBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB;AACA,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;AACA;;AAEA;;;;;;;;ACHA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA,6BAA4B;AAC5B,EAAC;;AAED;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,iBAAiB,EAAE;AACvC,sBAAqB,qBAAqB;AAC1C,IAAG;AACH;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC,IAAG;AACH;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC,IAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;AACA;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AACA;AACA;AACA;AACA,E;;;;;;ACdA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACdA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC1IA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjFA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjFA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChHA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC/EA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;;;;;;;AC9BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,QAAQ;AACrB;AACA;AACA,2BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kDAAiD,eAAe;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9EA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACxEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;;;;;;ACnCA;AACA;AACA;;AAEA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA,6BAA4B;AAC5B;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,cAAa,SAAS;AACtB;AACA;AACA;AACA,OAAM,OAAO,SAAS,EAAE;AACxB,OAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,WAAU;AACV;AACA,cAAa,SAAS;AACtB,WAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAoB;AACpB,2BAA0B;AAC1B;AACA;AACA;AACA,0DAAyD;AACzD,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,kDAAiD;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,kBAAkB,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;AC1eA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;;AC1FD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,YAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,YAAY;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,cAAa;AACb;AACA,0DAAyD,qBAAqB;AAC9E,0DAAyD;AACzD;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,cAAa;AACb,YAAW;AACX,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,qBAAqB;AAC9C;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,sCAAsC;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,kBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAe;;AAEf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA,gBAAe;AACf,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,YAAW;AACX;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAwD;AACxD,UAAS;AACT,QAAO;AACP;AACA;AACA,0BAAyB,8BAA8B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxhCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,gCAAgC;AAC3D;AACA;AACA,gCAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,+BAA8B;AAC9B,qCAAoC,EAAE;AACtC,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,gEAAgE;AAC7E,cAAa;AACb;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,EAAE;;AAEhC;AACA,oDAAmD,EAAE;AACrD,+CAA8C,EAAE;;AAEhD;AACA;AACA,sCAAqC,EAAE;;AAEvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"quagga.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(factory.toString()).default;\n\telse if(typeof exports === 'object')\n\t\texports[\"Quagga\"] = factory(factory.toString()).default;\n\telse\n\t\troot[\"Quagga\"] = factory(factory.toString()).default;\n})(this, function(__factorySource__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/myModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].e;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\te: {},\n \t\t\ti: moduleId,\n \t\t\tl: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.e, module, module.e, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.e;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 222);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap e54ba9edb5b4b0a23149\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArray.js\n ** module id = 0\n ** module chunks = 0\n **/","/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar logDisabled_ = true;\n\n// Utility methods.\nvar utils = {\n disableLog: function(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n logDisabled_ = bool;\n return (bool) ? 'adapter.js logging disabled' :\n 'adapter.js logging enabled';\n },\n\n log: function() {\n if (typeof window === 'object') {\n if (logDisabled_) {\n return;\n }\n if (typeof console !== 'undefined' && typeof console.log === 'function') {\n console.log.apply(console, arguments);\n }\n }\n },\n\n /**\n * Extract browser version out of the provided user agent string.\n *\n * @param {!string} uastring userAgent string.\n * @param {!string} expr Regular expression used as match criteria.\n * @param {!number} pos position in the version string to be returned.\n * @return {!number} browser version.\n */\n extractVersion: function(uastring, expr, pos) {\n var match = uastring.match(expr);\n return match && match.length >= pos && parseInt(match[pos], 10);\n },\n\n /**\n * Browser detector.\n *\n * @return {object} result containing browser, version and minVersion\n * properties.\n */\n detectBrowser: function() {\n // Returned result object.\n var result = {};\n result.browser = null;\n result.version = null;\n result.minVersion = null;\n\n // Fail early if it's not a browser\n if (typeof window === 'undefined' || !window.navigator) {\n result.browser = 'Not a browser.';\n return result;\n }\n\n // Firefox.\n if (navigator.mozGetUserMedia) {\n result.browser = 'firefox';\n result.version = this.extractVersion(navigator.userAgent,\n /Firefox\\/([0-9]+)\\./, 1);\n result.minVersion = 31;\n\n // all webkit-based browsers\n } else if (navigator.webkitGetUserMedia) {\n // Chrome, Chromium, Webview, Opera, all use the chrome shim for now\n if (window.webkitRTCPeerConnection) {\n result.browser = 'chrome';\n result.version = this.extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/([0-9]+)\\./, 2);\n result.minVersion = 38;\n\n // Safari or unknown webkit-based\n // for the time being Safari has support for MediaStreams but not webRTC\n } else {\n // Safari UA substrings of interest for reference:\n // - webkit version: AppleWebKit/602.1.25 (also used in Op,Cr)\n // - safari UI version: Version/9.0.3 (unique to Safari)\n // - safari UI webkit version: Safari/601.4.4 (also used in Op,Cr)\n //\n // if the webkit version and safari UI webkit versions are equals,\n // ... this is a stable version.\n //\n // only the internal webkit version is important today to know if\n // media streams are supported\n //\n if (navigator.userAgent.match(/Version\\/(\\d+).(\\d+)/)) {\n result.browser = 'safari';\n result.version = this.extractVersion(navigator.userAgent,\n /AppleWebKit\\/([0-9]+)\\./, 1);\n result.minVersion = 602;\n\n // unknown webkit-based browser\n } else {\n result.browser = 'Unsupported webkit-based browser ' +\n 'with GUM support but no WebRTC support.';\n return result;\n }\n }\n\n // Edge.\n } else if (navigator.mediaDevices &&\n navigator.userAgent.match(/Edge\\/(\\d+).(\\d+)$/)) {\n result.browser = 'edge';\n result.version = this.extractVersion(navigator.userAgent,\n /Edge\\/(\\d+).(\\d+)$/, 2);\n result.minVersion = 10547;\n\n // Default fallthrough: not supported.\n } else {\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n // Warn if version is less than minVersion.\n if (result.version < result.minVersion) {\n utils.log('Browser: ' + result.browser + ' Version: ' + result.version +\n ' < minimum supported version: ' + result.minVersion +\n '\\n some things might not work!');\n }\n\n return result;\n }\n};\n\n// Export.\nmodule.exports = {\n log: utils.log,\n disableLog: utils.disableLog,\n browserDetails: utils.detectBrowser(),\n extractVersion: utils.extractVersion\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/webrtc-adapter/src/js/utils.js\n ** module id = 1\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObject.js\n ** module id = 2\n ** module chunks = 0\n **/","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_root.js\n ** module id = 3\n ** module chunks = 0\n **/","import BarcodeReader from './barcode_reader';\r\nimport {merge} from 'lodash';\r\n\r\nfunction EANReader(opts, supplements) {\r\n opts = merge(getDefaulConfig(), opts);\r\n BarcodeReader.call(this, opts, supplements);\r\n}\r\n\r\nfunction getDefaulConfig() {\r\n var config = {};\r\n\r\n Object.keys(EANReader.CONFIG_KEYS).forEach(function(key) {\r\n config[key] = EANReader.CONFIG_KEYS[key].default;\r\n });\r\n return config;\r\n}\r\n\r\nvar properties = {\r\n CODE_L_START: {value: 0},\r\n CODE_G_START: {value: 10},\r\n START_PATTERN: {value: [1, 1, 1]},\r\n STOP_PATTERN: {value: [1, 1, 1]},\r\n MIDDLE_PATTERN: {value: [1, 1, 1, 1, 1]},\r\n EXTENSION_START_PATTERN: {value: [1, 1, 2]},\r\n CODE_PATTERN: {value: [\r\n [3, 2, 1, 1],\r\n [2, 2, 2, 1],\r\n [2, 1, 2, 2],\r\n [1, 4, 1, 1],\r\n [1, 1, 3, 2],\r\n [1, 2, 3, 1],\r\n [1, 1, 1, 4],\r\n [1, 3, 1, 2],\r\n [1, 2, 1, 3],\r\n [3, 1, 1, 2],\r\n [1, 1, 2, 3],\r\n [1, 2, 2, 2],\r\n [2, 2, 1, 2],\r\n [1, 1, 4, 1],\r\n [2, 3, 1, 1],\r\n [1, 3, 2, 1],\r\n [4, 1, 1, 1],\r\n [2, 1, 3, 1],\r\n [3, 1, 2, 1],\r\n [2, 1, 1, 3]\r\n ]},\r\n CODE_FREQUENCY: {value: [0, 11, 13, 14, 19, 25, 28, 21, 22, 26]},\r\n SINGLE_CODE_ERROR: {value: 0.70},\r\n AVG_CODE_ERROR: {value: 0.48},\r\n FORMAT: {value: \"ean_13\", writeable: false}\r\n};\r\n\r\nEANReader.prototype = Object.create(BarcodeReader.prototype, properties);\r\nEANReader.prototype.constructor = EANReader;\r\n\r\nEANReader.prototype._decodeCode = function(start, coderange) {\r\n var counter = [0, 0, 0, 0],\r\n i,\r\n self = this,\r\n offset = start,\r\n isWhite = !self._row[offset],\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: start,\r\n end: start\r\n },\r\n code,\r\n error;\r\n\r\n if (!coderange) {\r\n coderange = self.CODE_PATTERN.length;\r\n }\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n for (code = 0; code < coderange; code++) {\r\n error = self._matchPattern(counter, self.CODE_PATTERN[code]);\r\n if (error < bestMatch.error) {\r\n bestMatch.code = code;\r\n bestMatch.error = error;\r\n }\r\n }\r\n bestMatch.end = i;\r\n if (bestMatch.error > self.AVG_CODE_ERROR) {\r\n return null;\r\n }\r\n return bestMatch;\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findPattern = function(pattern, offset, isWhite, tryHarder, epsilon) {\r\n var counter = [],\r\n self = this,\r\n i,\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: 0,\r\n end: 0\r\n },\r\n error,\r\n j,\r\n sum;\r\n\r\n if (!offset) {\r\n offset = self._nextSet(self._row);\r\n }\r\n\r\n if (isWhite === undefined) {\r\n isWhite = false;\r\n }\r\n\r\n if (tryHarder === undefined) {\r\n tryHarder = true;\r\n }\r\n\r\n if ( epsilon === undefined) {\r\n epsilon = self.AVG_CODE_ERROR;\r\n }\r\n\r\n for ( i = 0; i < pattern.length; i++) {\r\n counter[i] = 0;\r\n }\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n sum = 0;\r\n for ( j = 0; j < counter.length; j++) {\r\n sum += counter[j];\r\n }\r\n error = self._matchPattern(counter, pattern);\r\n\r\n if (error < epsilon) {\r\n bestMatch.error = error;\r\n bestMatch.start = i - sum;\r\n bestMatch.end = i;\r\n return bestMatch;\r\n }\r\n if (tryHarder) {\r\n for ( j = 0; j < counter.length - 2; j++) {\r\n counter[j] = counter[j + 2];\r\n }\r\n counter[counter.length - 2] = 0;\r\n counter[counter.length - 1] = 0;\r\n counterPos--;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findStart = function() {\r\n var self = this,\r\n leadingWhitespaceStart,\r\n offset = self._nextSet(self._row),\r\n startInfo;\r\n\r\n while (!startInfo) {\r\n startInfo = self._findPattern(self.START_PATTERN, offset);\r\n if (!startInfo) {\r\n return null;\r\n }\r\n leadingWhitespaceStart = startInfo.start - (startInfo.end - startInfo.start);\r\n if (leadingWhitespaceStart >= 0) {\r\n if (self._matchRange(leadingWhitespaceStart, startInfo.start, 0)) {\r\n return startInfo;\r\n }\r\n }\r\n offset = startInfo.end;\r\n startInfo = null;\r\n }\r\n};\r\n\r\nEANReader.prototype._verifyTrailingWhitespace = function(endInfo) {\r\n var self = this,\r\n trailingWhitespaceEnd;\r\n\r\n trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start);\r\n if (trailingWhitespaceEnd < self._row.length) {\r\n if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) {\r\n return endInfo;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findEnd = function(offset, isWhite) {\r\n var self = this,\r\n endInfo = self._findPattern(self.STOP_PATTERN, offset, isWhite, false);\r\n\r\n return endInfo !== null ? self._verifyTrailingWhitespace(endInfo) : null;\r\n};\r\n\r\nEANReader.prototype._calculateFirstDigit = function(codeFrequency) {\r\n var i,\r\n self = this;\r\n\r\n for ( i = 0; i < self.CODE_FREQUENCY.length; i++) {\r\n if (codeFrequency === self.CODE_FREQUENCY[i]) {\r\n return i;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._decodePayload = function(code, result, decodedCodes) {\r\n var i,\r\n self = this,\r\n codeFrequency = 0x0,\r\n firstDigit;\r\n\r\n for ( i = 0; i < 6; i++) {\r\n code = self._decodeCode(code.end);\r\n if (!code) {\r\n return null;\r\n }\r\n if (code.code >= self.CODE_G_START) {\r\n code.code = code.code - self.CODE_G_START;\r\n codeFrequency |= 1 << (5 - i);\r\n } else {\r\n codeFrequency |= 0 << (5 - i);\r\n }\r\n result.push(code.code);\r\n decodedCodes.push(code);\r\n }\r\n\r\n firstDigit = self._calculateFirstDigit(codeFrequency);\r\n if (firstDigit === null) {\r\n return null;\r\n }\r\n result.unshift(firstDigit);\r\n\r\n code = self._findPattern(self.MIDDLE_PATTERN, code.end, true, false);\r\n if (code === null) {\r\n return null;\r\n }\r\n decodedCodes.push(code);\r\n\r\n for ( i = 0; i < 6; i++) {\r\n code = self._decodeCode(code.end, self.CODE_G_START);\r\n if (!code) {\r\n return null;\r\n }\r\n decodedCodes.push(code);\r\n result.push(code.code);\r\n }\r\n\r\n return code;\r\n};\r\n\r\nEANReader.prototype._decode = function() {\r\n var startInfo,\r\n self = this,\r\n code,\r\n result = [],\r\n decodedCodes = [],\r\n resultInfo = {};\r\n\r\n startInfo = self._findStart();\r\n if (!startInfo) {\r\n return null;\r\n }\r\n code = {\r\n code: startInfo.code,\r\n start: startInfo.start,\r\n end: startInfo.end\r\n };\r\n decodedCodes.push(code);\r\n code = self._decodePayload(code, result, decodedCodes);\r\n if (!code) {\r\n return null;\r\n }\r\n code = self._findEnd(code.end, false);\r\n if (!code){\r\n return null;\r\n }\r\n\r\n decodedCodes.push(code);\r\n\r\n // Checksum\r\n if (!self._checksum(result)) {\r\n return null;\r\n }\r\n\r\n if (this.supplements.length > 0) {\r\n let ext = this._decodeExtensions(code.end);\r\n if (!ext) {\r\n return null;\r\n }\r\n let lastCode = ext.decodedCodes[ext.decodedCodes.length-1],\r\n endInfo = {\r\n start: lastCode.start + (((lastCode.end - lastCode.start) / 2) | 0),\r\n end: lastCode.end\r\n };\r\n if(!self._verifyTrailingWhitespace(endInfo)) {\r\n return null;\r\n }\r\n resultInfo = {\r\n supplement: ext,\r\n code: result.join(\"\") + ext.code\r\n }\r\n }\r\n\r\n return {\r\n code: result.join(\"\"),\r\n start: startInfo.start,\r\n end: code.end,\r\n codeset: \"\",\r\n startInfo: startInfo,\r\n decodedCodes: decodedCodes,\r\n ...resultInfo\r\n };\r\n};\r\n\r\nEANReader.prototype._decodeExtensions = function(offset) {\r\n var i,\r\n start = this._nextSet(this._row, offset),\r\n startInfo = this._findPattern(this.EXTENSION_START_PATTERN, start, false, false),\r\n result;\r\n\r\n if (startInfo === null) {\r\n return null;\r\n }\r\n\r\n for (i = 0; i < this.supplements.length; i++) {\r\n result = this.supplements[i].decode(this._row, startInfo.end);\r\n if (result !== null) {\r\n return {\r\n code: result.code,\r\n start,\r\n startInfo,\r\n end: result.end,\r\n codeset: \"\",\r\n decodedCodes: result.decodedCodes\r\n }\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._checksum = function(result) {\r\n var sum = 0, i;\r\n\r\n for ( i = result.length - 2; i >= 0; i -= 2) {\r\n sum += result[i];\r\n }\r\n sum *= 3;\r\n for ( i = result.length - 1; i >= 0; i -= 2) {\r\n sum += result[i];\r\n }\r\n return sum % 10 === 0;\r\n};\r\n\r\nEANReader.CONFIG_KEYS = {\r\n supplements: {\r\n 'type': 'arrayOf(string)',\r\n 'default': [],\r\n 'description': 'Allowed extensions to be decoded (2 and/or 5)'\r\n }\r\n};\r\n\r\nexport default (EANReader);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/ean_reader.js\n **/","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getNative.js\n ** module id = 5\n ** module chunks = 0\n **/","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_toKey.js\n ** module id = 6\n ** module chunks = 0\n **/","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/merge.js\n ** module id = 7\n ** module chunks = 0\n **/","export default {\r\n drawRect: function(pos, size, ctx, style){\r\n ctx.strokeStyle = style.color;\r\n ctx.fillStyle = style.color;\r\n ctx.lineWidth = 1;\r\n ctx.beginPath();\r\n ctx.strokeRect(pos.x, pos.y, size.x, size.y);\r\n },\r\n drawPath: function(path, def, ctx, style) {\r\n ctx.strokeStyle = style.color;\r\n ctx.fillStyle = style.color;\r\n ctx.lineWidth = style.lineWidth;\r\n ctx.beginPath();\r\n ctx.moveTo(path[0][def.x], path[0][def.y]);\r\n for (var j = 1; j < path.length; j++) {\r\n ctx.lineTo(path[j][def.x], path[j][def.y]);\r\n }\r\n ctx.closePath();\r\n ctx.stroke();\r\n },\r\n drawImage: function(imageData, size, ctx) {\r\n var canvasData = ctx.getImageData(0, 0, size.x, size.y),\r\n data = canvasData.data,\r\n imageDataPos = imageData.length,\r\n canvasDataPos = data.length,\r\n value;\r\n\r\n if (canvasDataPos / imageDataPos !== 4) {\r\n return false;\r\n }\r\n while (imageDataPos--){\r\n value = imageData[imageDataPos];\r\n data[--canvasDataPos] = 255;\r\n data[--canvasDataPos] = value;\r\n data[--canvasDataPos] = value;\r\n data[--canvasDataPos] = value;\r\n }\r\n ctx.putImageData(canvasData, 0, 0);\r\n return true;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/image_debug.js\n **/","function BarcodeReader(config, supplements) {\r\n this._row = [];\r\n this.config = config || {};\r\n this.supplements = supplements;\r\n return this;\r\n}\r\n\r\nBarcodeReader.prototype._nextUnset = function(line, start) {\r\n var i;\r\n\r\n if (start === undefined) {\r\n start = 0;\r\n }\r\n for (i = start; i < line.length; i++) {\r\n if (!line[i]) {\r\n return i;\r\n }\r\n }\r\n return line.length;\r\n};\r\n\r\nBarcodeReader.prototype._matchPattern = function(counter, code, maxSingleError) {\r\n var i,\r\n error = 0,\r\n singleError = 0,\r\n sum = 0,\r\n modulo = 0,\r\n barWidth,\r\n count,\r\n scaled;\r\n\r\n maxSingleError = maxSingleError || this.SINGLE_CODE_ERROR || 1;\r\n\r\n for (i = 0; i < counter.length; i++) {\r\n sum += counter[i];\r\n modulo += code[i];\r\n }\r\n if (sum < modulo) {\r\n return Number.MAX_VALUE;\r\n }\r\n barWidth = sum / modulo;\r\n maxSingleError *= barWidth;\r\n\r\n for (i = 0; i < counter.length; i++) {\r\n count = counter[i];\r\n scaled = code[i] * barWidth;\r\n singleError = Math.abs(count - scaled) / scaled;\r\n if (singleError > maxSingleError) {\r\n return Number.MAX_VALUE;\r\n }\r\n error += singleError;\r\n }\r\n return error / modulo;\r\n};\r\n\r\nBarcodeReader.prototype._nextSet = function(line, offset) {\r\n var i;\r\n\r\n offset = offset || 0;\r\n for (i = offset; i < line.length; i++) {\r\n if (line[i]) {\r\n return i;\r\n }\r\n }\r\n return line.length;\r\n};\r\n\r\nBarcodeReader.prototype._correctBars = function(counter, correction, indices) {\r\n var length = indices.length,\r\n tmp = 0;\r\n while(length--) {\r\n tmp = counter[indices[length]] * (1 - ((1 - correction) / 2));\r\n if (tmp > 1) {\r\n counter[indices[length]] = tmp;\r\n }\r\n }\r\n}\r\n\r\nBarcodeReader.prototype._matchTrace = function(cmpCounter, epsilon) {\r\n var counter = [],\r\n i,\r\n self = this,\r\n offset = self._nextSet(self._row),\r\n isWhite = !self._row[offset],\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: 0\r\n },\r\n error;\r\n\r\n if (cmpCounter) {\r\n for ( i = 0; i < cmpCounter.length; i++) {\r\n counter.push(0);\r\n }\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n error = self._matchPattern(counter, cmpCounter);\r\n\r\n if (error < epsilon) {\r\n bestMatch.start = i - offset;\r\n bestMatch.end = i;\r\n bestMatch.counter = counter;\r\n return bestMatch;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n } else {\r\n counter.push(0);\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n counterPos++;\r\n counter.push(0);\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n }\r\n\r\n // if cmpCounter was not given\r\n bestMatch.start = offset;\r\n bestMatch.end = self._row.length - 1;\r\n bestMatch.counter = counter;\r\n return bestMatch;\r\n};\r\n\r\nBarcodeReader.prototype.decodePattern = function(pattern) {\r\n var self = this,\r\n result;\r\n\r\n self._row = pattern;\r\n result = self._decode();\r\n if (result === null) {\r\n self._row.reverse();\r\n result = self._decode();\r\n if (result) {\r\n result.direction = BarcodeReader.DIRECTION.REVERSE;\r\n result.start = self._row.length - result.start;\r\n result.end = self._row.length - result.end;\r\n }\r\n } else {\r\n result.direction = BarcodeReader.DIRECTION.FORWARD;\r\n }\r\n if (result) {\r\n result.format = self.FORMAT;\r\n }\r\n return result;\r\n};\r\n\r\nBarcodeReader.prototype._matchRange = function(start, end, value) {\r\n var i;\r\n\r\n start = start < 0 ? 0 : start;\r\n for (i = start; i < end; i++) {\r\n if (this._row[i] !== value) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\nBarcodeReader.prototype._fillCounters = function(offset, end, isWhite) {\r\n var self = this,\r\n counterPos = 0,\r\n i,\r\n counters = [];\r\n\r\n isWhite = (typeof isWhite !== 'undefined') ? isWhite : true;\r\n offset = (typeof offset !== 'undefined') ? offset : self._nextUnset(self._row);\r\n end = end || self._row.length;\r\n\r\n counters[counterPos] = 0;\r\n for (i = offset; i < end; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counters[counterPos]++;\r\n } else {\r\n counterPos++;\r\n counters[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return counters;\r\n};\r\n\r\nObject.defineProperty(BarcodeReader.prototype, \"FORMAT\", {\r\n value: 'unknown',\r\n writeable: false\r\n});\r\n\r\nBarcodeReader.DIRECTION = {\r\n FORWARD: 1,\r\n REVERSE: -1\r\n};\r\n\r\nBarcodeReader.Exception = {\r\n StartNotFoundException: \"Start-Info was not found!\",\r\n CodeNotFoundException: \"Code could not be found!\",\r\n PatternNotFoundException: \"Pattern could not be found!\"\r\n};\r\n\r\nBarcodeReader.CONFIG_KEYS = {};\r\n\r\nexport default BarcodeReader;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/barcode_reader.js\n **/","module.exports = clone\n\n/**\n * Creates a new vec2 initialized with values from an existing vector\n *\n * @param {vec2} a vector to clone\n * @returns {vec2} a new 2D vector\n */\nfunction clone(a) {\n var out = new Float32Array(2)\n out[0] = a[0]\n out[1] = a[1]\n return out\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/gl-vec2/clone.js\n ** module id = 10\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/eq.js\n ** module id = 11\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArguments.js\n ** module id = 12\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArrayLike.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObjectLike.js\n ** module id = 14\n ** module chunks = 0\n **/","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keys.js\n ** module id = 15\n ** module chunks = 0\n **/","export default {\r\n init: function(arr, val) {\r\n var l = arr.length;\r\n while (l--) {\r\n arr[l] = val;\r\n }\r\n },\r\n\r\n /**\r\n * Shuffles the content of an array\r\n * @return {Array} the array itself shuffled\r\n */\r\n shuffle: function(arr) {\r\n var i = arr.length - 1, j, x;\r\n for (i; i >= 0; i--) {\r\n j = Math.floor(Math.random() * i);\r\n x = arr[i];\r\n arr[i] = arr[j];\r\n arr[j] = x;\r\n }\r\n return arr;\r\n },\r\n\r\n toPointList: function(arr) {\r\n var i, j, row = [], rows = [];\r\n for ( i = 0; i < arr.length; i++) {\r\n row = [];\r\n for ( j = 0; j < arr[i].length; j++) {\r\n row[j] = arr[i][j];\r\n }\r\n rows[i] = \"[\" + row.join(\",\") + \"]\";\r\n }\r\n return \"[\" + rows.join(\",\\r\\n\") + \"]\";\r\n },\r\n\r\n /**\r\n * returns the elements which's score is bigger than the threshold\r\n * @return {Array} the reduced array\r\n */\r\n threshold: function(arr, threshold, scoreFunc) {\r\n var i, queue = [];\r\n for ( i = 0; i < arr.length; i++) {\r\n if (scoreFunc.apply(arr, [arr[i]]) >= threshold) {\r\n queue.push(arr[i]);\r\n }\r\n }\r\n return queue;\r\n },\r\n\r\n maxIndex: function(arr) {\r\n var i, max = 0;\r\n for ( i = 0; i < arr.length; i++) {\r\n if (arr[i] > arr[max]) {\r\n max = i;\r\n }\r\n }\r\n return max;\r\n },\r\n\r\n max: function(arr) {\r\n var i, max = 0;\r\n for ( i = 0; i < arr.length; i++) {\r\n if (arr[i] > max) {\r\n max = arr[i];\r\n }\r\n }\r\n return max;\r\n },\r\n\r\n sum: function(arr) {\r\n var length = arr.length,\r\n sum = 0;\r\n\r\n while (length--) {\r\n sum += arr[length];\r\n }\r\n return sum;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/array_helper.js\n **/","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_ListCache.js\n ** module id = 17\n ** module chunks = 0\n **/","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Stack.js\n ** module id = 18\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Symbol.js\n ** module id = 19\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assocIndexOf.js\n ** module id = 20\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getMapData.js\n ** module id = 21\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isHostObject.js\n ** module id = 22\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isKey.js\n ** module id = 23\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isPrototype.js\n ** module id = 24\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeCreate.js\n ** module id = 25\n ** module chunks = 0\n **/","import Cluster2 from './cluster';\r\nimport ArrayHelper from './array_helper';\r\nconst vec2 = {\r\n clone: require('gl-vec2/clone')\r\n};\r\nconst vec3 = {\r\n clone: require('gl-vec3/clone')\r\n};\r\n\r\n/**\r\n * @param x x-coordinate\r\n * @param y y-coordinate\r\n * @return ImageReference {x,y} Coordinate\r\n */\r\nexport function imageRef(x, y) {\r\n var that = {\r\n x: x,\r\n y: y,\r\n toVec2: function() {\r\n return vec2.clone([this.x, this.y]);\r\n },\r\n toVec3: function() {\r\n return vec3.clone([this.x, this.y, 1]);\r\n },\r\n round: function() {\r\n this.x = this.x > 0.0 ? Math.floor(this.x + 0.5) : Math.floor(this.x - 0.5);\r\n this.y = this.y > 0.0 ? Math.floor(this.y + 0.5) : Math.floor(this.y - 0.5);\r\n return this;\r\n }\r\n };\r\n return that;\r\n};\r\n\r\n/**\r\n * Computes an integral image of a given grayscale image.\r\n * @param imageDataContainer {ImageDataContainer} the image to be integrated\r\n */\r\nexport function computeIntegralImage2(imageWrapper, integralWrapper) {\r\n var imageData = imageWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0, posA = 0, posB = 0, posC = 0, posD = 0, x, y;\r\n\r\n // sum up first column\r\n posB = width;\r\n sum = 0;\r\n for ( y = 1; y < height; y++) {\r\n sum += imageData[posA];\r\n integralImageData[posB] += sum;\r\n posA += width;\r\n posB += width;\r\n }\r\n\r\n posA = 0;\r\n posB = 1;\r\n sum = 0;\r\n for ( x = 1; x < width; x++) {\r\n sum += imageData[posA];\r\n integralImageData[posB] += sum;\r\n posA++;\r\n posB++;\r\n }\r\n\r\n for ( y = 1; y < height; y++) {\r\n posA = y * width + 1;\r\n posB = (y - 1) * width + 1;\r\n posC = y * width;\r\n posD = (y - 1) * width;\r\n for ( x = 1; x < width; x++) {\r\n integralImageData[posA] +=\r\n imageData[posA] + integralImageData[posB] + integralImageData[posC] - integralImageData[posD];\r\n posA++;\r\n posB++;\r\n posC++;\r\n posD++;\r\n }\r\n }\r\n};\r\n\r\nexport function computeIntegralImage(imageWrapper, integralWrapper) {\r\n var imageData = imageWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0;\r\n\r\n // sum up first row\r\n for (var i = 0; i < width; i++) {\r\n sum += imageData[i];\r\n integralImageData[i] = sum;\r\n }\r\n\r\n for (var v = 1; v < height; v++) {\r\n sum = 0;\r\n for (var u = 0; u < width; u++) {\r\n sum += imageData[v * width + u];\r\n integralImageData[((v) * width) + u] = sum + integralImageData[(v - 1) * width + u];\r\n }\r\n }\r\n};\r\n\r\nexport function thresholdImage(imageWrapper, threshold, targetWrapper) {\r\n if (!targetWrapper) {\r\n targetWrapper = imageWrapper;\r\n }\r\n var imageData = imageWrapper.data, length = imageData.length, targetData = targetWrapper.data;\r\n\r\n while (length--) {\r\n targetData[length] = imageData[length] < threshold ? 1 : 0;\r\n }\r\n};\r\n\r\nexport function computeHistogram(imageWrapper, bitsPerPixel) {\r\n if (!bitsPerPixel) {\r\n bitsPerPixel = 8;\r\n }\r\n var imageData = imageWrapper.data,\r\n length = imageData.length,\r\n bitShift = 8 - bitsPerPixel,\r\n bucketCnt = 1 << bitsPerPixel,\r\n hist = new Int32Array(bucketCnt);\r\n\r\n while (length--) {\r\n hist[imageData[length] >> bitShift]++;\r\n }\r\n return hist;\r\n};\r\n\r\nexport function sharpenLine(line) {\r\n var i,\r\n length = line.length,\r\n left = line[0],\r\n center = line[1],\r\n right;\r\n\r\n for (i = 1; i < length - 1; i++) {\r\n right = line[i + 1];\r\n // -1 4 -1 kernel\r\n line[i - 1] = (((center * 2) - left - right)) & 255;\r\n left = center;\r\n center = right;\r\n }\r\n return line;\r\n};\r\n\r\nexport function determineOtsuThreshold(imageWrapper, bitsPerPixel) {\r\n if (!bitsPerPixel) {\r\n bitsPerPixel = 8;\r\n }\r\n var hist,\r\n threshold,\r\n bitShift = 8 - bitsPerPixel;\r\n\r\n function px(init, end) {\r\n var sum = 0, i;\r\n for ( i = init; i <= end; i++) {\r\n sum += hist[i];\r\n }\r\n return sum;\r\n }\r\n\r\n function mx(init, end) {\r\n var i, sum = 0;\r\n\r\n for ( i = init; i <= end; i++) {\r\n sum += i * hist[i];\r\n }\r\n\r\n return sum;\r\n }\r\n\r\n function determineThreshold() {\r\n var vet = [0], p1, p2, p12, k, m1, m2, m12,\r\n max = (1 << bitsPerPixel) - 1;\r\n\r\n hist = computeHistogram(imageWrapper, bitsPerPixel);\r\n for ( k = 1; k < max; k++) {\r\n p1 = px(0, k);\r\n p2 = px(k + 1, max);\r\n p12 = p1 * p2;\r\n if (p12 === 0) {\r\n p12 = 1;\r\n }\r\n m1 = mx(0, k) * p2;\r\n m2 = mx(k + 1, max) * p1;\r\n m12 = m1 - m2;\r\n vet[k] = m12 * m12 / p12;\r\n }\r\n return ArrayHelper.maxIndex(vet);\r\n }\r\n\r\n threshold = determineThreshold();\r\n return threshold << bitShift;\r\n};\r\n\r\nexport function otsuThreshold(imageWrapper, targetWrapper) {\r\n var threshold = determineOtsuThreshold(imageWrapper);\r\n\r\n thresholdImage(imageWrapper, threshold, targetWrapper);\r\n return threshold;\r\n};\r\n\r\n// local thresholding\r\nexport function computeBinaryImage(imageWrapper, integralWrapper, targetWrapper) {\r\n computeIntegralImage(imageWrapper, integralWrapper);\r\n\r\n if (!targetWrapper) {\r\n targetWrapper = imageWrapper;\r\n }\r\n var imageData = imageWrapper.data;\r\n var targetData = targetWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0, v, u, kernel = 3, A, B, C, D, avg, size = (kernel * 2 + 1) * (kernel * 2 + 1);\r\n\r\n // clear out top & bottom-border\r\n for ( v = 0; v <= kernel; v++) {\r\n for ( u = 0; u < width; u++) {\r\n targetData[((v) * width) + u] = 0;\r\n targetData[(((height - 1) - v) * width) + u] = 0;\r\n }\r\n }\r\n\r\n // clear out left & right border\r\n for ( v = kernel; v < height - kernel; v++) {\r\n for ( u = 0; u <= kernel; u++) {\r\n targetData[((v) * width) + u] = 0;\r\n targetData[((v) * width) + (width - 1 - u)] = 0;\r\n }\r\n }\r\n\r\n for ( v = kernel + 1; v < height - kernel - 1; v++) {\r\n for ( u = kernel + 1; u < width - kernel; u++) {\r\n A = integralImageData[(v - kernel - 1) * width + (u - kernel - 1)];\r\n B = integralImageData[(v - kernel - 1) * width + (u + kernel)];\r\n C = integralImageData[(v + kernel) * width + (u - kernel - 1)];\r\n D = integralImageData[(v + kernel) * width + (u + kernel)];\r\n sum = D - C - B + A;\r\n avg = sum / (size);\r\n targetData[v * width + u] = imageData[v * width + u] > (avg + 5) ? 0 : 1;\r\n }\r\n }\r\n};\r\n\r\nexport function cluster(points, threshold, property) {\r\n var i, k, cluster, point, clusters = [];\r\n\r\n if (!property) {\r\n property = \"rad\";\r\n }\r\n\r\n function addToCluster(newPoint) {\r\n var found = false;\r\n for ( k = 0; k < clusters.length; k++) {\r\n cluster = clusters[k];\r\n if (cluster.fits(newPoint)) {\r\n cluster.add(newPoint);\r\n found = true;\r\n }\r\n }\r\n return found;\r\n }\r\n\r\n // iterate over each cloud\r\n for ( i = 0; i < points.length; i++) {\r\n point = Cluster2.createPoint(points[i], i, property);\r\n if (!addToCluster(point)) {\r\n clusters.push(Cluster2.create(point, threshold));\r\n }\r\n }\r\n return clusters;\r\n};\r\n\r\nexport const Tracer = {\r\n trace: function(points, vec) {\r\n var iteration, maxIterations = 10, top = [], result = [], centerPos = 0, currentPos = 0;\r\n\r\n function trace(idx, forward) {\r\n var from, to, toIdx, predictedPos, thresholdX = 1, thresholdY = Math.abs(vec[1] / 10), found = false;\r\n\r\n function match(pos, predicted) {\r\n if (pos.x > (predicted.x - thresholdX)\r\n && pos.x < (predicted.x + thresholdX)\r\n && pos.y > (predicted.y - thresholdY)\r\n && pos.y < (predicted.y + thresholdY)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // check if the next index is within the vec specifications\r\n // if not, check as long as the threshold is met\r\n\r\n from = points[idx];\r\n if (forward) {\r\n predictedPos = {\r\n x: from.x + vec[0],\r\n y: from.y + vec[1]\r\n };\r\n } else {\r\n predictedPos = {\r\n x: from.x - vec[0],\r\n y: from.y - vec[1]\r\n };\r\n }\r\n\r\n toIdx = forward ? idx + 1 : idx - 1;\r\n to = points[toIdx];\r\n while (to && ( found = match(to, predictedPos)) !== true && (Math.abs(to.y - from.y) < vec[1])) {\r\n toIdx = forward ? toIdx + 1 : toIdx - 1;\r\n to = points[toIdx];\r\n }\r\n\r\n return found ? toIdx : null;\r\n }\r\n\r\n for ( iteration = 0; iteration < maxIterations; iteration++) {\r\n // randomly select point to start with\r\n centerPos = Math.floor(Math.random() * points.length);\r\n\r\n // trace forward\r\n top = [];\r\n currentPos = centerPos;\r\n top.push(points[currentPos]);\r\n while (( currentPos = trace(currentPos, true)) !== null) {\r\n top.push(points[currentPos]);\r\n }\r\n if (centerPos > 0) {\r\n currentPos = centerPos;\r\n while (( currentPos = trace(currentPos, false)) !== null) {\r\n top.push(points[currentPos]);\r\n }\r\n }\r\n\r\n if (top.length > result.length) {\r\n result = top;\r\n }\r\n }\r\n return result;\r\n }\r\n};\r\n\r\nexport const DILATE = 1;\r\nexport const ERODE = 2;\r\n\r\nexport function dilate(inImageWrapper, outImageWrapper) {\r\n var v,\r\n u,\r\n inImageData = inImageWrapper.data,\r\n outImageData = outImageWrapper.data,\r\n height = inImageWrapper.size.y,\r\n width = inImageWrapper.size.x,\r\n sum,\r\n yStart1,\r\n yStart2,\r\n xStart1,\r\n xStart2;\r\n\r\n for ( v = 1; v < height - 1; v++) {\r\n for ( u = 1; u < width - 1; u++) {\r\n yStart1 = v - 1;\r\n yStart2 = v + 1;\r\n xStart1 = u - 1;\r\n xStart2 = u + 1;\r\n sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] +\r\n inImageData[v * width + u] +\r\n inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2];\r\n outImageData[v * width + u] = sum > 0 ? 1 : 0;\r\n }\r\n }\r\n};\r\n\r\nexport function erode(inImageWrapper, outImageWrapper) {\r\n var v,\r\n u,\r\n inImageData = inImageWrapper.data,\r\n outImageData = outImageWrapper.data,\r\n height = inImageWrapper.size.y,\r\n width = inImageWrapper.size.x,\r\n sum,\r\n yStart1,\r\n yStart2,\r\n xStart1,\r\n xStart2;\r\n\r\n for ( v = 1; v < height - 1; v++) {\r\n for ( u = 1; u < width - 1; u++) {\r\n yStart1 = v - 1;\r\n yStart2 = v + 1;\r\n xStart1 = u - 1;\r\n xStart2 = u + 1;\r\n sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] +\r\n inImageData[v * width + u] +\r\n inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2];\r\n outImageData[v * width + u] = sum === 5 ? 1 : 0;\r\n }\r\n }\r\n};\r\n\r\nexport function subtract(aImageWrapper, bImageWrapper, resultImageWrapper) {\r\n if (!resultImageWrapper) {\r\n resultImageWrapper = aImageWrapper;\r\n }\r\n var length = aImageWrapper.data.length,\r\n aImageData = aImageWrapper.data,\r\n bImageData = bImageWrapper.data,\r\n cImageData = resultImageWrapper.data;\r\n\r\n while (length--) {\r\n cImageData[length] = aImageData[length] - bImageData[length];\r\n }\r\n};\r\n\r\nexport function bitwiseOr(aImageWrapper, bImageWrapper, resultImageWrapper) {\r\n if (!resultImageWrapper) {\r\n resultImageWrapper = aImageWrapper;\r\n }\r\n var length = aImageWrapper.data.length,\r\n aImageData = aImageWrapper.data,\r\n bImageData = bImageWrapper.data,\r\n cImageData = resultImageWrapper.data;\r\n\r\n while (length--) {\r\n cImageData[length] = aImageData[length] || bImageData[length];\r\n }\r\n};\r\n\r\nexport function countNonZero(imageWrapper) {\r\n var length = imageWrapper.data.length, data = imageWrapper.data, sum = 0;\r\n\r\n while (length--) {\r\n sum += data[length];\r\n }\r\n return sum;\r\n};\r\n\r\nexport function topGeneric(list, top, scoreFunc) {\r\n var i, minIdx = 0, min = 0, queue = [], score, hit, pos;\r\n\r\n for ( i = 0; i < top; i++) {\r\n queue[i] = {\r\n score: 0,\r\n item: null\r\n };\r\n }\r\n\r\n for ( i = 0; i < list.length; i++) {\r\n score = scoreFunc.apply(this, [list[i]]);\r\n if (score > min) {\r\n hit = queue[minIdx];\r\n hit.score = score;\r\n hit.item = list[i];\r\n min = Number.MAX_VALUE;\r\n for ( pos = 0; pos < top; pos++) {\r\n if (queue[pos].score < min) {\r\n min = queue[pos].score;\r\n minIdx = pos;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return queue;\r\n};\r\n\r\nexport function grayArrayFromImage(htmlImage, offsetX, ctx, array) {\r\n ctx.drawImage(htmlImage, offsetX, 0, htmlImage.width, htmlImage.height);\r\n var ctxData = ctx.getImageData(offsetX, 0, htmlImage.width, htmlImage.height).data;\r\n computeGray(ctxData, array);\r\n};\r\n\r\nexport function grayArrayFromContext(ctx, size, offset, array) {\r\n var ctxData = ctx.getImageData(offset.x, offset.y, size.x, size.y).data;\r\n computeGray(ctxData, array);\r\n};\r\n\r\nexport function grayAndHalfSampleFromCanvasData(canvasData, size, outArray) {\r\n var topRowIdx = 0;\r\n var bottomRowIdx = size.x;\r\n var endIdx = Math.floor(canvasData.length / 4);\r\n var outWidth = size.x / 2;\r\n var outImgIdx = 0;\r\n var inWidth = size.x;\r\n var i;\r\n\r\n while (bottomRowIdx < endIdx) {\r\n for ( i = 0; i < outWidth; i++) {\r\n outArray[outImgIdx] = Math.floor((\r\n (0.299 * canvasData[topRowIdx * 4 + 0] +\r\n 0.587 * canvasData[topRowIdx * 4 + 1] +\r\n 0.114 * canvasData[topRowIdx * 4 + 2]) +\r\n (0.299 * canvasData[(topRowIdx + 1) * 4 + 0] +\r\n 0.587 * canvasData[(topRowIdx + 1) * 4 + 1] +\r\n 0.114 * canvasData[(topRowIdx + 1) * 4 + 2]) +\r\n (0.299 * canvasData[(bottomRowIdx) * 4 + 0] +\r\n 0.587 * canvasData[(bottomRowIdx) * 4 + 1] +\r\n 0.114 * canvasData[(bottomRowIdx) * 4 + 2]) +\r\n (0.299 * canvasData[(bottomRowIdx + 1) * 4 + 0] +\r\n 0.587 * canvasData[(bottomRowIdx + 1) * 4 + 1] +\r\n 0.114 * canvasData[(bottomRowIdx + 1) * 4 + 2])) / 4);\r\n outImgIdx++;\r\n topRowIdx = topRowIdx + 2;\r\n bottomRowIdx = bottomRowIdx + 2;\r\n }\r\n topRowIdx = topRowIdx + inWidth;\r\n bottomRowIdx = bottomRowIdx + inWidth;\r\n }\r\n};\r\n\r\nexport function computeGray(imageData, outArray, config) {\r\n var l = (imageData.length / 4) | 0,\r\n i,\r\n singleChannel = config && config.singleChannel === true;\r\n\r\n if (singleChannel) {\r\n for (i = 0; i < l; i++) {\r\n outArray[i] = imageData[i * 4 + 0];\r\n }\r\n } else {\r\n for (i = 0; i < l; i++) {\r\n outArray[i] = Math.floor(\r\n 0.299 * imageData[i * 4 + 0] + 0.587 * imageData[i * 4 + 1] + 0.114 * imageData[i * 4 + 2]);\r\n }\r\n }\r\n};\r\n\r\nexport function loadImageArray(src, callback, canvas) {\r\n if (!canvas) {\r\n canvas = document.createElement('canvas');\r\n }\r\n var img = new Image();\r\n img.callback = callback;\r\n img.onload = function() {\r\n canvas.width = this.width;\r\n canvas.height = this.height;\r\n var ctx = canvas.getContext('2d');\r\n ctx.drawImage(this, 0, 0);\r\n var array = new Uint8Array(this.width * this.height);\r\n ctx.drawImage(this, 0, 0);\r\n var data = ctx.getImageData(0, 0, this.width, this.height).data;\r\n computeGray(data, array);\r\n this.callback(array, {\r\n x: this.width,\r\n y: this.height\r\n }, this);\r\n };\r\n img.src = src;\r\n};\r\n\r\n/**\r\n * @param inImg {ImageWrapper} input image to be sampled\r\n * @param outImg {ImageWrapper} to be stored in\r\n */\r\nexport function halfSample(inImgWrapper, outImgWrapper) {\r\n var inImg = inImgWrapper.data;\r\n var inWidth = inImgWrapper.size.x;\r\n var outImg = outImgWrapper.data;\r\n var topRowIdx = 0;\r\n var bottomRowIdx = inWidth;\r\n var endIdx = inImg.length;\r\n var outWidth = inWidth / 2;\r\n var outImgIdx = 0;\r\n while (bottomRowIdx < endIdx) {\r\n for (var i = 0; i < outWidth; i++) {\r\n outImg[outImgIdx] = Math.floor(\r\n (inImg[topRowIdx] + inImg[topRowIdx + 1] + inImg[bottomRowIdx] + inImg[bottomRowIdx + 1]) / 4);\r\n outImgIdx++;\r\n topRowIdx = topRowIdx + 2;\r\n bottomRowIdx = bottomRowIdx + 2;\r\n }\r\n topRowIdx = topRowIdx + inWidth;\r\n bottomRowIdx = bottomRowIdx + inWidth;\r\n }\r\n};\r\n\r\nexport function hsv2rgb(hsv, rgb) {\r\n var h = hsv[0],\r\n s = hsv[1],\r\n v = hsv[2],\r\n c = v * s,\r\n x = c * (1 - Math.abs((h / 60) % 2 - 1)),\r\n m = v - c,\r\n r = 0,\r\n g = 0,\r\n b = 0;\r\n\r\n rgb = rgb || [0, 0, 0];\r\n\r\n if (h < 60) {\r\n r = c;\r\n g = x;\r\n } else if (h < 120) {\r\n r = x;\r\n g = c;\r\n } else if (h < 180) {\r\n g = c;\r\n b = x;\r\n } else if (h < 240) {\r\n g = x;\r\n b = c;\r\n } else if (h < 300) {\r\n r = x;\r\n b = c;\r\n } else if (h < 360) {\r\n r = c;\r\n b = x;\r\n }\r\n rgb[0] = ((r + m) * 255) | 0;\r\n rgb[1] = ((g + m) * 255) | 0;\r\n rgb[2] = ((b + m) * 255) | 0;\r\n return rgb;\r\n};\r\n\r\nexport function _computeDivisors(n) {\r\n var largeDivisors = [],\r\n divisors = [],\r\n i;\r\n\r\n for (i = 1; i < Math.sqrt(n) + 1; i++) {\r\n if (n % i === 0) {\r\n divisors.push(i);\r\n if (i !== n / i) {\r\n largeDivisors.unshift(Math.floor(n / i));\r\n }\r\n }\r\n }\r\n return divisors.concat(largeDivisors);\r\n};\r\n\r\nfunction _computeIntersection(arr1, arr2) {\r\n var i = 0,\r\n j = 0,\r\n result = [];\r\n\r\n while (i < arr1.length && j < arr2.length) {\r\n if (arr1[i] === arr2[j]) {\r\n result.push(arr1[i]);\r\n i++;\r\n j++;\r\n } else if (arr1[i] > arr2[j]) {\r\n j++;\r\n } else {\r\n i++;\r\n }\r\n }\r\n return result;\r\n};\r\n\r\nexport function calculatePatchSize(patchSize, imgSize) {\r\n var divisorsX = _computeDivisors(imgSize.x),\r\n divisorsY = _computeDivisors(imgSize.y),\r\n wideSide = Math.max(imgSize.x, imgSize.y),\r\n common = _computeIntersection(divisorsX, divisorsY),\r\n nrOfPatchesList = [8, 10, 15, 20, 32, 60, 80],\r\n nrOfPatchesMap = {\r\n \"x-small\": 5,\r\n \"small\": 4,\r\n \"medium\": 3,\r\n \"large\": 2,\r\n \"x-large\": 1\r\n },\r\n nrOfPatchesIdx = nrOfPatchesMap[patchSize] || nrOfPatchesMap.medium,\r\n nrOfPatches = nrOfPatchesList[nrOfPatchesIdx],\r\n desiredPatchSize = Math.floor(wideSide / nrOfPatches),\r\n optimalPatchSize;\r\n\r\n function findPatchSizeForDivisors(divisors) {\r\n var i = 0,\r\n found = divisors[Math.floor(divisors.length / 2)];\r\n\r\n while (i < (divisors.length - 1) && divisors[i] < desiredPatchSize) {\r\n i++;\r\n }\r\n if (i > 0) {\r\n if (Math.abs(divisors[i] - desiredPatchSize) > Math.abs(divisors[i - 1] - desiredPatchSize)) {\r\n found = divisors[i - 1];\r\n } else {\r\n found = divisors[i];\r\n }\r\n }\r\n if (desiredPatchSize / found < nrOfPatchesList[nrOfPatchesIdx + 1] / nrOfPatchesList[nrOfPatchesIdx] &&\r\n desiredPatchSize / found > nrOfPatchesList[nrOfPatchesIdx - 1] / nrOfPatchesList[nrOfPatchesIdx] ) {\r\n return {x: found, y: found};\r\n }\r\n return null;\r\n }\r\n\r\n optimalPatchSize = findPatchSizeForDivisors(common);\r\n if (!optimalPatchSize) {\r\n optimalPatchSize = findPatchSizeForDivisors(_computeDivisors(wideSide));\r\n if (!optimalPatchSize) {\r\n optimalPatchSize = findPatchSizeForDivisors((_computeDivisors(desiredPatchSize * nrOfPatches)));\r\n }\r\n }\r\n return optimalPatchSize;\r\n};\r\n\r\nexport function _parseCSSDimensionValues(value) {\r\n var dimension = {\r\n value: parseFloat(value),\r\n unit: value.indexOf(\"%\") === value.length - 1 ? \"%\" : \"%\"\r\n };\r\n\r\n return dimension;\r\n};\r\n\r\nexport const _dimensionsConverters = {\r\n top: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.height * (dimension.value / 100));\r\n }\r\n },\r\n right: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.width - (context.width * (dimension.value / 100)));\r\n }\r\n },\r\n bottom: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.height - (context.height * (dimension.value / 100)));\r\n }\r\n },\r\n left: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.width * (dimension.value / 100));\r\n }\r\n }\r\n};\r\n\r\nexport function computeImageArea(inputWidth, inputHeight, area) {\r\n var context = {width: inputWidth, height: inputHeight};\r\n\r\n var parsedArea = Object.keys(area).reduce(function(result, key) {\r\n var value = area[key],\r\n parsed = _parseCSSDimensionValues(value),\r\n calculated = _dimensionsConverters[key](parsed, context);\r\n\r\n result[key] = calculated;\r\n return result;\r\n }, {});\r\n\r\n return {\r\n sx: parsedArea.left,\r\n sy: parsedArea.top,\r\n sw: parsedArea.right - parsedArea.left,\r\n sh: parsedArea.bottom - parsedArea.top\r\n };\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/cv_utils.js\n **/","import SubImage from './subImage';\r\nimport {hsv2rgb} from '../common/cv_utils';\r\nimport ArrayHelper from '../common/array_helper';\r\nconst vec2 = {\r\n clone: require('gl-vec2/clone'),\r\n};\r\n\r\n/**\r\n * Represents a basic image combining the data and size.\r\n * In addition, some methods for manipulation are contained.\r\n * @param size {x,y} The size of the image in pixel\r\n * @param data {Array} If given, a flat array containing the pixel data\r\n * @param ArrayType {Type} If given, the desired DataType of the Array (may be typed/non-typed)\r\n * @param initialize {Boolean} Indicating if the array should be initialized on creation.\r\n * @returns {ImageWrapper}\r\n */\r\nfunction ImageWrapper(size, data, ArrayType, initialize) {\r\n if (!data) {\r\n if (ArrayType) {\r\n this.data = new ArrayType(size.x * size.y);\r\n if (ArrayType === Array && initialize) {\r\n ArrayHelper.init(this.data, 0);\r\n }\r\n } else {\r\n this.data = new Uint8Array(size.x * size.y);\r\n if (Uint8Array === Array && initialize) {\r\n ArrayHelper.init(this.data, 0);\r\n }\r\n }\r\n } else {\r\n this.data = data;\r\n }\r\n this.size = size;\r\n}\r\n\r\n/**\r\n * tests if a position is within the image with a given offset\r\n * @param imgRef {x, y} The location to test\r\n * @param border Number the padding value in pixel\r\n * @returns {Boolean} true if location inside the image's border, false otherwise\r\n * @see cvd/image.h\r\n */\r\nImageWrapper.prototype.inImageWithBorder = function(imgRef, border) {\r\n return (imgRef.x >= border)\r\n && (imgRef.y >= border)\r\n && (imgRef.x < (this.size.x - border))\r\n && (imgRef.y < (this.size.y - border));\r\n};\r\n\r\n/**\r\n * Performs bilinear sampling\r\n * @param inImg Image to extract sample from\r\n * @param x the x-coordinate\r\n * @param y the y-coordinate\r\n * @returns the sampled value\r\n * @see cvd/vision.h\r\n */\r\nImageWrapper.sample = function(inImg, x, y) {\r\n var lx = Math.floor(x);\r\n var ly = Math.floor(y);\r\n var w = inImg.size.x;\r\n var base = ly * inImg.size.x + lx;\r\n var a = inImg.data[base + 0];\r\n var b = inImg.data[base + 1];\r\n var c = inImg.data[base + w];\r\n var d = inImg.data[base + w + 1];\r\n var e = a - b;\r\n x -= lx;\r\n y -= ly;\r\n\r\n var result = Math.floor(x * (y * (e - c + d) - e) + y * (c - a) + a);\r\n return result;\r\n};\r\n\r\n/**\r\n * Initializes a given array. Sets each element to zero.\r\n * @param array {Array} The array to initialize\r\n */\r\nImageWrapper.clearArray = function(array) {\r\n var l = array.length;\r\n while (l--) {\r\n array[l] = 0;\r\n }\r\n};\r\n\r\n/**\r\n * Creates a {SubImage} from the current image ({this}).\r\n * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner)\r\n * @param size {ImageRef} The size of the resulting image\r\n * @returns {SubImage} A shared part of the original image\r\n */\r\nImageWrapper.prototype.subImage = function(from, size) {\r\n return new SubImage(from, size, this);\r\n};\r\n\r\n/**\r\n * Creates an {ImageWrapper) and copies the needed underlying image-data area\r\n * @param imageWrapper {ImageWrapper} The target {ImageWrapper} where the data should be copied\r\n * @param from {ImageRef} The location where to copy from (top-left location)\r\n */\r\nImageWrapper.prototype.subImageAsCopy = function(imageWrapper, from) {\r\n var sizeY = imageWrapper.size.y, sizeX = imageWrapper.size.x;\r\n var x, y;\r\n for ( x = 0; x < sizeX; x++) {\r\n for ( y = 0; y < sizeY; y++) {\r\n imageWrapper.data[y * sizeX + x] = this.data[(from.y + y) * this.size.x + from.x + x];\r\n }\r\n }\r\n};\r\n\r\nImageWrapper.prototype.copyTo = function(imageWrapper) {\r\n var length = this.data.length, srcData = this.data, dstData = imageWrapper.data;\r\n\r\n while (length--) {\r\n dstData[length] = srcData[length];\r\n }\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nImageWrapper.prototype.get = function(x, y) {\r\n return this.data[y * this.size.x + x];\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nImageWrapper.prototype.getSafe = function(x, y) {\r\n var i;\r\n\r\n if (!this.indexMapping) {\r\n this.indexMapping = {\r\n x: [],\r\n y: []\r\n };\r\n for (i = 0; i < this.size.x; i++) {\r\n this.indexMapping.x[i] = i;\r\n this.indexMapping.x[i + this.size.x] = i;\r\n }\r\n for (i = 0; i < this.size.y; i++) {\r\n this.indexMapping.y[i] = i;\r\n this.indexMapping.y[i + this.size.y] = i;\r\n }\r\n }\r\n return this.data[(this.indexMapping.y[y + this.size.y]) * this.size.x + this.indexMapping.x[x + this.size.x]];\r\n};\r\n\r\n/**\r\n * Sets a given pixel position in the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @param value {Number} The grayscale value to set\r\n * @returns {ImageWrapper} The Image itself (for possible chaining)\r\n */\r\nImageWrapper.prototype.set = function(x, y, value) {\r\n this.data[y * this.size.x + x] = value;\r\n return this;\r\n};\r\n\r\n/**\r\n * Sets the border of the image (1 pixel) to zero\r\n */\r\nImageWrapper.prototype.zeroBorder = function() {\r\n var i, width = this.size.x, height = this.size.y, data = this.data;\r\n for ( i = 0; i < width; i++) {\r\n data[i] = data[(height - 1) * width + i] = 0;\r\n }\r\n for ( i = 1; i < height - 1; i++) {\r\n data[i * width] = data[i * width + (width - 1)] = 0;\r\n }\r\n};\r\n\r\n/**\r\n * Inverts a binary image in place\r\n */\r\nImageWrapper.prototype.invert = function() {\r\n var data = this.data, length = data.length;\r\n\r\n while (length--) {\r\n data[length] = data[length] ? 0 : 1;\r\n }\r\n};\r\n\r\nImageWrapper.prototype.convolve = function(kernel) {\r\n var x, y, kx, ky, kSize = (kernel.length / 2) | 0, accu = 0;\r\n for ( y = 0; y < this.size.y; y++) {\r\n for ( x = 0; x < this.size.x; x++) {\r\n accu = 0;\r\n for ( ky = -kSize; ky <= kSize; ky++) {\r\n for ( kx = -kSize; kx <= kSize; kx++) {\r\n accu += kernel[ky + kSize][kx + kSize] * this.getSafe(x + kx, y + ky);\r\n }\r\n }\r\n this.data[y * this.size.x + x] = accu;\r\n }\r\n }\r\n};\r\n\r\nImageWrapper.prototype.moments = function(labelcount) {\r\n var data = this.data,\r\n x,\r\n y,\r\n height = this.size.y,\r\n width = this.size.x,\r\n val,\r\n ysq,\r\n labelsum = [],\r\n i,\r\n label,\r\n mu11,\r\n mu02,\r\n mu20,\r\n x_,\r\n y_,\r\n tmp,\r\n result = [],\r\n PI = Math.PI,\r\n PI_4 = PI / 4;\r\n\r\n if (labelcount <= 0) {\r\n return result;\r\n }\r\n\r\n for ( i = 0; i < labelcount; i++) {\r\n labelsum[i] = {\r\n m00: 0,\r\n m01: 0,\r\n m10: 0,\r\n m11: 0,\r\n m02: 0,\r\n m20: 0,\r\n theta: 0,\r\n rad: 0\r\n };\r\n }\r\n\r\n for ( y = 0; y < height; y++) {\r\n ysq = y * y;\r\n for ( x = 0; x < width; x++) {\r\n val = data[y * width + x];\r\n if (val > 0) {\r\n label = labelsum[val - 1];\r\n label.m00 += 1;\r\n label.m01 += y;\r\n label.m10 += x;\r\n label.m11 += x * y;\r\n label.m02 += ysq;\r\n label.m20 += x * x;\r\n }\r\n }\r\n }\r\n\r\n for ( i = 0; i < labelcount; i++) {\r\n label = labelsum[i];\r\n if (!isNaN(label.m00) && label.m00 !== 0) {\r\n x_ = label.m10 / label.m00;\r\n y_ = label.m01 / label.m00;\r\n mu11 = label.m11 / label.m00 - x_ * y_;\r\n mu02 = label.m02 / label.m00 - y_ * y_;\r\n mu20 = label.m20 / label.m00 - x_ * x_;\r\n tmp = (mu02 - mu20) / (2 * mu11);\r\n tmp = 0.5 * Math.atan(tmp) + (mu11 >= 0 ? PI_4 : -PI_4 ) + PI;\r\n label.theta = (tmp * 180 / PI + 90) % 180 - 90;\r\n if (label.theta < 0) {\r\n label.theta += 180;\r\n }\r\n label.rad = tmp > PI ? tmp - PI : tmp;\r\n label.vec = vec2.clone([Math.cos(tmp), Math.sin(tmp)]);\r\n result.push(label);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Displays the {ImageWrapper} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nImageWrapper.prototype.show = function(canvas, scale) {\r\n var ctx,\r\n frame,\r\n data,\r\n current,\r\n pixel,\r\n x,\r\n y;\r\n\r\n if (!scale) {\r\n scale = 1.0;\r\n }\r\n ctx = canvas.getContext('2d');\r\n canvas.width = this.size.x;\r\n canvas.height = this.size.y;\r\n frame = ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n data = frame.data;\r\n current = 0;\r\n for (y = 0; y < this.size.y; y++) {\r\n for (x = 0; x < this.size.x; x++) {\r\n pixel = y * this.size.x + x;\r\n current = this.get(x, y) * scale;\r\n data[pixel * 4 + 0] = current;\r\n data[pixel * 4 + 1] = current;\r\n data[pixel * 4 + 2] = current;\r\n data[pixel * 4 + 3] = 255;\r\n }\r\n }\r\n //frame.data = data;\r\n ctx.putImageData(frame, 0, 0);\r\n};\r\n\r\n/**\r\n * Displays the {SubImage} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nImageWrapper.prototype.overlay = function(canvas, scale, from) {\r\n if (!scale || scale < 0 || scale > 360) {\r\n scale = 360;\r\n }\r\n var hsv = [0, 1, 1];\r\n var rgb = [0, 0, 0];\r\n var whiteRgb = [255, 255, 255];\r\n var blackRgb = [0, 0, 0];\r\n var result = [];\r\n var ctx = canvas.getContext('2d');\r\n var frame = ctx.getImageData(from.x, from.y, this.size.x, this.size.y);\r\n var data = frame.data;\r\n var length = this.data.length;\r\n while (length--) {\r\n hsv[0] = this.data[length] * scale;\r\n result = hsv[0] <= 0 ? whiteRgb : hsv[0] >= 360 ? blackRgb : hsv2rgb(hsv, rgb);\r\n data[length * 4 + 0] = result[0];\r\n data[length * 4 + 1] = result[1];\r\n data[length * 4 + 2] = result[2];\r\n data[length * 4 + 3] = 255;\r\n }\r\n ctx.putImageData(frame, from.x, from.y);\r\n};\r\n\r\nexport default ImageWrapper;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/image_wrapper.js\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Map.js\n ** module id = 28\n ** module chunks = 0\n **/","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_MapCache.js\n ** module id = 29\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayMap.js\n ** module id = 30\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayPush.js\n ** module id = 31\n ** module chunks = 0\n **/","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = baseRest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseRest.js\n ** module id = 32\n ** module chunks = 0\n **/","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneArrayBuffer.js\n ** module id = 33\n ** module chunks = 0\n **/","var assignValue = require('./_assignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyObject.js\n ** module id = 34\n ** module chunks = 0\n **/","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getPrototype.js\n ** module id = 35\n ** module chunks = 0\n **/","var overArg = require('./_overArg'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\nmodule.exports = getSymbols;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getSymbols.js\n ** module id = 36\n ** module chunks = 0\n **/","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getTag.js\n ** module id = 37\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isIndex.js\n ** module id = 38\n ** module chunks = 0\n **/","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_overArg.js\n ** module id = 39\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isFunction.js\n ** module id = 40\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isLength.js\n ** module id = 41\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isSymbol.js\n ** module id = 42\n ** module chunks = 0\n **/","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isTypedArray.js\n ** module id = 43\n ** module chunks = 0\n **/","import ImageDebug from '../common/image_debug';\r\n\r\nfunction contains(codeResult, list) {\r\n if (list) {\r\n return list.some(function (item) {\r\n return Object.keys(item).every(function (key) {\r\n return item[key] === codeResult[key];\r\n });\r\n });\r\n }\r\n return false;\r\n}\r\n\r\nfunction passesFilter(codeResult, filter) {\r\n if (typeof filter === 'function') {\r\n return filter(codeResult);\r\n }\r\n return true;\r\n}\r\n\r\nexport default {\r\n create: function(config) {\r\n var canvas = document.createElement(\"canvas\"),\r\n ctx = canvas.getContext(\"2d\"),\r\n results = [],\r\n capacity = config.capacity || 20,\r\n capture = config.capture === true;\r\n\r\n function matchesConstraints(codeResult) {\r\n return capacity\r\n && codeResult\r\n && !contains(codeResult, config.blacklist)\r\n && passesFilter(codeResult, config.filter);\r\n }\r\n\r\n return {\r\n addResult: function(data, imageSize, codeResult) {\r\n var result = {};\r\n\r\n if (matchesConstraints(codeResult)) {\r\n capacity--;\r\n result.codeResult = codeResult;\r\n if (capture) {\r\n canvas.width = imageSize.x;\r\n canvas.height = imageSize.y;\r\n ImageDebug.drawImage(data, imageSize, ctx);\r\n result.frame = canvas.toDataURL();\r\n }\r\n results.push(result);\r\n }\r\n },\r\n getResults: function() {\r\n return results;\r\n }\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/analytics/result_collector.js\n **/","let config;\r\n\r\nif (ENV.development){\r\n config = require('./config.dev.js');\r\n} else if (ENV.node) {\r\n config = require('./config.node.js');\r\n} else {\r\n config = require('./config.prod.js');\r\n}\r\n\r\nexport default config;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config/config.js\n **/","/**\r\n * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization\r\n */\r\nvar Tracer = {\r\n searchDirections: [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]],\r\n create: function(imageWrapper, labelWrapper) {\r\n var imageData = imageWrapper.data,\r\n labelData = labelWrapper.data,\r\n searchDirections = this.searchDirections,\r\n width = imageWrapper.size.x,\r\n pos;\r\n\r\n function trace(current, color, label, edgelabel) {\r\n var i,\r\n y,\r\n x;\r\n\r\n for ( i = 0; i < 7; i++) {\r\n y = current.cy + searchDirections[current.dir][0];\r\n x = current.cx + searchDirections[current.dir][1];\r\n pos = y * width + x;\r\n if ((imageData[pos] === color) && ((labelData[pos] === 0) || (labelData[pos] === label))) {\r\n labelData[pos] = label;\r\n current.cy = y;\r\n current.cx = x;\r\n return true;\r\n } else {\r\n if (labelData[pos] === 0) {\r\n labelData[pos] = edgelabel;\r\n }\r\n current.dir = (current.dir + 1) % 8;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function vertex2D(x, y, dir) {\r\n return {\r\n dir: dir,\r\n x: x,\r\n y: y,\r\n next: null,\r\n prev: null\r\n };\r\n }\r\n\r\n function contourTracing(sy, sx, label, color, edgelabel) {\r\n var Fv = null,\r\n Cv,\r\n P,\r\n ldir,\r\n current = {\r\n cx: sx,\r\n cy: sy,\r\n dir: 0\r\n };\r\n\r\n if (trace(current, color, label, edgelabel)) {\r\n Fv = vertex2D(sx, sy, current.dir);\r\n Cv = Fv;\r\n ldir = current.dir;\r\n P = vertex2D(current.cx, current.cy, 0);\r\n P.prev = Cv;\r\n Cv.next = P;\r\n P.next = null;\r\n Cv = P;\r\n do {\r\n current.dir = (current.dir + 6) % 8;\r\n trace(current, color, label, edgelabel);\r\n if (ldir !== current.dir) {\r\n Cv.dir = current.dir;\r\n P = vertex2D(current.cx, current.cy, 0);\r\n P.prev = Cv;\r\n Cv.next = P;\r\n P.next = null;\r\n Cv = P;\r\n } else {\r\n Cv.dir = ldir;\r\n Cv.x = current.cx;\r\n Cv.y = current.cy;\r\n }\r\n ldir = current.dir;\r\n } while (current.cx !== sx || current.cy !== sy);\r\n Fv.prev = Cv.prev;\r\n Cv.prev.next = Fv;\r\n }\r\n return Fv;\r\n }\r\n\r\n return {\r\n trace: function(current, color, label, edgelabel) {\r\n return trace(current, color, label, edgelabel);\r\n },\r\n contourTracing: function(sy, sx, label, color, edgelabel) {\r\n return contourTracing(sy, sx, label, color, edgelabel);\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default (Tracer);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/locator/tracer.js\n **/","import BarcodeReader from './barcode_reader';\r\nimport ArrayHelper from '../common/array_helper';\r\n\r\nfunction Code39Reader() {\r\n BarcodeReader.call(this);\r\n}\r\n\r\nvar properties = {\r\n ALPHABETH_STRING: {value: \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%\"},\r\n ALPHABET: {value: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,\r\n 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 45, 46, 32, 42, 36, 47, 43, 37]},\r\n CHARACTER_ENCODINGS: {value: [0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064, 0x109, 0x049,\r\n 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C, 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106,\r\n 0x046, 0x016, 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x094, 0x0A8, 0x0A2, 0x08A, 0x02A\r\n ]},\r\n ASTERISK: {value: 0x094},\r\n FORMAT: {value: \"code_39\", writeable: false}\r\n};\r\n\r\nCode39Reader.prototype = Object.create(BarcodeReader.prototype, properties);\r\nCode39Reader.prototype.constructor = Code39Reader;\r\n\r\nCode39Reader.prototype._toCounters = function(start, counter) {\r\n var self = this,\r\n numCounters = counter.length,\r\n end = self._row.length,\r\n isWhite = !self._row[start],\r\n i,\r\n counterPos = 0;\r\n\r\n ArrayHelper.init(counter, 0);\r\n\r\n for ( i = start; i < end; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n counterPos++;\r\n if (counterPos === numCounters) {\r\n break;\r\n } else {\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n }\r\n\r\n return counter;\r\n};\r\n\r\nCode39Reader.prototype._decode = function() {\r\n var self = this,\r\n counters = [0, 0, 0, 0, 0, 0, 0, 0, 0],\r\n result = [],\r\n start = self._findStart(),\r\n decodedChar,\r\n lastStart,\r\n pattern,\r\n nextStart;\r\n\r\n if (!start) {\r\n return null;\r\n }\r\n nextStart = self._nextSet(self._row, start.end);\r\n\r\n do {\r\n counters = self._toCounters(nextStart, counters);\r\n pattern = self._toPattern(counters);\r\n if (pattern < 0) {\r\n return null;\r\n }\r\n decodedChar = self._patternToChar(pattern);\r\n if (decodedChar < 0){\r\n return null;\r\n }\r\n result.push(decodedChar);\r\n lastStart = nextStart;\r\n nextStart += ArrayHelper.sum(counters);\r\n nextStart = self._nextSet(self._row, nextStart);\r\n } while (decodedChar !== '*');\r\n result.pop();\r\n\r\n if (!result.length) {\r\n return null;\r\n }\r\n\r\n if (!self._verifyTrailingWhitespace(lastStart, nextStart, counters)) {\r\n return null;\r\n }\r\n\r\n return {\r\n code: result.join(\"\"),\r\n start: start.start,\r\n end: nextStart,\r\n startInfo: start,\r\n decodedCodes: result\r\n };\r\n};\r\n\r\nCode39Reader.prototype._verifyTrailingWhitespace = function(lastStart, nextStart, counters) {\r\n var trailingWhitespaceEnd,\r\n patternSize = ArrayHelper.sum(counters);\r\n\r\n trailingWhitespaceEnd = nextStart - lastStart - patternSize;\r\n if ((trailingWhitespaceEnd * 3) >= patternSize) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nCode39Reader.prototype._patternToChar = function(pattern) {\r\n var i,\r\n self = this;\r\n\r\n for (i = 0; i < self.CHARACTER_ENCODINGS.length; i++) {\r\n if (self.CHARACTER_ENCODINGS[i] === pattern) {\r\n return String.fromCharCode(self.ALPHABET[i]);\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nCode39Reader.prototype._findNextWidth = function(counters, current) {\r\n var i,\r\n minWidth = Number.MAX_VALUE;\r\n\r\n for (i = 0; i < counters.length; i++) {\r\n if (counters[i] < minWidth && counters[i] > current) {\r\n minWidth = counters[i];\r\n }\r\n }\r\n\r\n return minWidth;\r\n};\r\n\r\nCode39Reader.prototype._toPattern = function(counters) {\r\n var numCounters = counters.length,\r\n maxNarrowWidth = 0,\r\n numWideBars = numCounters,\r\n wideBarWidth = 0,\r\n self = this,\r\n pattern,\r\n i;\r\n\r\n while (numWideBars > 3) {\r\n maxNarrowWidth = self._findNextWidth(counters, maxNarrowWidth);\r\n numWideBars = 0;\r\n pattern = 0;\r\n for (i = 0; i < numCounters; i++) {\r\n if (counters[i] > maxNarrowWidth) {\r\n pattern |= 1 << (numCounters - 1 - i);\r\n numWideBars++;\r\n wideBarWidth += counters[i];\r\n }\r\n }\r\n\r\n if (numWideBars === 3) {\r\n for (i = 0; i < numCounters && numWideBars > 0; i++) {\r\n if (counters[i] > maxNarrowWidth) {\r\n numWideBars--;\r\n if ((counters[i] * 2) >= wideBarWidth) {\r\n return -1;\r\n }\r\n }\r\n }\r\n return pattern;\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nCode39Reader.prototype._findStart = function() {\r\n var self = this,\r\n offset = self._nextSet(self._row),\r\n patternStart = offset,\r\n counter = [0, 0, 0, 0, 0, 0, 0, 0, 0],\r\n counterPos = 0,\r\n isWhite = false,\r\n i,\r\n j,\r\n whiteSpaceMustStart;\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n // find start pattern\r\n if (self._toPattern(counter) === self.ASTERISK) {\r\n whiteSpaceMustStart = Math.floor(Math.max(0, patternStart - ((i - patternStart) / 4)));\r\n if (self._matchRange(whiteSpaceMustStart, patternStart, 0)) {\r\n return {\r\n start: patternStart,\r\n end: i\r\n };\r\n }\r\n }\r\n\r\n patternStart += counter[0] + counter[1];\r\n for ( j = 0; j < 7; j++) {\r\n counter[j] = counter[j + 2];\r\n }\r\n counter[7] = 0;\r\n counter[8] = 0;\r\n counterPos--;\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport default Code39Reader;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/code_39_reader.js\n **/","module.exports = dot\n\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} dot product of a and b\n */\nfunction dot(a, b) {\n return a[0] * b[0] + a[1] * b[1]\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/gl-vec2/dot.js\n ** module id = 48\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_SetCache.js\n ** module id = 49\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Uint8Array.js\n ** module id = 50\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayEach.js\n ** module id = 51\n ** module chunks = 0\n **/","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayLikeKeys.js\n ** module id = 52\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayReduce.js\n ** module id = 53\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assignMergeValue.js\n ** module id = 54\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assignValue.js\n ** module id = 55\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseFlatten.js\n ** module id = 56\n ** module chunks = 0\n **/","var castPath = require('./_castPath'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGet.js\n ** module id = 57\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGetAllKeys.js\n ** module id = 58\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObject = require('./isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIsEqual.js\n ** module id = 59\n ** module chunks = 0\n **/","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIteratee.js\n ** module id = 60\n ** module chunks = 0\n **/","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseKeysIn.js\n ** module id = 61\n ** module chunks = 0\n **/","var basePickBy = require('./_basePickBy');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\nmodule.exports = basePick;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_basePick.js\n ** module id = 62\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_basePickBy.js\n ** module id = 63\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseUnary.js\n ** module id = 64\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n stringToPath = require('./_stringToPath');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\nmodule.exports = castPath;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_castPath.js\n ** module id = 65\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyArray.js\n ** module id = 66\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome');\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_equalArrays.js\n ** module id = 67\n ** module chunks = 0\n **/","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_freeGlobal.js\n ** module id = 68\n ** module chunks = 0\n **/","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getAllKeysIn.js\n ** module id = 69\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isStrictComparable.js\n ** module id = 70\n ** module chunks = 0\n **/","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapToArray.js\n ** module id = 71\n ** module chunks = 0\n **/","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_matchesStrictComparable.js\n ** module id = 72\n ** module chunks = 0\n **/","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeKeys.js\n ** module id = 73\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_setToArray.js\n ** module id = 74\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_toSource.js\n ** module id = 75\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArrayLikeObject.js\n ** module id = 76\n ** module chunks = 0\n **/","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isBuffer.js\n ** module id = 77\n ** module chunks = 0\n **/","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keysIn.js\n ** module id = 78\n ** module chunks = 0\n **/","var arrayMap = require('./_arrayMap'),\n baseFlatten = require('./_baseFlatten'),\n basePick = require('./_basePick'),\n baseRest = require('./_baseRest'),\n toKey = require('./_toKey');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = baseRest(function(object, props) {\n return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));\n});\n\nmodule.exports = pick;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/pick.js\n ** module id = 79\n ** module chunks = 0\n **/","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/stubArray.js\n ** module id = 80\n ** module chunks = 0\n **/","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tObject.defineProperty(module, \"exports\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.e; },\r\n\t\t\tset: function(v) { return module.e = v; }\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.l; }\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.i; }\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/module.js\n ** module id = 81\n ** module chunks = 0\n **/","import './common/typedefs';\r\nimport 'webrtc-adapter';\r\nimport createScanner from './scanner';\r\nimport ImageWrapper from './common/image_wrapper';\r\nimport ImageDebug from './common/image_debug';\r\nimport ResultCollector from './analytics/result_collector';\r\nimport Config from './config/config';\r\nimport {merge} from 'lodash';\r\nimport {createConfigFromSource} from './input/config_factory';\r\n\r\nfunction fromConfig(config) {\r\n const scanner = createScanner();\r\n let pendingStart = null;\r\n let initialized = false;\r\n return {\r\n addEventListener(eventType, cb) {\r\n scanner.subscribe(eventType, cb);\r\n return this;\r\n },\r\n removeEventListener(eventType, cb) {\r\n scanner.unsubscribe(eventType, cb);\r\n return this;\r\n },\r\n start() {\r\n if (scanner.isRunning()) {\r\n return Promise.resolve(true);\r\n }\r\n if (pendingStart) {\r\n return pendingStart;\r\n }\r\n if (initialized) {\r\n scanner.start();\r\n return Promise.resolve(true);\r\n }\r\n pendingStart = new Promise((resolve, reject) => {\r\n scanner.init(config, (error) => {\r\n if (error) {\r\n console.log(error);\r\n reject(error);\r\n }\r\n initialized = true;\r\n scanner.start();\r\n resolve();\r\n pendingStart = null;\r\n });\r\n });\r\n return pendingStart;\r\n },\r\n stop() {\r\n scanner.stop();\r\n initialized = false;\r\n return this;\r\n },\r\n toPromise() {\r\n if (config.inputStream.type === 'LiveStream'\r\n || config.inputStream.type === 'VideoStream') {\r\n let cancelRequested = false;\r\n return {\r\n cancel() {\r\n cancelRequested = true;\r\n },\r\n promise: new Promise((resolve, reject) => {\r\n function onProcessed(result) {\r\n if (result && result.codeResult && result.codeResult.code) {\r\n scanner.stop();\r\n scanner.unsubscribe(\"processed\", onProcessed);\r\n resolve(result);\r\n }\r\n if (cancelRequested) {\r\n scanner.stop();\r\n scanner.unsubscribe(\"processed\", onProcessed);\r\n reject(\"cancelled!\");\r\n }\r\n }\r\n scanner.subscribe(\"processed\", onProcessed);\r\n this.start();\r\n })\r\n };\r\n } else {\r\n return new Promise((resolve, reject) => {\r\n scanner.decodeSingle(config, (result) => {\r\n if (result && result.codeResult && result.codeResult.code) {\r\n return resolve(result);\r\n }\r\n return reject(result);\r\n });\r\n });\r\n }\r\n },\r\n registerResultCollector(resultCollector) {\r\n scanner.registerResultCollector(resultCollector);\r\n },\r\n getCanvas() {\r\n return scanner.canvas.dom.image;\r\n },\r\n };\r\n}\r\n\r\nfunction fromSource(config, source, inputConfig = {}) {\r\n config = createConfigFromSource(config, inputConfig, source);\r\n return fromConfig(config);\r\n}\r\n\r\nfunction setConfig(configuration = {}, key, config = {}) {\r\n var mergedConfig = merge({}, configuration, {[key]: config});\r\n return createApi(mergedConfig);\r\n}\r\n\r\nfunction createApi(configuration = Config) {\r\n return {\r\n fromSource(src, inputConfig) {\r\n return fromSource(configuration, src, inputConfig);\r\n },\r\n fromConfig(conf) {\r\n return fromConfig(merge({}, configuration, conf));\r\n },\r\n decoder(conf) {\r\n return setConfig(configuration, \"decoder\", conf);\r\n },\r\n locator(conf) {\r\n return setConfig(configuration, \"locator\", conf);\r\n },\r\n throttle(timeInMs) {\r\n return setConfig(configuration, \"frequency\", 1000 / parseInt(timeInMs));\r\n },\r\n config(conf) {\r\n return createApi(merge({}, configuration, conf));\r\n },\r\n ImageWrapper,\r\n ImageDebug,\r\n ResultCollector,\r\n _worker: {\r\n createScanner\r\n }\r\n };\r\n}\r\nexport default createApi();\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/quagga.js\n **/","const vec2 = {\r\n clone: require('gl-vec2/clone'),\r\n dot: require('gl-vec2/dot')\r\n};\r\n\r\n/**\r\n * Creates a cluster for grouping similar orientations of datapoints\r\n */\r\nexport default {\r\n create: function(point, threshold) {\r\n var points = [],\r\n center = {\r\n rad: 0,\r\n vec: vec2.clone([0, 0])\r\n },\r\n pointMap = {};\r\n\r\n function init() {\r\n add(point);\r\n updateCenter();\r\n }\r\n\r\n function add(pointToAdd) {\r\n pointMap[pointToAdd.id] = pointToAdd;\r\n points.push(pointToAdd);\r\n }\r\n\r\n function updateCenter() {\r\n var i, sum = 0;\r\n for ( i = 0; i < points.length; i++) {\r\n sum += points[i].rad;\r\n }\r\n center.rad = sum / points.length;\r\n center.vec = vec2.clone([Math.cos(center.rad), Math.sin(center.rad)]);\r\n }\r\n\r\n init();\r\n\r\n return {\r\n add: function(pointToAdd) {\r\n if (!pointMap[pointToAdd.id]) {\r\n add(pointToAdd);\r\n updateCenter();\r\n }\r\n },\r\n fits: function(otherPoint) {\r\n // check cosine similarity to center-angle\r\n var similarity = Math.abs(vec2.dot(otherPoint.point.vec, center.vec));\r\n if (similarity > threshold) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n getPoints: function() {\r\n return points;\r\n },\r\n getCenter: function() {\r\n return center;\r\n }\r\n };\r\n },\r\n createPoint: function(newPoint, id, property) {\r\n return {\r\n rad: newPoint[property],\r\n point: newPoint,\r\n id: id\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/cluster.js\n **/","const hasWindow = typeof window !== 'undefined';\r\nconst windowRef = hasWindow ? window : {};\r\n\r\nconst windowObjects = [\r\n \"MediaStream\",\r\n \"HTMLImageElement\",\r\n \"HTMLVideoElement\",\r\n \"HTMLCanvasElement\",\r\n \"FileList\",\r\n \"File\",\r\n \"URL\"\r\n];\r\n\r\nconst DOMHelper = windowObjects.reduce((result, obj) => {\r\n return {\r\n ...result,\r\n [obj]: obj in windowRef ? windowRef[obj] : () => {}\r\n };\r\n}, {});\r\n\r\nDOMHelper.setObject = (key, value) => {\r\n DOMHelper[key] = value;\r\n};\r\n\r\nexport default DOMHelper;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/dom_helper.js\n **/","export default function createEventedElement() {\r\n var events = {};\r\n\r\n function getEvent(eventName) {\r\n if (!events[eventName]) {\r\n events[eventName] = {\r\n subscribers: []\r\n };\r\n }\r\n return events[eventName];\r\n }\r\n\r\n function clearEvents(){\r\n events = {};\r\n }\r\n\r\n function publishSubscription(subscription, data) {\r\n if (subscription.async) {\r\n setTimeout(function() {\r\n subscription.callback(data);\r\n }, 4);\r\n } else {\r\n subscription.callback(data);\r\n }\r\n }\r\n\r\n function subscribe(event, callback, async) {\r\n var subscription;\r\n\r\n if ( typeof callback === \"function\") {\r\n subscription = {\r\n callback: callback,\r\n async: async\r\n };\r\n } else {\r\n subscription = callback;\r\n if (!subscription.callback) {\r\n throw \"Callback was not specified on options\";\r\n }\r\n }\r\n\r\n getEvent(event).subscribers.push(subscription);\r\n }\r\n\r\n return {\r\n subscribe: function(event, callback, async) {\r\n return subscribe(event, callback, async);\r\n },\r\n publish: function(eventName, data) {\r\n var event = getEvent(eventName),\r\n subscribers = event.subscribers;\r\n\r\n // Publish one-time subscriptions\r\n subscribers.filter(function(subscriber) {\r\n return !!subscriber.once;\r\n }).forEach((subscriber) => {\r\n publishSubscription(subscriber, data);\r\n });\r\n\r\n // remove them from the subscriber\r\n event.subscribers = subscribers.filter(function(subscriber) {\r\n return !subscriber.once;\r\n });\r\n\r\n // publish the rest\r\n event.subscribers.forEach((subscriber) => {\r\n publishSubscription(subscriber, data);\r\n });\r\n },\r\n once: function(event, callback, async) {\r\n subscribe(event, {\r\n callback: callback,\r\n async: async,\r\n once: true\r\n });\r\n },\r\n unsubscribe: function(eventName, callback) {\r\n var event;\r\n\r\n if (eventName) {\r\n event = getEvent(eventName);\r\n if (event && callback) {\r\n event.subscribers = event.subscribers.filter(function(subscriber){\r\n return subscriber.callback !== callback;\r\n });\r\n } else {\r\n event.subscribers = [];\r\n }\r\n } else {\r\n clearEvents();\r\n }\r\n }\r\n };\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/events.js\n **/","/**\r\n * Construct representing a part of another {ImageWrapper}. Shares data\r\n * between the parent and the child.\r\n * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner)\r\n * @param size {ImageRef} The size of the resulting image\r\n * @param I {ImageWrapper} The {ImageWrapper} to share from\r\n * @returns {SubImage} A shared part of the original image\r\n */\r\nfunction SubImage(from, size, I) {\r\n if (!I) {\r\n I = {\r\n data: null,\r\n size: size\r\n };\r\n }\r\n this.data = I.data;\r\n this.originalSize = I.size;\r\n this.I = I;\r\n\r\n this.from = from;\r\n this.size = size;\r\n}\r\n\r\n/**\r\n * Displays the {SubImage} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nSubImage.prototype.show = function(canvas, scale) {\r\n var ctx,\r\n frame,\r\n data,\r\n current,\r\n y,\r\n x,\r\n pixel;\r\n\r\n if (!scale) {\r\n scale = 1.0;\r\n }\r\n ctx = canvas.getContext('2d');\r\n canvas.width = this.size.x;\r\n canvas.height = this.size.y;\r\n frame = ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n data = frame.data;\r\n current = 0;\r\n for (y = 0; y < this.size.y; y++) {\r\n for (x = 0; x < this.size.x; x++) {\r\n pixel = y * this.size.x + x;\r\n current = this.get(x, y) * scale;\r\n data[pixel * 4 + 0] = current;\r\n data[pixel * 4 + 1] = current;\r\n data[pixel * 4 + 2] = current;\r\n data[pixel * 4 + 3] = 255;\r\n }\r\n }\r\n frame.data = data;\r\n ctx.putImageData(frame, 0, 0);\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the {SubImage}\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nSubImage.prototype.get = function(x, y) {\r\n return this.data[(this.from.y + y) * this.originalSize.x + this.from.x + x];\r\n};\r\n\r\n/**\r\n * Updates the underlying data from a given {ImageWrapper}\r\n * @param image {ImageWrapper} The updated image\r\n */\r\nSubImage.prototype.updateData = function(image) {\r\n this.originalSize = image.size;\r\n this.data = image.data;\r\n};\r\n\r\n/**\r\n * Updates the position of the shared area\r\n * @param from {x,y} The new location\r\n * @returns {SubImage} returns {this} for possible chaining\r\n */\r\nSubImage.prototype.updateFrom = function(from) {\r\n this.from = from;\r\n return this;\r\n};\r\n\r\nexport default (SubImage);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/subImage.js\n **/","/*\r\n * typedefs.js\r\n * Normalizes browser-specific prefixes\r\n */\r\n\r\nif (typeof window !== 'undefined') {\r\n window.requestAnimFrame = (function () {\r\n return window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function (/* function FrameRequestCallback */ callback) {\r\n window.setTimeout(callback, 1000 / 60);\r\n };\r\n })();\r\n}\r\nMath.imul = Math.imul || function(a, b) {\r\n var ah = (a >>> 16) & 0xffff,\r\n al = a & 0xffff,\r\n bh = (b >>> 16) & 0xffff,\r\n bl = b & 0xffff;\r\n // the shift by 0 fixes the sign on the high part\r\n // the final |0 converts the unsigned value into a signed value\r\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/typedefs.js\n **/","module.exports = {\r\n inputStream: {\r\n name: \"Live\",\r\n type: \"LiveStream\",\r\n constraints: {\r\n width: 640,\r\n height: 480,\r\n // aspectRatio: 640/480, // optional\r\n facingMode: \"environment\", // or user\r\n // deviceId: \"38745983457387598375983759834\"\r\n },\r\n area: {\r\n top: \"0%\",\r\n right: \"0%\",\r\n left: \"0%\",\r\n bottom: \"0%\"\r\n },\r\n singleChannel: false // true: only the red color-channel is read\r\n },\r\n locate: true,\r\n numOfWorkers: 2,\r\n decoder: {\r\n readers: [\r\n 'code_128_reader'\r\n ],\r\n debug: {\r\n drawBoundingBox: false,\r\n showFrequency: false,\r\n drawScanline: false,\r\n showPattern: false\r\n }\r\n },\r\n locator: {\r\n halfSample: true,\r\n patchSize: \"medium\", // x-small, small, medium, large, x-large\r\n debug: {\r\n showCanvas: false,\r\n showPatches: false,\r\n showFoundPatches: false,\r\n showSkeleton: false,\r\n showLabels: false,\r\n showPatchLabels: false,\r\n showRemainingPatchLabels: false,\r\n boxFromPatches: {\r\n showTransformed: false,\r\n showTransformedBox: false,\r\n showBB: false\r\n }\r\n }\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config/config.dev.js\n **/","import Bresenham from './bresenham';\r\nimport ImageDebug from '../common/image_debug';\r\nimport Code128Reader from '../reader/code_128_reader';\r\nimport EANReader from '../reader/ean_reader';\r\nimport Code39Reader from '../reader/code_39_reader';\r\nimport Code39VINReader from '../reader/code_39_vin_reader';\r\nimport CodabarReader from '../reader/codabar_reader';\r\nimport UPCReader from '../reader/upc_reader';\r\nimport EAN8Reader from '../reader/ean_8_reader';\r\nimport EAN2Reader from '../reader/ean_2_reader';\r\nimport EAN5Reader from '../reader/ean_5_reader';\r\nimport UPCEReader from '../reader/upc_e_reader';\r\nimport I2of5Reader from '../reader/i2of5_reader';\r\n\r\nconst READERS = {\r\n code_128_reader: Code128Reader,\r\n ean_reader: EANReader,\r\n ean_5_reader: EAN5Reader,\r\n ean_2_reader: EAN2Reader,\r\n ean_8_reader: EAN8Reader,\r\n code_39_reader: Code39Reader,\r\n code_39_vin_reader: Code39VINReader,\r\n codabar_reader: CodabarReader,\r\n upc_reader: UPCReader,\r\n upc_e_reader: UPCEReader,\r\n i2of5_reader: I2of5Reader\r\n};\r\nexport default {\r\n create: function(config, inputImageWrapper) {\r\n var _canvas = {\r\n ctx: {\r\n frequency: null,\r\n pattern: null,\r\n overlay: null\r\n },\r\n dom: {\r\n frequency: null,\r\n pattern: null,\r\n overlay: null\r\n }\r\n },\r\n _barcodeReaders = [];\r\n\r\n initCanvas();\r\n initReaders();\r\n initConfig();\r\n\r\n function initCanvas() {\r\n if (ENV.development && typeof document !== 'undefined') {\r\n var $debug = document.querySelector(\"#debug.detection\");\r\n _canvas.dom.frequency = document.querySelector(\"canvas.frequency\");\r\n if (!_canvas.dom.frequency) {\r\n _canvas.dom.frequency = document.createElement(\"canvas\");\r\n _canvas.dom.frequency.className = \"frequency\";\r\n if ($debug) {\r\n $debug.appendChild(_canvas.dom.frequency);\r\n }\r\n }\r\n _canvas.ctx.frequency = _canvas.dom.frequency.getContext(\"2d\");\r\n\r\n _canvas.dom.pattern = document.querySelector(\"canvas.patternBuffer\");\r\n if (!_canvas.dom.pattern) {\r\n _canvas.dom.pattern = document.createElement(\"canvas\");\r\n _canvas.dom.pattern.className = \"patternBuffer\";\r\n if ($debug) {\r\n $debug.appendChild(_canvas.dom.pattern);\r\n }\r\n }\r\n _canvas.ctx.pattern = _canvas.dom.pattern.getContext(\"2d\");\r\n\r\n if ($debug) {\r\n _canvas.dom.overlay = document.querySelector(\"canvas.drawingBuffer\");\r\n if (!_canvas.dom.overlay) {\r\n _canvas.dom.overlay = document.createElement(\"canvas\");\r\n _canvas.dom.overlay.className = \"drawingBuffer\";\r\n $debug.appendChild(_canvas.dom.overlay);\r\n }\r\n _canvas.ctx.overlay = _canvas.dom.overlay.getContext(\"2d\");\r\n }\r\n }\r\n }\r\n\r\n function initReaders() {\r\n config.readers.forEach(function(readerConfig) {\r\n var reader,\r\n configuration = {},\r\n supplements = [];\r\n\r\n if (typeof readerConfig === 'object') {\r\n reader = readerConfig.format;\r\n configuration = readerConfig.config;\r\n } else if (typeof readerConfig === 'string') {\r\n reader = readerConfig;\r\n }\r\n if (ENV.development) {\r\n console.log(\"Before registering reader: \", reader);\r\n }\r\n if (configuration.supplements) {\r\n supplements = configuration\r\n .supplements.map((supplement) => {\r\n return new READERS[supplement]();\r\n });\r\n }\r\n _barcodeReaders.push(new READERS[reader](configuration, supplements));\r\n });\r\n if (ENV.development) {\r\n console.log(\"Registered Readers: \" + _barcodeReaders\r\n .map((reader) => JSON.stringify({format: reader.FORMAT, config: reader.config}))\r\n .join(', '));\r\n }\r\n }\r\n\r\n function initConfig() {\r\n if (ENV.development && typeof document !== 'undefined') {\r\n var i,\r\n vis = [{\r\n node: _canvas.dom.frequency,\r\n prop: config.debug.showFrequency\r\n }, {\r\n node: _canvas.dom.pattern,\r\n prop: config.debug.showPattern\r\n }];\r\n\r\n for (i = 0; i < vis.length; i++) {\r\n if (vis[i].prop === true) {\r\n vis[i].node.style.display = \"block\";\r\n } else {\r\n vis[i].node.style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * extend the line on both ends\r\n * @param {Array} line\r\n * @param {Number} angle\r\n */\r\n function getExtendedLine(line, angle, ext) {\r\n function extendLine(amount) {\r\n var extension = {\r\n y: amount * Math.sin(angle),\r\n x: amount * Math.cos(angle)\r\n };\r\n\r\n line[0].y -= extension.y;\r\n line[0].x -= extension.x;\r\n line[1].y += extension.y;\r\n line[1].x += extension.x;\r\n }\r\n\r\n // check if inside image\r\n extendLine(ext);\r\n while (ext > 1 && (!inputImageWrapper.inImageWithBorder(line[0], 0)\r\n || !inputImageWrapper.inImageWithBorder(line[1], 0))) {\r\n ext -= Math.ceil(ext / 2);\r\n extendLine(-ext);\r\n }\r\n return line;\r\n }\r\n\r\n function getLine(box) {\r\n return [{\r\n x: (box[1][0] - box[0][0]) / 2 + box[0][0],\r\n y: (box[1][1] - box[0][1]) / 2 + box[0][1]\r\n }, {\r\n x: (box[3][0] - box[2][0]) / 2 + box[2][0],\r\n y: (box[3][1] - box[2][1]) / 2 + box[2][1]\r\n }];\r\n }\r\n\r\n function tryDecode(line) {\r\n var result = null,\r\n i,\r\n barcodeLine = Bresenham.getBarcodeLine(inputImageWrapper, line[0], line[1]);\r\n\r\n if (ENV.development && config.debug.showFrequency) {\r\n ImageDebug.drawPath(line, {x: 'x', y: 'y'}, _canvas.ctx.overlay, {color: 'red', lineWidth: 3});\r\n Bresenham.debug.printFrequency(barcodeLine.line, _canvas.dom.frequency);\r\n }\r\n\r\n Bresenham.toBinaryLine(barcodeLine);\r\n\r\n if (ENV.development && config.debug.showPattern) {\r\n Bresenham.debug.printPattern(barcodeLine.line, _canvas.dom.pattern);\r\n }\r\n\r\n for ( i = 0; i < _barcodeReaders.length && result === null; i++) {\r\n result = _barcodeReaders[i].decodePattern(barcodeLine.line);\r\n }\r\n if (result === null){\r\n return null;\r\n }\r\n return {\r\n codeResult: result,\r\n barcodeLine: barcodeLine\r\n };\r\n }\r\n\r\n /**\r\n * This method slices the given area apart and tries to detect a barcode-pattern\r\n * for each slice. It returns the decoded barcode, or null if nothing was found\r\n * @param {Array} box\r\n * @param {Array} line\r\n * @param {Number} lineAngle\r\n */\r\n function tryDecodeBruteForce(box, line, lineAngle) {\r\n var sideLength = Math.sqrt(Math.pow(box[1][0] - box[0][0], 2) + Math.pow((box[1][1] - box[0][1]), 2)),\r\n i,\r\n slices = 16,\r\n result = null,\r\n dir,\r\n extension,\r\n xdir = Math.sin(lineAngle),\r\n ydir = Math.cos(lineAngle);\r\n\r\n for ( i = 1; i < slices && result === null; i++) {\r\n // move line perpendicular to angle\r\n dir = sideLength / slices * i * (i % 2 === 0 ? -1 : 1);\r\n extension = {\r\n y: dir * xdir,\r\n x: dir * ydir\r\n };\r\n line[0].y += extension.x;\r\n line[0].x -= extension.y;\r\n line[1].y += extension.x;\r\n line[1].x -= extension.y;\r\n\r\n result = tryDecode(line);\r\n }\r\n return result;\r\n }\r\n\r\n function getLineLength(line) {\r\n return Math.sqrt(\r\n Math.pow(Math.abs(line[1].y - line[0].y), 2) +\r\n Math.pow(Math.abs(line[1].x - line[0].x), 2));\r\n }\r\n\r\n /**\r\n * With the help of the configured readers (Code128 or EAN) this function tries to detect a\r\n * valid barcode pattern within the given area.\r\n * @param {Object} box The area to search in\r\n * @returns {Object} the result {codeResult, line, angle, pattern, threshold}\r\n */\r\n function decodeFromBoundingBox(box) {\r\n var line,\r\n lineAngle,\r\n ctx = _canvas.ctx.overlay,\r\n result,\r\n lineLength;\r\n\r\n if (ENV.development) {\r\n if (config.debug.drawBoundingBox && ctx) {\r\n ImageDebug.drawPath(box, {x: 0, y: 1}, ctx, {color: \"blue\", lineWidth: 2});\r\n }\r\n }\r\n\r\n line = getLine(box);\r\n lineLength = getLineLength(line);\r\n lineAngle = Math.atan2(line[1].y - line[0].y, line[1].x - line[0].x);\r\n line = getExtendedLine(line, lineAngle, Math.floor(lineLength * 0.1));\r\n if (line === null){\r\n return null;\r\n }\r\n\r\n result = tryDecode(line);\r\n if (result === null) {\r\n result = tryDecodeBruteForce(box, line, lineAngle);\r\n }\r\n\r\n if (result === null) {\r\n return null;\r\n }\r\n\r\n if (ENV.development && result && config.debug.drawScanline && ctx) {\r\n ImageDebug.drawPath(line, {x: 'x', y: 'y'}, ctx, {color: 'red', lineWidth: 3});\r\n }\r\n\r\n return {\r\n codeResult: result.codeResult,\r\n line: line,\r\n angle: lineAngle,\r\n pattern: result.barcodeLine.line,\r\n threshold: result.barcodeLine.threshold\r\n };\r\n }\r\n\r\n return {\r\n decodeFromBoundingBox: function(box) {\r\n return decodeFromBoundingBox(box);\r\n },\r\n decodeFromBoundingBoxes: function(boxes) {\r\n var i, result,\r\n barcodes = [],\r\n multiple = config.multiple;\r\n\r\n for ( i = 0; i < boxes.length; i++) {\r\n const box = boxes[i];\r\n result = decodeFromBoundingBox(box) || {};\r\n result.box = box;\r\n\r\n if (multiple) {\r\n barcodes.push(result);\r\n } else if (result.codeResult) {\r\n return result;\r\n }\r\n }\r\n\r\n if (multiple) {\r\n return {\r\n barcodes\r\n };\r\n }\r\n },\r\n setReaders: function(readers) {\r\n config.readers = readers;\r\n _barcodeReaders.length = 0;\r\n initReaders();\r\n }\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/decoder/barcode_decoder.js\n **/","var Bresenham = {};\r\n\r\nvar Slope = {\r\n DIR: {\r\n UP: 1,\r\n DOWN: -1\r\n }\r\n};\r\n/**\r\n * Scans a line of the given image from point p1 to p2 and returns a result object containing\r\n * gray-scale values (0-255) of the underlying pixels in addition to the min\r\n * and max values.\r\n * @param {Object} imageWrapper\r\n * @param {Object} p1 The start point {x,y}\r\n * @param {Object} p2 The end point {x,y}\r\n * @returns {line, min, max}\r\n */\r\nBresenham.getBarcodeLine = function(imageWrapper, p1, p2) {\r\n var x0 = p1.x | 0,\r\n y0 = p1.y | 0,\r\n x1 = p2.x | 0,\r\n y1 = p2.y | 0,\r\n steep = Math.abs(y1 - y0) > Math.abs(x1 - x0),\r\n deltax,\r\n deltay,\r\n error,\r\n ystep,\r\n y,\r\n tmp,\r\n x,\r\n line = [],\r\n imageData = imageWrapper.data,\r\n width = imageWrapper.size.x,\r\n sum = 0,\r\n val,\r\n min = 255,\r\n max = 0;\r\n\r\n function read(a, b) {\r\n val = imageData[b * width + a];\r\n sum += val;\r\n min = val < min ? val : min;\r\n max = val > max ? val : max;\r\n line.push(val);\r\n }\r\n\r\n if (steep) {\r\n tmp = x0;\r\n x0 = y0;\r\n y0 = tmp;\r\n\r\n tmp = x1;\r\n x1 = y1;\r\n y1 = tmp;\r\n }\r\n if (x0 > x1) {\r\n tmp = x0;\r\n x0 = x1;\r\n x1 = tmp;\r\n\r\n tmp = y0;\r\n y0 = y1;\r\n y1 = tmp;\r\n }\r\n deltax = x1 - x0;\r\n deltay = Math.abs(y1 - y0);\r\n error = (deltax / 2) | 0;\r\n y = y0;\r\n ystep = y0 < y1 ? 1 : -1;\r\n for ( x = x0; x < x1; x++) {\r\n if (steep){\r\n read(y, x);\r\n } else {\r\n read(x, y);\r\n }\r\n error = error - deltay;\r\n if (error < 0) {\r\n y = y + ystep;\r\n error = error + deltax;\r\n }\r\n }\r\n\r\n return {\r\n line: line,\r\n min: min,\r\n max: max\r\n };\r\n};\r\n\r\n/**\r\n * Converts the result from getBarcodeLine into a binary representation\r\n * also considering the frequency and slope of the signal for more robust results\r\n * @param {Object} result {line, min, max}\r\n */\r\nBresenham.toBinaryLine = function(result) {\r\n var min = result.min,\r\n max = result.max,\r\n line = result.line,\r\n slope,\r\n slope2,\r\n center = min + (max - min) / 2,\r\n extrema = [],\r\n currentDir,\r\n dir,\r\n threshold = (max - min) / 12,\r\n rThreshold = -threshold,\r\n i,\r\n j;\r\n\r\n // 1. find extrema\r\n currentDir = line[0] > center ? Slope.DIR.UP : Slope.DIR.DOWN;\r\n extrema.push({\r\n pos: 0,\r\n val: line[0]\r\n });\r\n for ( i = 0; i < line.length - 2; i++) {\r\n slope = (line[i + 1] - line[i]);\r\n slope2 = (line[i + 2] - line[i + 1]);\r\n if ((slope + slope2) < rThreshold && line[i + 1] < (center * 1.5)) {\r\n dir = Slope.DIR.DOWN;\r\n } else if ((slope + slope2) > threshold && line[i + 1] > (center * 0.5)) {\r\n dir = Slope.DIR.UP;\r\n } else {\r\n dir = currentDir;\r\n }\r\n\r\n if (currentDir !== dir) {\r\n extrema.push({\r\n pos: i,\r\n val: line[i]\r\n });\r\n currentDir = dir;\r\n }\r\n }\r\n extrema.push({\r\n pos: line.length,\r\n val: line[line.length - 1]\r\n });\r\n\r\n for ( j = extrema[0].pos; j < extrema[1].pos; j++) {\r\n line[j] = line[j] > center ? 0 : 1;\r\n }\r\n\r\n // iterate over extrema and convert to binary based on avg between minmax\r\n for ( i = 1; i < extrema.length - 1; i++) {\r\n if (extrema[i + 1].val > extrema[i].val) {\r\n threshold = (extrema[i].val + ((extrema[i + 1].val - extrema[i].val) / 3) * 2) | 0;\r\n } else {\r\n threshold = (extrema[i + 1].val + ((extrema[i].val - extrema[i + 1].val) / 3)) | 0;\r\n }\r\n\r\n for ( j = extrema[i].pos; j < extrema[i + 1].pos; j++) {\r\n line[j] = line[j] > threshold ? 0 : 1;\r\n }\r\n }\r\n\r\n return {\r\n line: line,\r\n threshold: threshold\r\n };\r\n};\r\n\r\n/**\r\n * Used for development only\r\n */\r\nBresenham.debug = {\r\n printFrequency: function(line, canvas) {\r\n var i,\r\n ctx = canvas.getContext(\"2d\");\r\n canvas.width = line.length;\r\n canvas.height = 256;\r\n\r\n ctx.beginPath();\r\n ctx.strokeStyle = \"blue\";\r\n for ( i = 0; i < line.length; i++) {\r\n ctx.moveTo(i, 255);\r\n ctx.lineTo(i, 255 - line[i]);\r\n }\r\n ctx.stroke();\r\n ctx.closePath();\r\n },\r\n\r\n printPattern: function(line, canvas) {\r\n var ctx = canvas.getContext(\"2d\"), i;\r\n\r\n canvas.width = line.length;\r\n ctx.fillColor = \"black\";\r\n for ( i = 0; i < line.length; i++) {\r\n if (line[i] === 1) {\r\n ctx.fillRect(i, 0, 1, 100);\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default Bresenham;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/decoder/bresenham.js\n **/","import {merge, pick, omit} from 'lodash';\r\n\r\nvar streamRef;\r\n\r\nfunction waitForVideo(video) {\r\n return new Promise((resolve, reject) => {\r\n let attempts = 10;\r\n\r\n function checkVideo() {\r\n if (attempts > 0) {\r\n if (video.videoWidth > 0 && video.videoHeight > 0) {\r\n if (ENV.development) {\r\n console.log(video.videoWidth + \"px x \" + video.videoHeight + \"px\");\r\n }\r\n resolve();\r\n } else {\r\n window.setTimeout(checkVideo, 500);\r\n }\r\n } else {\r\n reject('Unable to play video stream. Is webcam working?');\r\n }\r\n attempts--;\r\n }\r\n checkVideo();\r\n });\r\n}\r\n\r\n/**\r\n * Tries to attach the camera-stream to a given video-element\r\n * and calls the callback function when the content is ready\r\n * @param {Object} constraints\r\n * @param {Object} video\r\n */\r\nfunction initCamera(video, constraints) {\r\n return navigator.mediaDevices.getUserMedia(constraints)\r\n .then((stream) => {\r\n return new Promise((resolve) => {\r\n streamRef = stream;\r\n video.setAttribute(\"autoplay\", 'true');\r\n video.srcObject = stream;\r\n video.addEventListener('loadedmetadata', () => {\r\n video.play();\r\n resolve();\r\n });\r\n });\r\n })\r\n .then(waitForVideo.bind(null, video));\r\n}\r\n\r\nfunction deprecatedConstraints(videoConstraints) {\r\n const normalized = pick(videoConstraints, [\"width\", \"height\", \"facingMode\",\r\n \"aspectRatio\", \"deviceId\"]);\r\n\r\n if (typeof videoConstraints.minAspectRatio !== 'undefined' &&\r\n videoConstraints.minAspectRatio > 0) {\r\n normalized.aspectRatio = videoConstraints.minAspectRatio;\r\n console.log(\"WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead\");\r\n }\r\n if (typeof videoConstraints.facing !== 'undefined') {\r\n normalized.facingMode = videoConstraints.facing;\r\n console.log(\"WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'\");\r\n }\r\n return normalized;\r\n}\r\n\r\nfunction applyCameraFacing(facing, constraints) {\r\n if (typeof constraints.video.deviceId === 'string' && constraints.video.deviceId.length > 0) {\r\n return Promise.resolve({\r\n ...constraints,\r\n video: {\r\n ...omit(constraints.video, \"facingMode\")\r\n }\r\n });\r\n } else if (!facing) {\r\n return Promise.resolve(constraints);\r\n }\r\n if ( typeof MediaStreamTrack !== 'undefined' &&\r\n typeof MediaStreamTrack.getSources !== 'undefined') {\r\n return new Promise((resolve) => {\r\n MediaStreamTrack.getSources((sourceInfos) => {\r\n const videoSource = sourceInfos.filter((sourceInfo) => (\r\n sourceInfo.kind === \"video\" && sourceInfo.facing === facing\r\n ))[0];\r\n if (videoSource) {\r\n return resolve(merge({}, constraints,\r\n {video: {deviceId: videoSource.id}}));\r\n }\r\n return resolve(constraints);\r\n });\r\n });\r\n }\r\n return Promise.resolve(merge({}, constraints, {video: {facingMode: facing}}));\r\n}\r\n\r\nfunction pickConstraints(videoConstraints) {\r\n const constraints = {\r\n audio: false,\r\n video: deprecatedConstraints(videoConstraints)\r\n };\r\n return applyCameraFacing(constraints.video.facingMode, constraints);\r\n}\r\n\r\nexport default {\r\n request: function(video, videoConstraints) {\r\n return pickConstraints(videoConstraints)\r\n .then(initCamera.bind(null, video));\r\n },\r\n release: function() {\r\n var tracks = streamRef && streamRef.getVideoTracks();\r\n if (tracks && tracks.length) {\r\n tracks[0].stop();\r\n }\r\n streamRef = null;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/input/camera_access.js\n **/","import {merge, pick, omitBy, isEmpty} from 'lodash';\r\n\r\nimport DOMHelper from '../common/dom_helper';\r\n\r\nconst isDataURL = {regex: /^\\s*data:([a-z]+\\/[a-z0-9\\-\\+]+(;[a-z\\-]+\\=[a-z0-9\\-]+)?)?(;base64)?,[a-z0-9\\!\\$\\&\\'\\,\\(\\)\\*\\+\\,\\;\\=\\-\\.\\_\\~\\:\\@\\/\\?\\%\\s]*\\s*$/i}, // eslint-disable-line max-len\r\n isBlobURL = {regex: /^\\s*blob:(.*)$/i},\r\n isMediaURL = {regex: /^(?:(?:http[s]?|ftp):\\/)?\\/?(?:(?:[^:\\/\\s]+)(?:(?:\\/\\w+)*\\/))?([\\w\\-]+\\.([^#?\\s]+))(?:.*)?(?:#[\\w\\-]+)?$/i}, // eslint-disable-line max-len\r\n isImageExt = {regex: /(jpe?g|png|gif|tiff)(?:\\s+|$)/i},\r\n isVideoExt = {regex: /(webm|ogg|mp4|m4v)/i};\r\n\r\nexport function createConfigFromSource(config, sourceConfig, source) {\r\n if (source instanceof DOMHelper.MediaStream) {\r\n return createConfigForStream(config, sourceConfig, {srcObject: source});\r\n } else if (source instanceof DOMHelper.HTMLImageElement) {\r\n throw new Error('Source \"HTMLImageElement\": not yet supported');\r\n // return createConfigForImage(config, inputConfig, {image: source});\r\n } else if (source instanceof DOMHelper.HTMLVideoElement) {\r\n throw new Error('Source \"HTMLVideoElement\": not yet supported');\r\n // return createConfigForVideo(config, inputConfig, {video: source});\r\n } else if (source instanceof DOMHelper.HTMLCanvasElement) {\r\n return createConfigForCanvas(config, sourceConfig, {canvas: source});\r\n } else if (source instanceof DOMHelper.FileList) {\r\n if (source.length > 0) {\r\n return createConfigForFile(config, sourceConfig, source[0]);\r\n }\r\n } else if (source instanceof DOMHelper.File) {\r\n return createConfigForFile(config, sourceConfig, source);\r\n } else if (typeof source === 'string') {\r\n return createConfigForString(config, sourceConfig, source);\r\n } else if (typeof source === 'object'\r\n && (typeof source.constraints !== 'undefined'\r\n || typeof source.area !== 'undefined')) {\r\n return createConfigForLiveStream(config, source);\r\n } else {\r\n throw new Error(\"No source given!\");\r\n }\r\n}\r\n\r\nfunction createConfigForImage(config, source, inputConfig = {}) {\r\n const staticImageConfig = {\r\n inputStream: merge({\r\n type: \"ImageStream\",\r\n sequence: false,\r\n size: 800\r\n }, source),\r\n numOfWorkers: (ENV.development && config.debug) ? 0 : 1\r\n };\r\n return merge(\r\n config,\r\n staticImageConfig,\r\n {numOfWorkers: typeof config.numOfWorkers === 'number' && config.numOfWorkers > 0 ? 1 : 0},\r\n {inputStream: omitBy(pick(config.inputStream, ['size']), isEmpty)},\r\n {inputStream: inputConfig});\r\n}\r\n\r\nfunction createConfigForMimeType(config, inputConfig, {src, mime}) {\r\n const [, type] = mime.match(/^(video|image)\\/(.*)$/i) || [];\r\n if (type === 'video') {\r\n return createConfigForVideo(config, {src}, inputConfig);\r\n } else if (type === 'image') {\r\n return createConfigForImage(config, {src}, inputConfig);\r\n }\r\n throw new Error(`Source with mimetype: \"${type}\" not supported`);\r\n}\r\n\r\nfunction createConfigForFile(config, inputConfig, file) {\r\n const src = DOMHelper.URL.createObjectURL(file);\r\n return createConfigForMimeType(config, inputConfig, {\r\n src,\r\n mime: file.type\r\n });\r\n}\r\n\r\nfunction createConfigForString(config, inputConfig = {}, source) {\r\n const [, mime] = source.match(isDataURL.regex) || [];\r\n if (mime) {\r\n return createConfigForMimeType(config, inputConfig, {src: source, mime});\r\n }\r\n const blobURL = source.match(isBlobURL.regex);\r\n if (blobURL) {\r\n throw new Error(`Source \"objectURL\": not supported`);\r\n }\r\n const [, , ext] = source.match(isMediaURL.regex) || [];\r\n if (ext) {\r\n return createConfigForMediaExtension(config, inputConfig, {src: source, ext});\r\n }\r\n throw new Error(`Source \"${source}\": not recognized`);\r\n}\r\n\r\nfunction createConfigForMediaExtension(config, inputConfig, {src, ext}) {\r\n if (ext.match(isImageExt.regex)) {\r\n return createConfigForImage(config, {src}, inputConfig);\r\n } else if (ext.match(isVideoExt.regex)) {\r\n return createConfigForVideo(config, {src}, inputConfig);\r\n }\r\n throw new Error(`Source \"MediaString\": not recognized`);\r\n}\r\n\r\nfunction createConfigForCanvas (config, {canvas}, inputConfig = {}) {\r\n // TODO: adjust stream & frame-grabber\r\n // once/continous\r\n throw new Error('Source \"Canvas\": not implemented!');\r\n}\r\n\r\nfunction createConfigForVideo (config, source, inputConfig = {}) {\r\n return merge({},\r\n config,\r\n {\r\n inputStream: merge({\r\n type: \"VideoStream\"\r\n }, source)\r\n }, {\r\n inputStream: inputConfig\r\n });\r\n}\r\n\r\nfunction createConfigForStream(config, {srcObject}, inputConfig = {}) {\r\n // TODO: attach to