diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 6311841..0000000 --- a/.babelrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "presets": [ - ["latest", { - "es2015": { "modules": false } - }] - ] -} diff --git a/README.md b/README.md index b4a9c93..0af0aff 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Floating Action Button for Vue. The component supports multiple action buttons so you can add as many actions as you need. It will fire an event to the parent when clicking on each one. - Live Demo + Live Demo ## Installation @@ -54,6 +54,7 @@ And | `icon` | String | Icon name (Please refer to [Material icons](https://material.io/icons/)) | | `tooltip` | String | If not used, tooltip won't appear. | | `color` | String | Default `bg-color` value
Accepts all color formats: HEX, RGB & RGBA | +| `slot` | String | Slot with name 'icon' to replace the default material icon ## Examples diff --git a/demo/App.vue b/demo/App.vue index 516c1a6..c7955e6 100644 --- a/demo/App.vue +++ b/demo/App.vue @@ -195,14 +195,21 @@ :bg-color="colors.hex" :main-icon="mainIcon" :main-tooltip="mainTooltip" - :actions="[{name: 'alertMe',icon: firstIcon, tooltip: firstTooltip, color:'#d11014'},{name: 'alertMe',icon: secondIcon, tooltip: secondTooltip}]" + :actions="[{name: 'alertMe',icon: firstIcon, tooltip: firstTooltip, color:'#d11014'},{name: 'alertMe',icon: secondIcon, tooltip: secondTooltip},{name: 'alertMe', icon: 'file_upload', tooltip: 'Upload'}]" @alertMe="alert" :fixed-tooltip="fixedTooltip" - > + > + + \n\n\n\n\n\n// WEBPACK FOOTER //\n// App.vue?41d1b9bc","\n\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// FAB.vue?2d92eda0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".fab-tooltip.tooltip{display:block!important;padding:4px;z-index:10000}.fab-tooltip.tooltip .tooltip-inner{background:#333;color:#fff;border-radius:0;padding:5px 10px 4px}.fab-tooltip.tooltip tooltip-arrow{display:none}.fab-tooltip.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.fab-tooltip.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?minimize!./~/vue-loader/lib/style-compiler?{\"id\":\"data-v-1073f3cf\",\"scoped\":false,\"hasInlineConfig\":false}!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/FAB.vue\n// module id = 9\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".animated.quick[data-v-1073f3cf]{-webkit-animation-duration:.7s!important;animation-duration:.7s!important}.fab-wrapper[data-v-1073f3cf]{z-index:999}.fab[data-v-1073f3cf]{border-radius:100px;padding:30px;position:relative;overflow:hidden;display:flex;align-items:center;box-shadow:0 10px 10px rgba(0,0,0,.2),0 4px 4px rgba(0,0,0,.15);z-index:2;justify-content:center}.fab .material-icons[data-v-1073f3cf]{color:#fff;transition:all .4s;margin:0 auto}.fab .material-icons.main[data-v-1073f3cf]{opacity:1;position:absolute}.fab .material-icons.close[data-v-1073f3cf]{opacity:0;position:absolute}.fab .material-icons.main.rotate[data-v-1073f3cf]{opacity:0}.fab .material-icons.close.rotate[data-v-1073f3cf],.fab .material-icons.main.rotate[data-v-1073f3cf]{-webkit-transform:rotate(315deg);transform:rotate(315deg);transition:opacity .3s ease-in,transform .4s}.fab .material-icons.close.rotate[data-v-1073f3cf]{opacity:1}.fab-list[data-v-1073f3cf]{position:relative;z-index:1;margin:2vh 0;display:flex;flex-direction:column;align-items:center}.fab-list li[data-v-1073f3cf]{padding:10px;margin-top:2vh;display:flex;align-items:center;border-radius:100px;box-shadow:0 10px 10px rgba(0,0,0,.2),0 4px 4px rgba(0,0,0,.15)}.fab-list li .material-icons[data-v-1073f3cf]{color:#fff;margin:0 auto}.pointer[data-v-1073f3cf]{cursor:pointer}ul[data-v-1073f3cf]{list-style-type:none;padding:0!important}.fab-wrapper .actions-container[data-v-1073f3cf]{overflow:hidden;z-index:0;position:relative}.material-icons.md-18[data-v-1073f3cf]{font-size:18px}.material-icons.md-24[data-v-1073f3cf]{font-size:24px}.material-icons.md-36[data-v-1073f3cf]{font-size:36px}.material-icons.md-48[data-v-1073f3cf]{font-size:48px}.material-icons.md-dark[data-v-1073f3cf]{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive[data-v-1073f3cf]{color:rgba(0,0,0,.26)}.material-icons.md-light[data-v-1073f3cf]{color:#fff}.material-icons.md-light.md-inactive[data-v-1073f3cf]{color:hsla(0,0%,100%,.3)}@media screen and (max-width:768px){.fab-list[data-v-1073f3cf]{margin:2vh 0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?minimize!./~/vue-loader/lib/style-compiler?{\"id\":\"data-v-1073f3cf\",\"scoped\":true,\"hasInlineConfig\":false}!./~/vue-loader/lib/selector.js?type=styles&index=1!./src/FAB.vue\n// module id = 10\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"#app[data-v-d877a75c]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}.pointer[data-v-d877a75c]{cursor:pointer}h1[data-v-d877a75c],h2[data-v-d877a75c]{font-weight:400}hr[data-v-d877a75c]{background-color:transparent;border:none;display:block;height:inherit;margin:1.5rem 0;border-top:1px dashed}li[data-v-d877a75c]{display:inline-block;margin:0 10px}a[data-v-d877a75c]{color:#0b99b9;text-decoration:underline}.text-medium-grey[data-v-d877a75c]{color:#333}.text-light-grey[data-v-d877a75c]{color:#888}.box.formated[data-v-d877a75c]{position:relative;padding:0}.box.formated .heading[data-v-d877a75c]{font-size:1rem;text-transform:capitalize;padding:.8rem 1.5rem;background-color:#fafafa}.box.formated .content[data-v-d877a75c]{padding:1rem 2rem}i.top-left[data-v-d877a75c]{position:absolute;left:1.5rem;top:.8rem}.vertical-separator[data-v-d877a75c]{display:flex;justify-content:space-around}.vertical-separator .line[data-v-d877a75c]{border-right:1px solid #ccc}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?minimize!./~/vue-loader/lib/style-compiler?{\"id\":\"data-v-d877a75c\",\"scoped\":true,\"hasInlineConfig\":false}!./~/vue-loader/lib/selector.js?type=styles&index=0!./demo/App.vue\n// module id = 11\n// module chunks = 0","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./demo/assets/logo.png\n// module id = 12\n// module chunks = 0","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 4);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tooltip_js__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils__ = __webpack_require__(1);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return defaultOptions; });\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\n\nvar defaultOptions = {\n defaultPlacement: 'top',\n defaultClass: 'vue-tooltip-theme',\n defaultTemplate: '
',\n defaultDelay: 0,\n defaultTrigger: 'hover focus',\n defaultOffset: 0,\n defaultContainer: 'body'\n};\n\nfunction getOptions(options) {\n return {\n placement: options.placement || directive.options.defaultPlacement,\n delay: options.delay || directive.options.defaultDelay,\n template: options.template || directive.options.defaultTemplate,\n trigger: options.trigger || directive.options.defaultTrigger,\n offset: options.offset || directive.options.defaultOffset,\n container: options.container || directive.options.defaultContainer\n };\n}\n\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = positions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var pos = _step.value;\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return placement;\n}\n\nvar SuperTooltip = function (_Tooltip) {\n _inherits(SuperTooltip, _Tooltip);\n\n function SuperTooltip() {\n _classCallCheck(this, SuperTooltip);\n\n return _possibleConstructorReturn(this, (SuperTooltip.__proto__ || Object.getPrototypeOf(SuperTooltip)).apply(this, arguments));\n }\n\n _createClass(SuperTooltip, [{\n key: 'setClasses',\n value: function setClasses(classes) {\n var el = this._tooltipNode;\n\n if (el) {\n var oldClasses = this._oldClasses;\n if (classes) {\n if (oldClasses) {\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"a\" /* replaceClasses */])(el, classes, oldClasses);\n } else {\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"b\" /* addClasses */])(el, classes);\n }\n } else if (oldClasses) {\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils__[\"c\" /* removeClasses */])(el, oldClasses);\n }\n this._oldClasses = classes;\n } else {\n this._pendingClasses = classes;\n }\n\n this._classes = classes;\n }\n }, {\n key: 'setContent',\n value: function setContent(content) {\n this.options.title = content;\n if (this._tooltipNode) {\n var el = this._tooltipNode.querySelector(this.innerSelector);\n\n if (el) {\n if (!content) {\n el.innerHTML = '';\n } else {\n el.innerHTML = content;\n }\n\n this.popperInstance.update();\n }\n }\n }\n }, {\n key: 'setOptions',\n value: function setOptions(options) {\n options = getOptions(options);\n\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n\n this.dispose();\n\n var events = typeof this.options.trigger === 'string' ? options.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n this._setEventListeners(this.reference, events, this.options);\n\n this.setClasses(this._classes);\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n }\n }, {\n key: '_dispose',\n value: function _dispose() {\n var _this2 = this;\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this2.reference.removeEventListener(event, func);\n });\n this._events = [];\n _get(SuperTooltip.prototype.__proto__ || Object.getPrototypeOf(SuperTooltip.prototype), '_dispose', this).call(this);\n }\n }, {\n key: '_show',\n value: function _show() {\n var _get2,\n _this3 = this;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n (_get2 = _get(SuperTooltip.prototype.__proto__ || Object.getPrototypeOf(SuperTooltip.prototype), '_show', this)).call.apply(_get2, [this].concat(args));\n\n if (this._pendingClasses) {\n this.setClasses(this._pendingClasses);\n this._pendingClasses = null;\n }\n\n // Fix position\n setTimeout(function () {\n _this3.popperInstance.update();\n }, 0);\n }\n }]);\n\n return SuperTooltip;\n}(__WEBPACK_IMPORTED_MODULE_0_tooltip_js__[\"a\" /* default */]);\n\nfunction createTooltip(el, value, modifiers) {\n var content = value.content || value;\n var classes = value.classes || directive.options.defaultClass;\n\n var tooltip = el._tooltip = new SuperTooltip(el, _extends({\n title: content,\n html: true\n }, getOptions(_extends({}, value, {\n placement: getPlacement(value, modifiers)\n }))));\n tooltip.setClasses(classes);\n}\n\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n delete el._tooltip;\n }\n}\n\nvar directive = {\n options: defaultOptions,\n bind: function bind(el, _ref2) {\n var value = _ref2.value,\n modifiers = _ref2.modifiers;\n\n var content = value && value.content || value;\n destroyTooltip(el);\n if (content) {\n createTooltip(el, value, modifiers);\n }\n },\n update: function update(el, _ref3) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue,\n modifiers = _ref3.modifiers;\n\n var content = value && value.content || value;\n if (!content) {\n destroyTooltip(el);\n } else if (el._tooltip) {\n var tooltip = el._tooltip;\n // Content\n tooltip.setContent(content);\n // CSS Classes\n tooltip.setClasses(value && value.classes || directive.options.defaultClass);\n // Options\n tooltip.setOptions(_extends({}, value, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n createTooltip(el, value, modifiers);\n }\n },\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"b\"] = directive;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = addClasses;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = removeClasses;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = replaceClasses;\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n return value;\n}\n\nfunction addClasses(el, classes) {\n classes = convertToArray(classes);\n classes.forEach(function (c) {\n el.classList.add(c);\n });\n}\n\nfunction removeClasses(el, classes) {\n classes = convertToArray(classes);\n classes.forEach(function (c) {\n el.classList.remove(c);\n });\n}\n\nfunction replaceClasses(el, newClasses, oldClasses) {\n removeClasses(el, oldClasses);\n addClasses(el, newClasses);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar nativeHints = ['native code', '[object MutationObserverConstructor]'];\n\n/**\n * Determine if a function is implemented natively (as opposed to a polyfill).\n * @method\n * @memberof Popper.Utils\n * @argument {Function | undefined} fn the function to check\n * @returns {Boolean}\n */\nvar isNative = function isNative(fn) {\n return nativeHints.some(function (hint) {\n return (fn || '').toString().indexOf(hint) > -1;\n });\n};\n\nvar isBrowser = typeof window !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var scheduled = false;\n var i = 0;\n var elem = document.createElement('span');\n\n // MutationObserver provides a mechanism for scheduling microtasks, which\n // are scheduled *before* the next task. This gives us a way to debounce\n // a function but ensure it's called *before* the next paint.\n var observer = new MutationObserver(function () {\n fn();\n scheduled = false;\n });\n\n observer.observe(elem, { attributes: true });\n\n return function () {\n if (!scheduled) {\n scheduled = true;\n elem.setAttribute('x-index', i);\n i = i + 1; // don't use compund (+=) because it doesn't get optimized in V8\n }\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\n// It's common for MutationObserver polyfills to be seen in the wild, however\n// these rely on Mutation Events which only occur when an element is connected\n// to the DOM. The algorithm used in this module does not use a connected element,\n// and so we must ensure that a *native* MutationObserver is available.\nvar supportsNativeMutationObserver = isBrowser && isNative(window.MutationObserver);\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsNativeMutationObserver ? microtaskDebounce : taskDebounce;\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element || ['HTML', 'BODY', '#document'].indexOf(element.nodeName) !== -1) {\n return window.document.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || element.firstElementChild.offsetParent === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return window.document.documentElement;\n }\n\n return offsetParent;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return window.document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = window.document.documentElement;\n var scrollingElement = window.document.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0];\n}\n\nfunction getWindowSizes() {\n var body = window.document.body;\n var html = window.document.documentElement;\n return {\n height: Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight),\n width: Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth)\n };\n}\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar defineProperty = function defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function isIE10$1() {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top,\n left: childrenRect.left - parentRect.left,\n width: childrenRect.width,\n height: childrenRect.height\n });\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (isHTML || parent.nodeName === 'BODY') {\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = isIE10 && isHTML ? 0 : +styles.borderTopWidth.split('px')[0];\n var borderLeftWidth = isIE10 && isHTML ? 0 : +styles.borderLeftWidth.split('px')[0];\n var marginTop = isIE10 && isHTML ? 0 : +styles.marginTop.split('px')[0];\n var marginLeft = isIE10 && isHTML ? 0 : +styles.marginLeft.split('px')[0];\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (parent.contains(scrollParent) && (isIE10 || scrollParent.nodeName !== 'BODY')) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = window.document.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(popper));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = window.document.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = window.document.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, 0, boundariesElement);\n\n var sides = {\n top: refRect.top - boundaries.top,\n right: boundaries.right - refRect.right,\n bottom: boundaries.bottom - refRect.bottom,\n left: refRect.left - boundaries.left\n };\n\n var computedPlacement = Object.keys(sides).sort(function (a, b) {\n return sides[b] - sides[a];\n })[0];\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier.function) {\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier.function || modifier.fn;\n if (modifier.enabled && isFunction(fn)) {\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'webkit', 'moz', 'o'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof window.document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? window : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n window.addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n window.removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n window.cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data, options) {\n // apply the final offsets to the popper\n // NOTE: 1 DOM access here\n var styles = {\n position: data.offsets.popper.position\n };\n\n var attributes = {\n 'x-placement': data.placement\n };\n\n // round top and left to avoid blurry text\n var left = Math.round(data.offsets.popper.left);\n var top = Math.round(data.offsets.popper.top);\n\n // if gpuAcceleration is set to true and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n if (options.gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles.top = 0;\n styles.left = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `left` and `top` properties\n styles.left = left;\n styles.top = top;\n styles.willChange = 'top, left';\n }\n\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, _extends({}, styles, data.styles));\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, _extends({}, attributes, data.attributes));\n\n // if the arrow style has been computed, apply the arrow style\n if (data.offsets.arrow) {\n setStyles(data.arrowElement, data.offsets.arrow);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement);\n\n popper.setAttribute('x-placement', placement);\n return options;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var popper = getClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var side = isVertical ? 'top' : 'left';\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n var sideValue = center - getClientRect(data.offsets.popper)[side];\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {};\n data.offsets.arrow[side] = sideValue;\n data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = getClientRect(data.offsets.popper);\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n data.offsets.popper = getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement);\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var popper = getClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = getClientRect(data.offsets.popper);\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var reference = data.offsets.reference;\n var popper = getClientRect(data.offsets.popper);\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var popper = getClientRect(data.offsets.popper);\n var reference = getClientRect(data.offsets.reference);\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[placement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} priority=['left', 'right', 'top', 'bottom']\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arro] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overriden using the `options` argument of Popper.js.
\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar DEFAULTS = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreateCallback}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdateCallback}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreateCallback\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdateCallback\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper =\n/**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [DEFAULTS](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\nfunction Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n this.update = update;\n this.destroy = destroy;\n this.enableEventListeners = enableEventListeners;\n this.disableEventListeners = disableEventListeners;\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference.jquery ? reference[0] : reference;\n this.popper = popper.jquery ? popper[0] : popper;\n\n // make sure to apply the popper position before any computation\n setStyles(this.popper, { position: 'absolute' });\n\n // refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(Popper.Defaults.modifiers).map(function (name) {\n return _extends({\n name: name\n }, Popper.Defaults.modifiers[name]);\n });\n\n // assign default values to modifiers, making sure to override them with\n // the ones defined by user\n this.modifiers = this.modifiers.map(function (defaultConfig) {\n var userConfig = options.modifiers && options.modifiers[defaultConfig.name] || {};\n return _extends({}, defaultConfig, userConfig);\n });\n\n // add custom modifiers to the modifiers list\n if (options.modifiers) {\n this.options.modifiers = _extends({}, Popper.Defaults.modifiers, options.modifiers);\n Object.keys(options.modifiers).forEach(function (name) {\n // take in account only custom modifiers\n if (Popper.Defaults.modifiers[name] === undefined) {\n var modifier = options.modifiers[name];\n modifier.name = name;\n _this.modifiers.push(modifier);\n }\n });\n }\n\n // sort the modifiers by order\n this.modifiers = this.modifiers.sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n};\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = DEFAULTS;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = Popper;\n//# sourceMappingURL=popper.js.map\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_popper_js__ = __webpack_require__(2);\n\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {*} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
',\n trigger: 'hover focus',\n offset: 0\n};\n\nvar Tooltip = function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The reference element used to position the tooltip\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n *\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options - Configuration of the tooltip\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} options.template='
'\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} options.trigger='hover focus'\n * How tooltip is triggered - click | hover | focus | manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(reference, options) {\n classCallCheck(this, Tooltip);\n\n _initialiseProps.call(this);\n\n // apply user options over default ones\n options = _extends({}, DEFAULT_OPTIONS, options);\n\n reference.jquery && (reference = reference[0]);\n\n // cache reference and options\n this.reference = reference;\n this.options = options;\n\n // get events list\n var events = typeof options.trigger === 'string' ? options.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n\n // set initial state\n this._isOpen = false;\n\n // set event listeners\n this._setEventListeners(reference, events, options);\n }\n\n //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @memberof Tooltip\n */\n\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @memberof Tooltip\n */\n\n /**\n * Hides and destroys an element’s tooltip.\n * @memberof Tooltip\n */\n\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @memberof Tooltip\n */\n\n //\n // Defaults\n //\n\n\n //\n // Private methods\n //\n\n createClass(Tooltip, [{\n key: '_create',\n\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n value: function _create(reference, template, title, allowHtml) {\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template;\n var tooltipNode = tooltipGenerator.childNodes[0];\n\n // add unique ID to our tooltip (needed for accessibility reasons)\n tooltipNode.id = 'tooltip_' + Math.random().toString(36).substr(2, 10);\n\n // set initial `aria-hidden` state to `false` (it's visible!)\n tooltipNode.setAttribute('aria-hidden', 'false');\n\n // add title to tooltip\n var titleNode = tooltipGenerator.querySelector(this.innerSelector);\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n allowHtml && titleNode.appendChild(title);\n } else if (isFunction(title)) {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var titleText = title.call(reference);\n allowHtml ? titleNode.innerHTML = titleText : titleNode.innerText = titleText;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n // return the generated tooltip node\n return tooltipNode;\n }\n }, {\n key: '_show',\n value: function _show(reference, options) {\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n this._isOpen = true;\n\n // if the tooltipNode already exists, just show it\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n this.popperInstance.update();\n return this;\n }\n\n // get title\n var title = reference.getAttribute('title') || options.title;\n\n // don't show tooltip if no title is defined\n if (!title) {\n return this;\n }\n\n // create tooltip node\n var tooltipNode = this._create(reference, options.template, title, options.html);\n\n // Add `aria-describedby` to our reference element for accessibility reasons\n tooltipNode.setAttribute('aria-describedby', tooltipNode.id);\n\n // append tooltip to container\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = {\n placement: options.placement,\n arrowElement: this.arrowSelector\n };\n\n if (options.boundariesElement) {\n popperOptions.boundariesElement = options.boundariesElement;\n }\n\n this.popperInstance = new __WEBPACK_IMPORTED_MODULE_0_popper_js__[\"a\" /* default */](reference, tooltipNode, popperOptions);\n\n this._tooltipNode = tooltipNode;\n\n return this;\n }\n }, {\n key: '_hide',\n value: function _hide() /*reference, options*/{\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n // hide tooltipNode\n this._tooltipNode.style.display = 'none';\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n return this;\n }\n }, {\n key: '_dispose',\n value: function _dispose() {\n var _this = this;\n\n if (this._tooltipNode) {\n this._hide();\n\n // destroy instance\n this.popperInstance.destroy();\n\n // remove event listeners\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this._tooltipNode.removeEventListener(event, func);\n });\n this._events = [];\n\n // destroy tooltipNode\n this._tooltipNode.parentNode.removeChild(this._tooltipNode);\n this._tooltipNode = null;\n }\n return this;\n }\n }, {\n key: '_findContainer',\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n return container;\n }\n\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: '_append',\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: '_setEventListeners',\n value: function _setEventListeners(reference, events, options) {\n var _this2 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n }\n });\n\n // schedule show tooltip\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this2._isOpen === true) {\n return;\n }\n evt.usedByTooltip = true;\n _this2._scheduleShow(reference, options.delay, options, evt);\n };\n _this2._events.push({ event: event, func: func });\n reference.addEventListener(event, func);\n });\n\n // schedule hide tooltip\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n _this2._scheduleHide(reference, options.delay, options, evt);\n };\n _this2._events.push({ event: event, func: func });\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: '_scheduleShow',\n value: function _scheduleShow(reference, delay, options /*, evt */) {\n var _this3 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n window.setTimeout(function () {\n return _this3._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: '_scheduleHide',\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this4 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n window.setTimeout(function () {\n if (_this4._isOpen === false) {\n return;\n }\n if (!document.body.contains(_this4._tooltipNode)) {\n return;\n }\n\n // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n if (evt.type === 'mouseleave') {\n var isSet = _this4._setTooltipNodeEvent(evt, reference, delay, options);\n\n // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n if (isSet) {\n return;\n }\n }\n\n _this4._hide(reference, options);\n }, computedDelay);\n }\n }]);\n return Tooltip;\n}();\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar _initialiseProps = function _initialiseProps() {\n var _this5 = this;\n\n this.show = function () {\n return _this5._show(_this5.reference, _this5.options);\n };\n\n this.hide = function () {\n return _this5._hide();\n };\n\n this.dispose = function () {\n return _this5._dispose();\n };\n\n this.toggle = function () {\n if (_this5._isOpen) {\n return _this5.hide();\n } else {\n return _this5.show();\n }\n };\n\n this.arrowSelector = '.tooltip-arrow, .tooltip__arrow';\n this.innerSelector = '.tooltip-inner, .tooltip__inner';\n this._events = [];\n\n this._setTooltipNodeEvent = function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement;\n\n // Remove event listener after call\n _this5._tooltipNode.removeEventListener(evt.type, callback);\n\n // If the new reference is not the reference element\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this5._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this5._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this5._tooltipNode.addEventListener(evt.type, callback);\n return true;\n }\n\n return false;\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = Tooltip;\n//# sourceMappingURL=tooltip.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__v_tooltip__ = __webpack_require__(0);\n/* harmony export (immutable) */ __webpack_exports__[\"install\"] = install;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VTooltip\", function() { return VTooltip; });\n\n\nfunction install(Vue, options) {\n if (install.installed) return;\n install.installed = true;\n\n options = Object.assign({}, __WEBPACK_IMPORTED_MODULE_0__v_tooltip__[\"a\" /* defaultOptions */], options || {});\n __WEBPACK_IMPORTED_MODULE_0__v_tooltip__[\"b\" /* default */].options = options;\n Vue.directive('tooltip', __WEBPACK_IMPORTED_MODULE_0__v_tooltip__[\"b\" /* default */]);\n}\n\nvar VTooltip = __WEBPACK_IMPORTED_MODULE_0__v_tooltip__[\"b\" /* default */];\n\nvar plugin = {\n install: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = plugin;\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgMjk4OWMwOWU5Nzc4NGIyNWYzMGMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3YtdG9vbHRpcC5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbHMuanMiLCJ3ZWJwYWNrOi8vLy4vfi9wb3BwZXIuanMvZGlzdC9lc20vcG9wcGVyLmpzIiwid2VicGFjazovLy8uL34vdG9vbHRpcC5qcy9kaXN0L2VzbS90b29sdGlwLmpzIiwid2VicGFjazovLy8uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJwb3NpdGlvbnMiLCJkZWZhdWx0T3B0aW9ucyIsImRlZmF1bHRQbGFjZW1lbnQiLCJkZWZhdWx0Q2xhc3MiLCJkZWZhdWx0VGVtcGxhdGUiLCJkZWZhdWx0RGVsYXkiLCJkZWZhdWx0VHJpZ2dlciIsImRlZmF1bHRPZmZzZXQiLCJkZWZhdWx0Q29udGFpbmVyIiwiZ2V0T3B0aW9ucyIsIm9wdGlvbnMiLCJwbGFjZW1lbnQiLCJkaXJlY3RpdmUiLCJkZWxheSIsInRlbXBsYXRlIiwidHJpZ2dlciIsIm9mZnNldCIsImNvbnRhaW5lciIsImdldFBsYWNlbWVudCIsInZhbHVlIiwibW9kaWZpZXJzIiwicG9zIiwiU3VwZXJUb29sdGlwIiwiY2xhc3NlcyIsImVsIiwiX3Rvb2x0aXBOb2RlIiwib2xkQ2xhc3NlcyIsIl9vbGRDbGFzc2VzIiwicmVwbGFjZUNsYXNzZXMiLCJhZGRDbGFzc2VzIiwicmVtb3ZlQ2xhc3NlcyIsIl9wZW5kaW5nQ2xhc3NlcyIsIl9jbGFzc2VzIiwiY29udGVudCIsInRpdGxlIiwicXVlcnlTZWxlY3RvciIsImlubmVyU2VsZWN0b3IiLCJpbm5lckhUTUwiLCJwb3BwZXJJbnN0YW5jZSIsInVwZGF0ZSIsIm5lZWRQb3BwZXJVcGRhdGUiLCJuZWVkUmVzdGFydCIsImtleSIsImlzT3BlbiIsIl9pc09wZW4iLCJkaXNwb3NlIiwiZXZlbnRzIiwic3BsaXQiLCJmaWx0ZXIiLCJpbmRleE9mIiwiX3NldEV2ZW50TGlzdGVuZXJzIiwicmVmZXJlbmNlIiwic2V0Q2xhc3NlcyIsInNob3ciLCJfZXZlbnRzIiwiZm9yRWFjaCIsImZ1bmMiLCJldmVudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhcmdzIiwic2V0VGltZW91dCIsImNyZWF0ZVRvb2x0aXAiLCJ0b29sdGlwIiwiX3Rvb2x0aXAiLCJodG1sIiwiZGVzdHJveVRvb2x0aXAiLCJiaW5kIiwib2xkVmFsdWUiLCJzZXRDb250ZW50Iiwic2V0T3B0aW9ucyIsInVuYmluZCIsImNvbnZlcnRUb0FycmF5IiwiY2xhc3NMaXN0IiwiYWRkIiwiYyIsInJlbW92ZSIsIm5ld0NsYXNzZXMiLCJuYXRpdmVIaW50cyIsImlzTmF0aXZlIiwiZm4iLCJzb21lIiwiaGludCIsInRvU3RyaW5nIiwiaXNCcm93c2VyIiwid2luZG93IiwibG9uZ2VyVGltZW91dEJyb3dzZXJzIiwidGltZW91dER1cmF0aW9uIiwiaSIsImxlbmd0aCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsIm1pY3JvdGFza0RlYm91bmNlIiwic2NoZWR1bGVkIiwiZWxlbSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIm9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm9ic2VydmUiLCJhdHRyaWJ1dGVzIiwic2V0QXR0cmlidXRlIiwidGFza0RlYm91bmNlIiwic3VwcG9ydHNOYXRpdmVNdXRhdGlvbk9ic2VydmVyIiwiZGVib3VuY2UiLCJpc051bWVyaWMiLCJuIiwiaXNOYU4iLCJwYXJzZUZsb2F0IiwiaXNGaW5pdGUiLCJzZXRTdHlsZXMiLCJlbGVtZW50Iiwic3R5bGVzIiwiT2JqZWN0Iiwia2V5cyIsInByb3AiLCJ1bml0Iiwic3R5bGUiLCJpc0Z1bmN0aW9uIiwiZnVuY3Rpb25Ub0NoZWNrIiwiZ2V0VHlwZSIsImNhbGwiLCJnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkiLCJwcm9wZXJ0eSIsIm5vZGVUeXBlIiwiY3NzIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImdldFBhcmVudE5vZGUiLCJub2RlTmFtZSIsInBhcmVudE5vZGUiLCJob3N0IiwiZ2V0U2Nyb2xsUGFyZW50IiwiYm9keSIsIl9nZXRTdHlsZUNvbXB1dGVkUHJvcCIsIm92ZXJmbG93Iiwib3ZlcmZsb3dYIiwib3ZlcmZsb3dZIiwidGVzdCIsImlzT2Zmc2V0Q29udGFpbmVyIiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJvZmZzZXRQYXJlbnQiLCJnZXRSb290Iiwibm9kZSIsImdldE9mZnNldFBhcmVudCIsImRvY3VtZW50RWxlbWVudCIsImZpbmRDb21tb25PZmZzZXRQYXJlbnQiLCJlbGVtZW50MSIsImVsZW1lbnQyIiwib3JkZXIiLCJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIsIk5vZGUiLCJET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkciLCJzdGFydCIsImVuZCIsInJhbmdlIiwiY3JlYXRlUmFuZ2UiLCJzZXRTdGFydCIsInNldEVuZCIsImNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIiwiY29udGFpbnMiLCJlbGVtZW50MXJvb3QiLCJnZXRTY3JvbGwiLCJzaWRlIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwidXBwZXJTaWRlIiwic2Nyb2xsaW5nRWxlbWVudCIsImluY2x1ZGVTY3JvbGwiLCJyZWN0Iiwic3VidHJhY3QiLCJzY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwibW9kaWZpZXIiLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJnZXRCb3JkZXJzU2l6ZSIsImF4aXMiLCJzaWRlQSIsInNpZGVCIiwiZ2V0V2luZG93U2l6ZXMiLCJoZWlnaHQiLCJNYXRoIiwibWF4Iiwic2Nyb2xsSGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0IiwiY2xpZW50SGVpZ2h0Iiwid2lkdGgiLCJzY3JvbGxXaWR0aCIsIm9mZnNldFdpZHRoIiwiY2xpZW50V2lkdGgiLCJjbGFzc0NhbGxDaGVjayIsImluc3RhbmNlIiwiQ29uc3RydWN0b3IiLCJUeXBlRXJyb3IiLCJkZWZpbmVQcm9wZXJ0eSIsIm9iaiIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9leHRlbmRzIiwiYXNzaWduIiwidGFyZ2V0Iiwic291cmNlIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJnZXRDbGllbnRSZWN0Iiwib2Zmc2V0cyIsImlzSUUxMCIsImlzSUUxMCQxIiwiYXBwVmVyc2lvbiIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImVyciIsInJlc3VsdCIsInNpemVzIiwiaG9yaXpTY3JvbGxiYXIiLCJ2ZXJ0U2Nyb2xsYmFyIiwiZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlIiwiY2hpbGRyZW4iLCJwYXJlbnQiLCJpc0hUTUwiLCJjaGlsZHJlblJlY3QiLCJwYXJlbnRSZWN0Iiwic2Nyb2xsUGFyZW50IiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJMZWZ0V2lkdGgiLCJtYXJnaW5Ub3AiLCJtYXJnaW5MZWZ0IiwiZ2V0Vmlld3BvcnRPZmZzZXRSZWN0UmVsYXRpdmVUb0FydGJpdHJhcnlOb2RlIiwicmVsYXRpdmVPZmZzZXQiLCJpbm5lcldpZHRoIiwiaW5uZXJIZWlnaHQiLCJpc0ZpeGVkIiwiZ2V0Qm91bmRhcmllcyIsInBvcHBlciIsInBhZGRpbmciLCJib3VuZGFyaWVzRWxlbWVudCIsImJvdW5kYXJpZXMiLCJib3VuZGFyaWVzTm9kZSIsIl9nZXRXaW5kb3dTaXplcyIsImNvbXB1dGVBdXRvUGxhY2VtZW50IiwicmVmUmVjdCIsInNpZGVzIiwiY29tcHV0ZWRQbGFjZW1lbnQiLCJzb3J0IiwiYSIsImIiLCJ2YXJpYXRpb24iLCJnZXRSZWZlcmVuY2VPZmZzZXRzIiwic3RhdGUiLCJjb21tb25PZmZzZXRQYXJlbnQiLCJnZXRPdXRlclNpemVzIiwieCIsIm1hcmdpbkJvdHRvbSIsInkiLCJtYXJnaW5SaWdodCIsImdldE9wcG9zaXRlUGxhY2VtZW50IiwiaGFzaCIsInJlcGxhY2UiLCJtYXRjaGVkIiwiZ2V0UG9wcGVyT2Zmc2V0cyIsInJlZmVyZW5jZU9mZnNldHMiLCJwb3BwZXJSZWN0IiwicG9wcGVyT2Zmc2V0cyIsImlzSG9yaXoiLCJtYWluU2lkZSIsInNlY29uZGFyeVNpZGUiLCJtZWFzdXJlbWVudCIsInNlY29uZGFyeU1lYXN1cmVtZW50IiwiZmluZCIsImFyciIsImNoZWNrIiwiQXJyYXkiLCJmaW5kSW5kZXgiLCJjdXIiLCJtYXRjaCIsInJ1bk1vZGlmaWVycyIsImRhdGEiLCJlbmRzIiwibW9kaWZpZXJzVG9SdW4iLCJzbGljZSIsImZ1bmN0aW9uIiwiY29uc29sZSIsIndhcm4iLCJlbmFibGVkIiwiaXNEZXN0cm95ZWQiLCJmbGlwcGVkIiwiZmxpcCIsIm9yaWdpbmFsUGxhY2VtZW50IiwicG9zaXRpb24iLCJpc0NyZWF0ZWQiLCJvbkNyZWF0ZSIsIm9uVXBkYXRlIiwiaXNNb2RpZmllckVuYWJsZWQiLCJtb2RpZmllck5hbWUiLCJfcmVmIiwibmFtZSIsImdldFN1cHBvcnRlZFByb3BlcnR5TmFtZSIsInByZWZpeGVzIiwidXBwZXJQcm9wIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJwcmVmaXgiLCJ0b0NoZWNrIiwiZGVzdHJveSIsInJlbW92ZUF0dHJpYnV0ZSIsImRpc2FibGVFdmVudExpc3RlbmVycyIsInJlbW92ZU9uRGVzdHJveSIsInJlbW92ZUNoaWxkIiwiYXR0YWNoVG9TY3JvbGxQYXJlbnRzIiwiY2FsbGJhY2siLCJzY3JvbGxQYXJlbnRzIiwiaXNCb2R5IiwiYWRkRXZlbnRMaXN0ZW5lciIsInBhc3NpdmUiLCJwdXNoIiwic2V0dXBFdmVudExpc3RlbmVycyIsInVwZGF0ZUJvdW5kIiwic2Nyb2xsRWxlbWVudCIsImV2ZW50c0VuYWJsZWQiLCJlbmFibGVFdmVudExpc3RlbmVycyIsInNjaGVkdWxlVXBkYXRlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lcnMiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsInNldEF0dHJpYnV0ZXMiLCJhcHBseVN0eWxlIiwicm91bmQiLCJwcmVmaXhlZFByb3BlcnR5IiwiZ3B1QWNjZWxlcmF0aW9uIiwid2lsbENoYW5nZSIsImFycm93IiwiYXJyb3dFbGVtZW50IiwiYXBwbHlTdHlsZU9uTG9hZCIsIm1vZGlmaWVyT3B0aW9ucyIsImlzTW9kaWZpZXJSZXF1aXJlZCIsInJlcXVlc3RpbmdOYW1lIiwicmVxdWVzdGVkTmFtZSIsInJlcXVlc3RpbmciLCJpc1JlcXVpcmVkIiwiX3JlcXVlc3RpbmciLCJyZXF1ZXN0ZWQiLCJpc1ZlcnRpY2FsIiwibGVuIiwiYWx0U2lkZSIsIm9wU2lkZSIsImFycm93RWxlbWVudFNpemUiLCJjZW50ZXIiLCJzaWRlVmFsdWUiLCJtaW4iLCJnZXRPcHBvc2l0ZVZhcmlhdGlvbiIsInBsYWNlbWVudHMiLCJ2YWxpZFBsYWNlbWVudHMiLCJjbG9ja3dpc2UiLCJjb3VudGVyIiwiaW5kZXgiLCJjb25jYXQiLCJyZXZlcnNlIiwiQkVIQVZJT1JTIiwiRkxJUCIsIkNMT0NLV0lTRSIsIkNPVU5URVJDTE9DS1dJU0UiLCJwbGFjZW1lbnRPcHBvc2l0ZSIsImZsaXBPcmRlciIsImJlaGF2aW9yIiwic3RlcCIsInJlZk9mZnNldHMiLCJmbG9vciIsIm92ZXJsYXBzUmVmIiwib3ZlcmZsb3dzTGVmdCIsIm92ZXJmbG93c1JpZ2h0Iiwib3ZlcmZsb3dzVG9wIiwib3ZlcmZsb3dzQm90dG9tIiwib3ZlcmZsb3dzQm91bmRhcmllcyIsImZsaXBwZWRWYXJpYXRpb24iLCJmbGlwVmFyaWF0aW9ucyIsImtlZXBUb2dldGhlciIsInRvVmFsdWUiLCJzdHIiLCJzaXplIiwicGFyc2VPZmZzZXQiLCJiYXNlUGxhY2VtZW50IiwidXNlSGVpZ2h0IiwiZnJhZ21lbnRzIiwibWFwIiwiZnJhZyIsInRyaW0iLCJkaXZpZGVyIiwic2VhcmNoIiwic3BsaXRSZWdleCIsIm9wcyIsIm9wIiwibWVyZ2VXaXRoUHJldmlvdXMiLCJyZWR1Y2UiLCJpbmRleDIiLCJfZGF0YSRvZmZzZXRzIiwicHJldmVudE92ZXJmbG93IiwicHJpb3JpdHkiLCJwcmltYXJ5IiwiZXNjYXBlV2l0aFJlZmVyZW5jZSIsInNlY29uZGFyeSIsInNoaWZ0Iiwic2hpZnR2YXJpYXRpb24iLCJzaGlmdE9mZnNldHMiLCJoaWRlIiwiYm91bmQiLCJpbm5lciIsInN1YnRyYWN0TGVuZ3RoIiwib25Mb2FkIiwiREVGQVVMVFMiLCJQb3BwZXIiLCJfdGhpcyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIkRlZmF1bHRzIiwianF1ZXJ5IiwiZGVmYXVsdENvbmZpZyIsInVzZXJDb25maWciLCJVdGlscyIsImdsb2JhbCIsIlBvcHBlclV0aWxzIiwiY3JlYXRlQ2xhc3MiLCJkZWZpbmVQcm9wZXJ0aWVzIiwicHJvcHMiLCJkZXNjcmlwdG9yIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiREVGQVVMVF9PUFRJT05TIiwiVG9vbHRpcCIsIl9pbml0aWFsaXNlUHJvcHMiLCJfY3JlYXRlIiwiYWxsb3dIdG1sIiwidG9vbHRpcEdlbmVyYXRvciIsInRvb2x0aXBOb2RlIiwiY2hpbGROb2RlcyIsImlkIiwicmFuZG9tIiwic3Vic3RyIiwidGl0bGVOb2RlIiwiYXBwZW5kQ2hpbGQiLCJ0aXRsZVRleHQiLCJpbm5lclRleHQiLCJfc2hvdyIsImRpc3BsYXkiLCJnZXRBdHRyaWJ1dGUiLCJfZmluZENvbnRhaW5lciIsIl9hcHBlbmQiLCJwb3BwZXJPcHRpb25zIiwiYXJyb3dTZWxlY3RvciIsIl9oaWRlIiwiX2Rpc3Bvc2UiLCJfdGhpczIiLCJkaXJlY3RFdmVudHMiLCJvcHBvc2l0ZUV2ZW50cyIsImV2dCIsInVzZWRCeVRvb2x0aXAiLCJfc2NoZWR1bGVTaG93IiwiX3NjaGVkdWxlSGlkZSIsIl90aGlzMyIsImNvbXB1dGVkRGVsYXkiLCJfdGhpczQiLCJ0eXBlIiwiaXNTZXQiLCJfc2V0VG9vbHRpcE5vZGVFdmVudCIsIl90aGlzNSIsInRvZ2dsZSIsInJlbGF0ZWRyZWZlcmVuY2UiLCJ0b0VsZW1lbnQiLCJldnQyIiwicmVsYXRlZHJlZmVyZW5jZTIiLCJpbnN0YWxsIiwiVnVlIiwiaW5zdGFsbGVkIiwidnRvb2x0aXAiLCJWVG9vbHRpcCIsInBsdWdpbiIsIkdsb2JhbFZ1ZSIsInVzZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxtREFBMkMsY0FBYzs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBMkIsMEJBQTBCLEVBQUU7QUFDdkQseUNBQWlDLGVBQWU7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOERBQXNELCtEQUErRDs7QUFFckg7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2hFQTs7QUFFQTs7QUFFQSxJQUFNQSxZQUFZLENBQ2hCLEtBRGdCLEVBRWhCLFdBRmdCLEVBR2hCLFNBSGdCLEVBSWhCLE9BSmdCLEVBS2hCLGFBTGdCLEVBTWhCLFdBTmdCLEVBT2hCLFFBUGdCLEVBUWhCLGNBUmdCLEVBU2hCLFlBVGdCLEVBVWhCLE1BVmdCLEVBV2hCLFlBWGdCLEVBWWhCLFVBWmdCLENBQWxCOztBQWVPLElBQU1DLGlCQUFpQjtBQUM1QkMsb0JBQWtCLEtBRFU7QUFFNUJDLGdCQUFjLG1CQUZjO0FBRzVCQyxtQkFBaUIsOEdBSFc7QUFJNUJDLGdCQUFjLENBSmM7QUFLNUJDLGtCQUFnQixhQUxZO0FBTTVCQyxpQkFBZSxDQU5hO0FBTzVCQyxvQkFBa0I7QUFQVSxDQUF2Qjs7QUFVUCxTQUFTQyxVQUFULENBQXFCQyxPQUFyQixFQUE4QjtBQUM1QixTQUFPO0FBQ0xDLGVBQVdELFFBQVFDLFNBQVIsSUFBcUJDLFVBQVVGLE9BQVYsQ0FBa0JSLGdCQUQ3QztBQUVMVyxXQUFPSCxRQUFRRyxLQUFSLElBQWlCRCxVQUFVRixPQUFWLENBQWtCTCxZQUZyQztBQUdMUyxjQUFVSixRQUFRSSxRQUFSLElBQW9CRixVQUFVRixPQUFWLENBQWtCTixlQUgzQztBQUlMVyxhQUFTTCxRQUFRSyxPQUFSLElBQW1CSCxVQUFVRixPQUFWLENBQWtCSixjQUp6QztBQUtMVSxZQUFRTixRQUFRTSxNQUFSLElBQWtCSixVQUFVRixPQUFWLENBQWtCSCxhQUx2QztBQU1MVSxlQUFXUCxRQUFRTyxTQUFSLElBQXFCTCxVQUFVRixPQUFWLENBQWtCRjtBQU43QyxHQUFQO0FBUUQ7O0FBRUQsU0FBU1UsWUFBVCxDQUF1QkMsS0FBdkIsRUFBOEJDLFNBQTlCLEVBQXlDO0FBQ3ZDLE1BQUlULFlBQVlRLE1BQU1SLFNBQXRCO0FBRHVDO0FBQUE7QUFBQTs7QUFBQTtBQUV2Qyx5QkFBa0JYLFNBQWxCLDhIQUE2QjtBQUFBLFVBQWxCcUIsR0FBa0I7O0FBQzNCLFVBQUlELFVBQVVDLEdBQVYsQ0FBSixFQUFvQjtBQUNsQlYsb0JBQVlVLEdBQVo7QUFDRDtBQUNGO0FBTnNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBT3ZDLFNBQU9WLFNBQVA7QUFDRDs7SUFFS1csWTs7Ozs7Ozs7Ozs7K0JBQ1FDLE8sRUFBUztBQUNuQixVQUFNQyxLQUFLLEtBQUtDLFlBQWhCOztBQUVBLFVBQUlELEVBQUosRUFBUTtBQUNOLFlBQU1FLGFBQWEsS0FBS0MsV0FBeEI7QUFDQSxZQUFJSixPQUFKLEVBQWE7QUFDWCxjQUFJRyxVQUFKLEVBQWdCO0FBQ2RFLFlBQUEscUZBQUFBLENBQWVKLEVBQWYsRUFBbUJELE9BQW5CLEVBQTRCRyxVQUE1QjtBQUNELFdBRkQsTUFFTztBQUNMRyxZQUFBLGlGQUFBQSxDQUFXTCxFQUFYLEVBQWVELE9BQWY7QUFDRDtBQUNGLFNBTkQsTUFNTyxJQUFJRyxVQUFKLEVBQWdCO0FBQ3JCSSxVQUFBLG9GQUFBQSxDQUFjTixFQUFkLEVBQWtCRSxVQUFsQjtBQUNEO0FBQ0QsYUFBS0MsV0FBTCxHQUFtQkosT0FBbkI7QUFDRCxPQVpELE1BWU87QUFDTCxhQUFLUSxlQUFMLEdBQXVCUixPQUF2QjtBQUNEOztBQUVELFdBQUtTLFFBQUwsR0FBZ0JULE9BQWhCO0FBQ0Q7OzsrQkFFV1UsTyxFQUFTO0FBQ25CLFdBQUt2QixPQUFMLENBQWF3QixLQUFiLEdBQXFCRCxPQUFyQjtBQUNBLFVBQUksS0FBS1IsWUFBVCxFQUF1QjtBQUNyQixZQUFNRCxLQUFLLEtBQUtDLFlBQUwsQ0FBa0JVLGFBQWxCLENBQWdDLEtBQUtDLGFBQXJDLENBQVg7O0FBRUEsWUFBSVosRUFBSixFQUFRO0FBQ04sY0FBSSxDQUFDUyxPQUFMLEVBQWM7QUFDWlQsZUFBR2EsU0FBSCxHQUFlLEVBQWY7QUFDRCxXQUZELE1BRU87QUFDTGIsZUFBR2EsU0FBSCxHQUFlSixPQUFmO0FBQ0Q7O0FBRUQsZUFBS0ssY0FBTCxDQUFvQkMsTUFBcEI7QUFDRDtBQUNGO0FBQ0Y7OzsrQkFFVzdCLE8sRUFBUztBQUNuQkEsZ0JBQVVELFdBQVdDLE9BQVgsQ0FBVjs7QUFFQSxVQUFJOEIsbUJBQW1CLEtBQXZCO0FBQ0EsVUFBSUMsY0FBYyxLQUFsQjs7QUFFQSxVQUNFLEtBQUsvQixPQUFMLENBQWFNLE1BQWIsS0FBd0JOLFFBQVFNLE1BQWhDLElBQ0EsS0FBS04sT0FBTCxDQUFhQyxTQUFiLEtBQTJCRCxRQUFRQyxTQUZyQyxFQUdFO0FBQ0E2QiwyQkFBbUIsSUFBbkI7QUFDRDs7QUFFRCxVQUNFLEtBQUs5QixPQUFMLENBQWFJLFFBQWIsS0FBMEJKLFFBQVFJLFFBQWxDLElBQ0EsS0FBS0osT0FBTCxDQUFhSyxPQUFiLEtBQXlCTCxRQUFRSyxPQURqQyxJQUVBLEtBQUtMLE9BQUwsQ0FBYU8sU0FBYixLQUEyQlAsUUFBUU8sU0FIckMsRUFJRTtBQUNBd0Isc0JBQWMsSUFBZDtBQUNEOztBQUVELFdBQUssSUFBTUMsR0FBWCxJQUFrQmhDLE9BQWxCLEVBQTJCO0FBQ3pCLGFBQUtBLE9BQUwsQ0FBYWdDLEdBQWIsSUFBb0JoQyxRQUFRZ0MsR0FBUixDQUFwQjtBQUNEOztBQUVELFVBQUksS0FBS2pCLFlBQVQsRUFBdUI7QUFDckIsWUFBSWdCLFdBQUosRUFBaUI7QUFDZixjQUFNRSxTQUFTLEtBQUtDLE9BQXBCOztBQUVBLGVBQUtDLE9BQUw7O0FBRUEsY0FBTUMsU0FBUyxPQUFPLEtBQUtwQyxPQUFMLENBQWFLLE9BQXBCLEtBQWdDLFFBQWhDLEdBQ1hMLFFBQVFLLE9BQVIsQ0FDQ2dDLEtBREQsQ0FDTyxHQURQLEVBRUNDLE1BRkQsQ0FHRTtBQUFBLG1CQUFXLENBQUMsT0FBRCxFQUFVLE9BQVYsRUFBbUIsT0FBbkIsRUFBNEJDLE9BQTVCLENBQW9DbEMsT0FBcEMsTUFBaUQsQ0FBQyxDQUE3RDtBQUFBLFdBSEYsQ0FEVyxHQU1YLEVBTko7QUFPQSxlQUFLbUMsa0JBQUwsQ0FBd0IsS0FBS0MsU0FBN0IsRUFBd0NMLE1BQXhDLEVBQWdELEtBQUtwQyxPQUFyRDs7QUFFQSxlQUFLMEMsVUFBTCxDQUFnQixLQUFLcEIsUUFBckI7O0FBRUEsY0FBSVcsTUFBSixFQUFZO0FBQ1YsaUJBQUtVLElBQUw7QUFDRDtBQUNGLFNBbkJELE1BbUJPLElBQUliLGdCQUFKLEVBQXNCO0FBQzNCLGVBQUtGLGNBQUwsQ0FBb0JDLE1BQXBCO0FBQ0Q7QUFDRjtBQUNGOzs7K0JBRVc7QUFBQTs7QUFDVixXQUFLZSxPQUFMLENBQWFDLE9BQWIsQ0FBcUIsZ0JBQXFCO0FBQUEsWUFBbEJDLElBQWtCLFFBQWxCQSxJQUFrQjtBQUFBLFlBQVpDLEtBQVksUUFBWkEsS0FBWTs7QUFDeEMsZUFBS04sU0FBTCxDQUFlTyxtQkFBZixDQUFtQ0QsS0FBbkMsRUFBMENELElBQTFDO0FBQ0QsT0FGRDtBQUdBLFdBQUtGLE9BQUwsR0FBZSxFQUFmO0FBQ0E7QUFDRDs7OzRCQUVlO0FBQUE7QUFBQTs7QUFBQSx3Q0FBTkssSUFBTTtBQUFOQSxZQUFNO0FBQUE7O0FBQ2QsdUpBQWVBLElBQWY7O0FBRUEsVUFBSSxLQUFLNUIsZUFBVCxFQUEwQjtBQUN4QixhQUFLcUIsVUFBTCxDQUFnQixLQUFLckIsZUFBckI7QUFDQSxhQUFLQSxlQUFMLEdBQXVCLElBQXZCO0FBQ0Q7O0FBRUQ7QUFDQTZCLGlCQUFXLFlBQU07QUFDZixlQUFLdEIsY0FBTCxDQUFvQkMsTUFBcEI7QUFDRCxPQUZELEVBRUcsQ0FGSDtBQUdEOzs7O0VBL0d3QiwyRDs7QUFrSDNCLFNBQVNzQixhQUFULENBQXdCckMsRUFBeEIsRUFBNEJMLEtBQTVCLEVBQW1DQyxTQUFuQyxFQUE4QztBQUM1QyxNQUFNYSxVQUFVZCxNQUFNYyxPQUFOLElBQWlCZCxLQUFqQztBQUNBLE1BQUlJLFVBQVVKLE1BQU1JLE9BQU4sSUFBaUJYLFVBQVVGLE9BQVYsQ0FBa0JQLFlBQWpEOztBQUVBLE1BQU0yRCxVQUFVdEMsR0FBR3VDLFFBQUgsR0FBYyxJQUFJekMsWUFBSixDQUFpQkUsRUFBakI7QUFDNUJVLFdBQU9ELE9BRHFCO0FBRTVCK0IsVUFBTTtBQUZzQixLQUd6QnZELHdCQUNFVSxLQURGO0FBRURSLGVBQVdPLGFBQWFDLEtBQWIsRUFBb0JDLFNBQXBCO0FBRlYsS0FIeUIsRUFBOUI7QUFRQTBDLFVBQVFWLFVBQVIsQ0FBbUI3QixPQUFuQjtBQUNEOztBQUVELFNBQVMwQyxjQUFULENBQXlCekMsRUFBekIsRUFBNkI7QUFDM0IsTUFBSUEsR0FBR3VDLFFBQVAsRUFBaUI7QUFDZnZDLE9BQUd1QyxRQUFILENBQVlsQixPQUFaO0FBQ0EsV0FBT3JCLEdBQUd1QyxRQUFWO0FBQ0Q7QUFDRjs7QUFFRCxJQUFNbkQsWUFBWTtBQUNoQkYsV0FBU1QsY0FETztBQUVoQmlFLE1BRmdCLGdCQUVWMUMsRUFGVSxTQUVnQjtBQUFBLFFBQXBCTCxLQUFvQixTQUFwQkEsS0FBb0I7QUFBQSxRQUFiQyxTQUFhLFNBQWJBLFNBQWE7O0FBQzlCLFFBQU1hLFVBQVVkLFNBQVNBLE1BQU1jLE9BQWYsSUFBMEJkLEtBQTFDO0FBQ0E4QyxtQkFBZXpDLEVBQWY7QUFDQSxRQUFJUyxPQUFKLEVBQWE7QUFDWDRCLG9CQUFjckMsRUFBZCxFQUFrQkwsS0FBbEIsRUFBeUJDLFNBQXpCO0FBQ0Q7QUFDRixHQVJlO0FBU2hCbUIsUUFUZ0Isa0JBU1JmLEVBVFEsU0FTNEI7QUFBQSxRQUE5QkwsS0FBOEIsU0FBOUJBLEtBQThCO0FBQUEsUUFBdkJnRCxRQUF1QixTQUF2QkEsUUFBdUI7QUFBQSxRQUFiL0MsU0FBYSxTQUFiQSxTQUFhOztBQUMxQyxRQUFNYSxVQUFVZCxTQUFTQSxNQUFNYyxPQUFmLElBQTBCZCxLQUExQztBQUNBLFFBQUksQ0FBQ2MsT0FBTCxFQUFjO0FBQ1pnQyxxQkFBZXpDLEVBQWY7QUFDRCxLQUZELE1BRU8sSUFBSUEsR0FBR3VDLFFBQVAsRUFBaUI7QUFDdEIsVUFBTUQsVUFBVXRDLEdBQUd1QyxRQUFuQjtBQUNBO0FBQ0FELGNBQVFNLFVBQVIsQ0FBbUJuQyxPQUFuQjtBQUNBO0FBQ0E2QixjQUFRVixVQUFSLENBQW9CakMsU0FBU0EsTUFBTUksT0FBaEIsSUFBNEJYLFVBQVVGLE9BQVYsQ0FBa0JQLFlBQWpFO0FBQ0E7QUFDQTJELGNBQVFPLFVBQVIsY0FDS2xELEtBREw7QUFFRVIsbUJBQVdPLGFBQWFDLEtBQWIsRUFBb0JDLFNBQXBCO0FBRmI7QUFJRCxLQVhNLE1BV0E7QUFDTHlDLG9CQUFjckMsRUFBZCxFQUFrQkwsS0FBbEIsRUFBeUJDLFNBQXpCO0FBQ0Q7QUFDRixHQTNCZTtBQTRCaEJrRCxRQTVCZ0Isa0JBNEJSOUMsRUE1QlEsRUE0Qko7QUFDVnlDLG1CQUFlekMsRUFBZjtBQUNEO0FBOUJlLENBQWxCOztBQWlDQSx3REFBZVosU0FBZixDOzs7Ozs7Ozs7OztBQzFOQSxTQUFTMkQsY0FBVCxDQUF5QnBELEtBQXpCLEVBQWdDO0FBQzlCLE1BQUksT0FBT0EsS0FBUCxLQUFpQixRQUFyQixFQUErQjtBQUM3QkEsWUFBUUEsTUFBTTRCLEtBQU4sQ0FBWSxHQUFaLENBQVI7QUFDRDtBQUNELFNBQU81QixLQUFQO0FBQ0Q7O0FBRU0sU0FBU1UsVUFBVCxDQUFxQkwsRUFBckIsRUFBeUJELE9BQXpCLEVBQWtDO0FBQ3ZDQSxZQUFVZ0QsZUFBZWhELE9BQWYsQ0FBVjtBQUNBQSxVQUFRZ0MsT0FBUixDQUFnQixhQUFLO0FBQ25CL0IsT0FBR2dELFNBQUgsQ0FBYUMsR0FBYixDQUFpQkMsQ0FBakI7QUFDRCxHQUZEO0FBR0Q7O0FBRU0sU0FBUzVDLGFBQVQsQ0FBd0JOLEVBQXhCLEVBQTRCRCxPQUE1QixFQUFxQztBQUMxQ0EsWUFBVWdELGVBQWVoRCxPQUFmLENBQVY7QUFDQUEsVUFBUWdDLE9BQVIsQ0FBZ0IsYUFBSztBQUNuQi9CLE9BQUdnRCxTQUFILENBQWFHLE1BQWIsQ0FBb0JELENBQXBCO0FBQ0QsR0FGRDtBQUdEOztBQUVNLFNBQVM5QyxjQUFULENBQXlCSixFQUF6QixFQUE2Qm9ELFVBQTdCLEVBQXlDbEQsVUFBekMsRUFBcUQ7QUFDMURJLGdCQUFjTixFQUFkLEVBQWtCRSxVQUFsQjtBQUNBRyxhQUFXTCxFQUFYLEVBQWVvRCxVQUFmO0FBQ0QsQzs7Ozs7OztBQ3pCRCxJQUFJQyxjQUFjLENBQUMsYUFBRCxFQUFnQixzQ0FBaEIsQ0FBbEI7O0FBRUE7Ozs7Ozs7QUFPQSxJQUFJQyxXQUFZLFNBQVpBLFFBQVksQ0FBVUMsRUFBVixFQUFjO0FBQzVCLFNBQU9GLFlBQVlHLElBQVosQ0FBaUIsVUFBVUMsSUFBVixFQUFnQjtBQUN0QyxXQUFPLENBQUNGLE1BQU0sRUFBUCxFQUFXRyxRQUFYLEdBQXNCakMsT0FBdEIsQ0FBOEJnQyxJQUE5QixJQUFzQyxDQUFDLENBQTlDO0FBQ0QsR0FGTSxDQUFQO0FBR0QsQ0FKRDs7QUFNQSxJQUFJRSxZQUFZLE9BQU9DLE1BQVAsS0FBa0IsV0FBbEM7QUFDQSxJQUFJQyx3QkFBd0IsQ0FBQyxNQUFELEVBQVMsU0FBVCxFQUFvQixTQUFwQixDQUE1QjtBQUNBLElBQUlDLGtCQUFrQixDQUF0QjtBQUNBLEtBQUssSUFBSUMsSUFBSSxDQUFiLEVBQWdCQSxJQUFJRixzQkFBc0JHLE1BQTFDLEVBQWtERCxLQUFLLENBQXZELEVBQTBEO0FBQ3hELE1BQUlKLGFBQWFNLFVBQVVDLFNBQVYsQ0FBb0J6QyxPQUFwQixDQUE0Qm9DLHNCQUFzQkUsQ0FBdEIsQ0FBNUIsS0FBeUQsQ0FBMUUsRUFBNkU7QUFDM0VELHNCQUFrQixDQUFsQjtBQUNBO0FBQ0Q7QUFDRjs7QUFFRCxTQUFTSyxpQkFBVCxDQUEyQlosRUFBM0IsRUFBK0I7QUFDN0IsTUFBSWEsWUFBWSxLQUFoQjtBQUNBLE1BQUlMLElBQUksQ0FBUjtBQUNBLE1BQUlNLE9BQU9DLFNBQVNDLGFBQVQsQ0FBdUIsTUFBdkIsQ0FBWDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFJQyxXQUFXLElBQUlDLGdCQUFKLENBQXFCLFlBQVk7QUFDOUNsQjtBQUNBYSxnQkFBWSxLQUFaO0FBQ0QsR0FIYyxDQUFmOztBQUtBSSxXQUFTRSxPQUFULENBQWlCTCxJQUFqQixFQUF1QixFQUFFTSxZQUFZLElBQWQsRUFBdkI7O0FBRUEsU0FBTyxZQUFZO0FBQ2pCLFFBQUksQ0FBQ1AsU0FBTCxFQUFnQjtBQUNkQSxrQkFBWSxJQUFaO0FBQ0FDLFdBQUtPLFlBQUwsQ0FBa0IsU0FBbEIsRUFBNkJiLENBQTdCO0FBQ0FBLFVBQUlBLElBQUksQ0FBUixDQUhjLENBR0g7QUFDWjtBQUNGLEdBTkQ7QUFPRDs7QUFFRCxTQUFTYyxZQUFULENBQXNCdEIsRUFBdEIsRUFBMEI7QUFDeEIsTUFBSWEsWUFBWSxLQUFoQjtBQUNBLFNBQU8sWUFBWTtBQUNqQixRQUFJLENBQUNBLFNBQUwsRUFBZ0I7QUFDZEEsa0JBQVksSUFBWjtBQUNBaEMsaUJBQVcsWUFBWTtBQUNyQmdDLG9CQUFZLEtBQVo7QUFDQWI7QUFDRCxPQUhELEVBR0dPLGVBSEg7QUFJRDtBQUNGLEdBUkQ7QUFTRDs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUlnQixpQ0FBaUNuQixhQUFhTCxTQUFTTSxPQUFPYSxnQkFBaEIsQ0FBbEQ7O0FBRUE7Ozs7Ozs7OztBQVNBLElBQUlNLFdBQVdELGlDQUFpQ1gsaUJBQWpDLEdBQXFEVSxZQUFwRTs7QUFFQTs7Ozs7OztBQU9BLFNBQVNHLFNBQVQsQ0FBbUJDLENBQW5CLEVBQXNCO0FBQ3BCLFNBQU9BLE1BQU0sRUFBTixJQUFZLENBQUNDLE1BQU1DLFdBQVdGLENBQVgsQ0FBTixDQUFiLElBQXFDRyxTQUFTSCxDQUFULENBQTVDO0FBQ0Q7O0FBRUQ7Ozs7Ozs7O0FBUUEsU0FBU0ksU0FBVCxDQUFtQkMsT0FBbkIsRUFBNEJDLE1BQTVCLEVBQW9DO0FBQ2xDQyxTQUFPQyxJQUFQLENBQVlGLE1BQVosRUFBb0J4RCxPQUFwQixDQUE0QixVQUFVMkQsSUFBVixFQUFnQjtBQUMxQyxRQUFJQyxPQUFPLEVBQVg7QUFDQTtBQUNBLFFBQUksQ0FBQyxPQUFELEVBQVUsUUFBVixFQUFvQixLQUFwQixFQUEyQixPQUEzQixFQUFvQyxRQUFwQyxFQUE4QyxNQUE5QyxFQUFzRGxFLE9BQXRELENBQThEaUUsSUFBOUQsTUFBd0UsQ0FBQyxDQUF6RSxJQUE4RVYsVUFBVU8sT0FBT0csSUFBUCxDQUFWLENBQWxGLEVBQTJHO0FBQ3pHQyxhQUFPLElBQVA7QUFDRDtBQUNETCxZQUFRTSxLQUFSLENBQWNGLElBQWQsSUFBc0JILE9BQU9HLElBQVAsSUFBZUMsSUFBckM7QUFDRCxHQVBEO0FBUUQ7O0FBRUQ7Ozs7Ozs7QUFPQSxTQUFTRSxVQUFULENBQW9CQyxlQUFwQixFQUFxQztBQUNuQyxNQUFJQyxVQUFVLEVBQWQ7QUFDQSxTQUFPRCxtQkFBbUJDLFFBQVFyQyxRQUFSLENBQWlCc0MsSUFBakIsQ0FBc0JGLGVBQXRCLE1BQTJDLG1CQUFyRTtBQUNEOztBQUVEOzs7Ozs7O0FBT0EsU0FBU0csd0JBQVQsQ0FBa0NYLE9BQWxDLEVBQTJDWSxRQUEzQyxFQUFxRDtBQUNuRCxNQUFJWixRQUFRYSxRQUFSLEtBQXFCLENBQXpCLEVBQTRCO0FBQzFCLFdBQU8sRUFBUDtBQUNEO0FBQ0Q7QUFDQSxNQUFJQyxNQUFNeEMsT0FBT3lDLGdCQUFQLENBQXdCZixPQUF4QixFQUFpQyxJQUFqQyxDQUFWO0FBQ0EsU0FBT1ksV0FBV0UsSUFBSUYsUUFBSixDQUFYLEdBQTJCRSxHQUFsQztBQUNEOztBQUVEOzs7Ozs7O0FBT0EsU0FBU0UsYUFBVCxDQUF1QmhCLE9BQXZCLEVBQWdDO0FBQzlCLE1BQUlBLFFBQVFpQixRQUFSLEtBQXFCLE1BQXpCLEVBQWlDO0FBQy9CLFdBQU9qQixPQUFQO0FBQ0Q7QUFDRCxTQUFPQSxRQUFRa0IsVUFBUixJQUFzQmxCLFFBQVFtQixJQUFyQztBQUNEOztBQUVEOzs7Ozs7O0FBT0EsU0FBU0MsZUFBVCxDQUF5QnBCLE9BQXpCLEVBQWtDO0FBQ2hDO0FBQ0EsTUFBSSxDQUFDQSxPQUFELElBQVksQ0FBQyxNQUFELEVBQVMsTUFBVCxFQUFpQixXQUFqQixFQUE4QjdELE9BQTlCLENBQXNDNkQsUUFBUWlCLFFBQTlDLE1BQTRELENBQUMsQ0FBN0UsRUFBZ0Y7QUFDOUUsV0FBTzNDLE9BQU9VLFFBQVAsQ0FBZ0JxQyxJQUF2QjtBQUNEOztBQUVEOztBQUVBLE1BQUlDLHdCQUF3QlgseUJBQXlCWCxPQUF6QixDQUE1QjtBQUFBLE1BQ0l1QixXQUFXRCxzQkFBc0JDLFFBRHJDO0FBQUEsTUFFSUMsWUFBWUYsc0JBQXNCRSxTQUZ0QztBQUFBLE1BR0lDLFlBQVlILHNCQUFzQkcsU0FIdEM7O0FBS0EsTUFBSSxnQkFBZ0JDLElBQWhCLENBQXFCSCxXQUFXRSxTQUFYLEdBQXVCRCxTQUE1QyxDQUFKLEVBQTREO0FBQzFELFdBQU94QixPQUFQO0FBQ0Q7O0FBRUQsU0FBT29CLGdCQUFnQkosY0FBY2hCLE9BQWQsQ0FBaEIsQ0FBUDtBQUNEOztBQUVELFNBQVMyQixpQkFBVCxDQUEyQjNCLE9BQTNCLEVBQW9DO0FBQ2xDLE1BQUlpQixXQUFXakIsUUFBUWlCLFFBQXZCOztBQUVBLE1BQUlBLGFBQWEsTUFBakIsRUFBeUI7QUFDdkIsV0FBTyxLQUFQO0FBQ0Q7QUFDRCxTQUFPQSxhQUFhLE1BQWIsSUFBdUJqQixRQUFRNEIsaUJBQVIsQ0FBMEJDLFlBQTFCLEtBQTJDN0IsT0FBekU7QUFDRDs7QUFFRDs7Ozs7OztBQU9BLFNBQVM4QixPQUFULENBQWlCQyxJQUFqQixFQUF1QjtBQUNyQixNQUFJQSxLQUFLYixVQUFMLEtBQW9CLElBQXhCLEVBQThCO0FBQzVCLFdBQU9ZLFFBQVFDLEtBQUtiLFVBQWIsQ0FBUDtBQUNEOztBQUVELFNBQU9hLElBQVA7QUFDRDs7QUFFRDs7Ozs7OztBQU9BLFNBQVNDLGVBQVQsQ0FBeUJoQyxPQUF6QixFQUFrQztBQUNoQztBQUNBLE1BQUk2QixlQUFlN0IsV0FBV0EsUUFBUTZCLFlBQXRDO0FBQ0EsTUFBSVosV0FBV1ksZ0JBQWdCQSxhQUFhWixRQUE1Qzs7QUFFQSxNQUFJLENBQUNBLFFBQUQsSUFBYUEsYUFBYSxNQUExQixJQUFvQ0EsYUFBYSxNQUFyRCxFQUE2RDtBQUMzRCxXQUFPM0MsT0FBT1UsUUFBUCxDQUFnQmlELGVBQXZCO0FBQ0Q7O0FBRUQsU0FBT0osWUFBUDtBQUNEOztBQUVEOzs7Ozs7OztBQVFBLFNBQVNLLHNCQUFULENBQWdDQyxRQUFoQyxFQUEwQ0MsUUFBMUMsRUFBb0Q7QUFDbEQ7QUFDQSxNQUFJLENBQUNELFFBQUQsSUFBYSxDQUFDQSxTQUFTdEIsUUFBdkIsSUFBbUMsQ0FBQ3VCLFFBQXBDLElBQWdELENBQUNBLFNBQVN2QixRQUE5RCxFQUF3RTtBQUN0RSxXQUFPdkMsT0FBT1UsUUFBUCxDQUFnQmlELGVBQXZCO0FBQ0Q7O0FBRUQ7QUFDQSxNQUFJSSxRQUFRRixTQUFTRyx1QkFBVCxDQUFpQ0YsUUFBakMsSUFBNkNHLEtBQUtDLDJCQUE5RDtBQUNBLE1BQUlDLFFBQVFKLFFBQVFGLFFBQVIsR0FBbUJDLFFBQS9CO0FBQ0EsTUFBSU0sTUFBTUwsUUFBUUQsUUFBUixHQUFtQkQsUUFBN0I7O0FBRUE7QUFDQSxNQUFJUSxRQUFRM0QsU0FBUzRELFdBQVQsRUFBWjtBQUNBRCxRQUFNRSxRQUFOLENBQWVKLEtBQWYsRUFBc0IsQ0FBdEI7QUFDQUUsUUFBTUcsTUFBTixDQUFhSixHQUFiLEVBQWtCLENBQWxCO0FBQ0EsTUFBSUssMEJBQTBCSixNQUFNSSx1QkFBcEM7O0FBRUE7O0FBRUEsTUFBSVosYUFBYVksdUJBQWIsSUFBd0NYLGFBQWFXLHVCQUFyRCxJQUFnRk4sTUFBTU8sUUFBTixDQUFlTixHQUFmLENBQXBGLEVBQXlHO0FBQ3ZHLFFBQUlmLGtCQUFrQm9CLHVCQUFsQixDQUFKLEVBQWdEO0FBQzlDLGFBQU9BLHVCQUFQO0FBQ0Q7O0FBRUQsV0FBT2YsZ0JBQWdCZSx1QkFBaEIsQ0FBUDtBQUNEOztBQUVEO0FBQ0EsTUFBSUUsZUFBZW5CLFFBQVFLLFFBQVIsQ0FBbkI7QUFDQSxNQUFJYyxhQUFhOUIsSUFBakIsRUFBdUI7QUFDckIsV0FBT2UsdUJBQXVCZSxhQUFhOUIsSUFBcEMsRUFBMENpQixRQUExQyxDQUFQO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBT0YsdUJBQXVCQyxRQUF2QixFQUFpQ0wsUUFBUU0sUUFBUixFQUFrQmpCLElBQW5ELENBQVA7QUFDRDtBQUNGOztBQUVEOzs7Ozs7OztBQVFBLFNBQVMrQixTQUFULENBQW1CbEQsT0FBbkIsRUFBNEI7QUFDMUIsTUFBSW1ELE9BQU9DLFVBQVUxRSxNQUFWLEdBQW1CLENBQW5CLElBQXdCMEUsVUFBVSxDQUFWLE1BQWlCQyxTQUF6QyxHQUFxREQsVUFBVSxDQUFWLENBQXJELEdBQW9FLEtBQS9FOztBQUVBLE1BQUlFLFlBQVlILFNBQVMsS0FBVCxHQUFpQixXQUFqQixHQUErQixZQUEvQztBQUNBLE1BQUlsQyxXQUFXakIsUUFBUWlCLFFBQXZCOztBQUVBLE1BQUlBLGFBQWEsTUFBYixJQUF1QkEsYUFBYSxNQUF4QyxFQUFnRDtBQUM5QyxRQUFJL0QsT0FBT29CLE9BQU9VLFFBQVAsQ0FBZ0JpRCxlQUEzQjtBQUNBLFFBQUlzQixtQkFBbUJqRixPQUFPVSxRQUFQLENBQWdCdUUsZ0JBQWhCLElBQW9DckcsSUFBM0Q7QUFDQSxXQUFPcUcsaUJBQWlCRCxTQUFqQixDQUFQO0FBQ0Q7O0FBRUQsU0FBT3RELFFBQVFzRCxTQUFSLENBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7O0FBU0EsU0FBU0UsYUFBVCxDQUF1QkMsSUFBdkIsRUFBNkJ6RCxPQUE3QixFQUFzQztBQUNwQyxNQUFJMEQsV0FBV04sVUFBVTFFLE1BQVYsR0FBbUIsQ0FBbkIsSUFBd0IwRSxVQUFVLENBQVYsTUFBaUJDLFNBQXpDLEdBQXFERCxVQUFVLENBQVYsQ0FBckQsR0FBb0UsS0FBbkY7O0FBRUEsTUFBSU8sWUFBWVQsVUFBVWxELE9BQVYsRUFBbUIsS0FBbkIsQ0FBaEI7QUFDQSxNQUFJNEQsYUFBYVYsVUFBVWxELE9BQVYsRUFBbUIsTUFBbkIsQ0FBakI7QUFDQSxNQUFJNkQsV0FBV0gsV0FBVyxDQUFDLENBQVosR0FBZ0IsQ0FBL0I7QUFDQUQsT0FBS0ssR0FBTCxJQUFZSCxZQUFZRSxRQUF4QjtBQUNBSixPQUFLTSxNQUFMLElBQWVKLFlBQVlFLFFBQTNCO0FBQ0FKLE9BQUtPLElBQUwsSUFBYUosYUFBYUMsUUFBMUI7QUFDQUosT0FBS1EsS0FBTCxJQUFjTCxhQUFhQyxRQUEzQjtBQUNBLFNBQU9KLElBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7OztBQVVBLFNBQVNTLGNBQVQsQ0FBd0JqRSxNQUF4QixFQUFnQ2tFLElBQWhDLEVBQXNDO0FBQ3BDLE1BQUlDLFFBQVFELFNBQVMsR0FBVCxHQUFlLE1BQWYsR0FBd0IsS0FBcEM7QUFDQSxNQUFJRSxRQUFRRCxVQUFVLE1BQVYsR0FBbUIsT0FBbkIsR0FBNkIsUUFBekM7O0FBRUEsU0FBTyxDQUFDbkUsT0FBTyxXQUFXbUUsS0FBWCxHQUFtQixPQUExQixFQUFtQ25JLEtBQW5DLENBQXlDLElBQXpDLEVBQStDLENBQS9DLENBQUQsR0FBcUQsQ0FBQ2dFLE9BQU8sV0FBV29FLEtBQVgsR0FBbUIsT0FBMUIsRUFBbUNwSSxLQUFuQyxDQUF5QyxJQUF6QyxFQUErQyxDQUEvQyxDQUE3RDtBQUNEOztBQUVELFNBQVNxSSxjQUFULEdBQTBCO0FBQ3hCLE1BQUlqRCxPQUFPL0MsT0FBT1UsUUFBUCxDQUFnQnFDLElBQTNCO0FBQ0EsTUFBSW5FLE9BQU9vQixPQUFPVSxRQUFQLENBQWdCaUQsZUFBM0I7QUFDQSxTQUFPO0FBQ0xzQyxZQUFRQyxLQUFLQyxHQUFMLENBQVNwRCxLQUFLcUQsWUFBZCxFQUE0QnJELEtBQUtzRCxZQUFqQyxFQUErQ3pILEtBQUswSCxZQUFwRCxFQUFrRTFILEtBQUt3SCxZQUF2RSxFQUFxRnhILEtBQUt5SCxZQUExRixDQURIO0FBRUxFLFdBQU9MLEtBQUtDLEdBQUwsQ0FBU3BELEtBQUt5RCxXQUFkLEVBQTJCekQsS0FBSzBELFdBQWhDLEVBQTZDN0gsS0FBSzhILFdBQWxELEVBQStEOUgsS0FBSzRILFdBQXBFLEVBQWlGNUgsS0FBSzZILFdBQXRGO0FBRkYsR0FBUDtBQUlEOztBQUVELElBQUlFLGlCQUFpQixTQUFqQkEsY0FBaUIsQ0FBVUMsUUFBVixFQUFvQkMsV0FBcEIsRUFBaUM7QUFDcEQsTUFBSSxFQUFFRCxvQkFBb0JDLFdBQXRCLENBQUosRUFBd0M7QUFDdEMsVUFBTSxJQUFJQyxTQUFKLENBQWMsbUNBQWQsQ0FBTjtBQUNEO0FBQ0YsQ0FKRDs7QUFZQSxJQUFJQyxpQkFBaUIsU0FBakJBLGNBQWlCLENBQVVDLEdBQVYsRUFBZTFKLEdBQWYsRUFBb0J2QixLQUFwQixFQUEyQjtBQUM5QyxNQUFJdUIsT0FBTzBKLEdBQVgsRUFBZ0I7QUFDZHBGLFdBQU9tRixjQUFQLENBQXNCQyxHQUF0QixFQUEyQjFKLEdBQTNCLEVBQWdDO0FBQzlCdkIsYUFBT0EsS0FEdUI7QUFFOUJrTCxrQkFBWSxJQUZrQjtBQUc5QkMsb0JBQWMsSUFIZ0I7QUFJOUJDLGdCQUFVO0FBSm9CLEtBQWhDO0FBTUQsR0FQRCxNQU9PO0FBQ0xILFFBQUkxSixHQUFKLElBQVd2QixLQUFYO0FBQ0Q7O0FBRUQsU0FBT2lMLEdBQVA7QUFDRCxDQWJEOztBQWVBLElBQUlJLFdBQVd4RixPQUFPeUYsTUFBUCxJQUFpQixVQUFVQyxNQUFWLEVBQWtCO0FBQ2hELE9BQUssSUFBSW5ILElBQUksQ0FBYixFQUFnQkEsSUFBSTJFLFVBQVUxRSxNQUE5QixFQUFzQ0QsR0FBdEMsRUFBMkM7QUFDekMsUUFBSW9ILFNBQVN6QyxVQUFVM0UsQ0FBVixDQUFiOztBQUVBLFNBQUssSUFBSTdDLEdBQVQsSUFBZ0JpSyxNQUFoQixFQUF3QjtBQUN0QixVQUFJM0YsT0FBTzRGLFNBQVAsQ0FBaUJDLGNBQWpCLENBQWdDckYsSUFBaEMsQ0FBcUNtRixNQUFyQyxFQUE2Q2pLLEdBQTdDLENBQUosRUFBdUQ7QUFDckRnSyxlQUFPaEssR0FBUCxJQUFjaUssT0FBT2pLLEdBQVAsQ0FBZDtBQUNEO0FBQ0Y7QUFDRjs7QUFFRCxTQUFPZ0ssTUFBUDtBQUNELENBWkQ7O0FBY0E7Ozs7Ozs7QUFPQSxTQUFTSSxhQUFULENBQXVCQyxPQUF2QixFQUFnQztBQUM5QixTQUFPUCxTQUFTLEVBQVQsRUFBYU8sT0FBYixFQUFzQjtBQUMzQmhDLFdBQU9nQyxRQUFRakMsSUFBUixHQUFlaUMsUUFBUXBCLEtBREg7QUFFM0JkLFlBQVFrQyxRQUFRbkMsR0FBUixHQUFjbUMsUUFBUTFCO0FBRkgsR0FBdEIsQ0FBUDtBQUlEOztBQUVEOzs7Ozs7QUFNQSxJQUFJMkIsU0FBUzdDLFNBQWI7O0FBRUEsSUFBSThDLFdBQVcsU0FBWEEsUUFBVyxHQUFZO0FBQ3pCLE1BQUlELFdBQVc3QyxTQUFmLEVBQTBCO0FBQ3hCNkMsYUFBU3ZILFVBQVV5SCxVQUFWLENBQXFCakssT0FBckIsQ0FBNkIsU0FBN0IsTUFBNEMsQ0FBQyxDQUF0RDtBQUNEO0FBQ0QsU0FBTytKLE1BQVA7QUFDRCxDQUxEOztBQU9BOzs7Ozs7O0FBT0EsU0FBU0cscUJBQVQsQ0FBK0JyRyxPQUEvQixFQUF3QztBQUN0QyxNQUFJeUQsT0FBTyxFQUFYOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQUkwQyxVQUFKLEVBQWdCO0FBQ2QsUUFBSTtBQUNGMUMsYUFBT3pELFFBQVFxRyxxQkFBUixFQUFQO0FBQ0EsVUFBSTFDLFlBQVlULFVBQVVsRCxPQUFWLEVBQW1CLEtBQW5CLENBQWhCO0FBQ0EsVUFBSTRELGFBQWFWLFVBQVVsRCxPQUFWLEVBQW1CLE1BQW5CLENBQWpCO0FBQ0F5RCxXQUFLSyxHQUFMLElBQVlILFNBQVo7QUFDQUYsV0FBS08sSUFBTCxJQUFhSixVQUFiO0FBQ0FILFdBQUtNLE1BQUwsSUFBZUosU0FBZjtBQUNBRixXQUFLUSxLQUFMLElBQWNMLFVBQWQ7QUFDRCxLQVJELENBUUUsT0FBTzBDLEdBQVAsRUFBWSxDQUFFO0FBQ2pCLEdBVkQsTUFVTztBQUNMN0MsV0FBT3pELFFBQVFxRyxxQkFBUixFQUFQO0FBQ0Q7O0FBRUQsTUFBSUUsU0FBUztBQUNYdkMsVUFBTVAsS0FBS08sSUFEQTtBQUVYRixTQUFLTCxLQUFLSyxHQUZDO0FBR1hlLFdBQU9wQixLQUFLUSxLQUFMLEdBQWFSLEtBQUtPLElBSGQ7QUFJWE8sWUFBUWQsS0FBS00sTUFBTCxHQUFjTixLQUFLSztBQUpoQixHQUFiOztBQU9BO0FBQ0EsTUFBSTBDLFFBQVF4RyxRQUFRaUIsUUFBUixLQUFxQixNQUFyQixHQUE4QnFELGdCQUE5QixHQUFpRCxFQUE3RDtBQUNBLE1BQUlPLFFBQVEyQixNQUFNM0IsS0FBTixJQUFlN0UsUUFBUWdGLFdBQXZCLElBQXNDdUIsT0FBT3RDLEtBQVAsR0FBZXNDLE9BQU92QyxJQUF4RTtBQUNBLE1BQUlPLFNBQVNpQyxNQUFNakMsTUFBTixJQUFnQnZFLFFBQVE0RSxZQUF4QixJQUF3QzJCLE9BQU94QyxNQUFQLEdBQWdCd0MsT0FBT3pDLEdBQTVFOztBQUVBLE1BQUkyQyxpQkFBaUJ6RyxRQUFRK0UsV0FBUixHQUFzQkYsS0FBM0M7QUFDQSxNQUFJNkIsZ0JBQWdCMUcsUUFBUTJFLFlBQVIsR0FBdUJKLE1BQTNDOztBQUVBO0FBQ0E7QUFDQSxNQUFJa0Msa0JBQWtCQyxhQUF0QixFQUFxQztBQUNuQyxRQUFJekcsU0FBU1UseUJBQXlCWCxPQUF6QixDQUFiO0FBQ0F5RyxzQkFBa0J2QyxlQUFlakUsTUFBZixFQUF1QixHQUF2QixDQUFsQjtBQUNBeUcscUJBQWlCeEMsZUFBZWpFLE1BQWYsRUFBdUIsR0FBdkIsQ0FBakI7O0FBRUFzRyxXQUFPMUIsS0FBUCxJQUFnQjRCLGNBQWhCO0FBQ0FGLFdBQU9oQyxNQUFQLElBQWlCbUMsYUFBakI7QUFDRDs7QUFFRCxTQUFPVixjQUFjTyxNQUFkLENBQVA7QUFDRDs7QUFFRCxTQUFTSSxvQ0FBVCxDQUE4Q0MsUUFBOUMsRUFBd0RDLE1BQXhELEVBQWdFO0FBQzlELE1BQUlYLFNBQVNDLFVBQWI7QUFDQSxNQUFJVyxTQUFTRCxPQUFPNUYsUUFBUCxLQUFvQixNQUFqQztBQUNBLE1BQUk4RixlQUFlVixzQkFBc0JPLFFBQXRCLENBQW5CO0FBQ0EsTUFBSUksYUFBYVgsc0JBQXNCUSxNQUF0QixDQUFqQjtBQUNBLE1BQUlJLGVBQWU3RixnQkFBZ0J3RixRQUFoQixDQUFuQjtBQUNBLE1BQUlYLFVBQVVELGNBQWM7QUFDMUJsQyxTQUFLaUQsYUFBYWpELEdBQWIsR0FBbUJrRCxXQUFXbEQsR0FEVDtBQUUxQkUsVUFBTStDLGFBQWEvQyxJQUFiLEdBQW9CZ0QsV0FBV2hELElBRlg7QUFHMUJhLFdBQU9rQyxhQUFhbEMsS0FITTtBQUkxQk4sWUFBUXdDLGFBQWF4QztBQUpLLEdBQWQsQ0FBZDs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUl1QyxVQUFVRCxPQUFPNUYsUUFBUCxLQUFvQixNQUFsQyxFQUEwQztBQUN4QyxRQUFJaEIsU0FBU1UseUJBQXlCa0csTUFBekIsQ0FBYjtBQUNBLFFBQUlLLGlCQUFpQmhCLFVBQVVZLE1BQVYsR0FBbUIsQ0FBbkIsR0FBdUIsQ0FBQzdHLE9BQU9pSCxjQUFQLENBQXNCakwsS0FBdEIsQ0FBNEIsSUFBNUIsRUFBa0MsQ0FBbEMsQ0FBN0M7QUFDQSxRQUFJa0wsa0JBQWtCakIsVUFBVVksTUFBVixHQUFtQixDQUFuQixHQUF1QixDQUFDN0csT0FBT2tILGVBQVAsQ0FBdUJsTCxLQUF2QixDQUE2QixJQUE3QixFQUFtQyxDQUFuQyxDQUE5QztBQUNBLFFBQUltTCxZQUFZbEIsVUFBVVksTUFBVixHQUFtQixDQUFuQixHQUF1QixDQUFDN0csT0FBT21ILFNBQVAsQ0FBaUJuTCxLQUFqQixDQUF1QixJQUF2QixFQUE2QixDQUE3QixDQUF4QztBQUNBLFFBQUlvTCxhQUFhbkIsVUFBVVksTUFBVixHQUFtQixDQUFuQixHQUF1QixDQUFDN0csT0FBT29ILFVBQVAsQ0FBa0JwTCxLQUFsQixDQUF3QixJQUF4QixFQUE4QixDQUE5QixDQUF6Qzs7QUFFQWdLLFlBQVFuQyxHQUFSLElBQWVvRCxpQkFBaUJFLFNBQWhDO0FBQ0FuQixZQUFRbEMsTUFBUixJQUFrQm1ELGlCQUFpQkUsU0FBbkM7QUFDQW5CLFlBQVFqQyxJQUFSLElBQWdCbUQsa0JBQWtCRSxVQUFsQztBQUNBcEIsWUFBUWhDLEtBQVIsSUFBaUJrRCxrQkFBa0JFLFVBQW5DOztBQUVBO0FBQ0FwQixZQUFRbUIsU0FBUixHQUFvQkEsU0FBcEI7QUFDQW5CLFlBQVFvQixVQUFSLEdBQXFCQSxVQUFyQjtBQUNEOztBQUVELE1BQUlSLE9BQU83RCxRQUFQLENBQWdCaUUsWUFBaEIsTUFBa0NmLFVBQVVlLGFBQWFoRyxRQUFiLEtBQTBCLE1BQXRFLENBQUosRUFBbUY7QUFDakZnRixjQUFVekMsY0FBY3lDLE9BQWQsRUFBdUJZLE1BQXZCLENBQVY7QUFDRDs7QUFFRCxTQUFPWixPQUFQO0FBQ0Q7O0FBRUQsU0FBU3FCLDZDQUFULENBQXVEdEgsT0FBdkQsRUFBZ0U7QUFDOUQsTUFBSTlDLE9BQU9vQixPQUFPVSxRQUFQLENBQWdCaUQsZUFBM0I7QUFDQSxNQUFJc0YsaUJBQWlCWixxQ0FBcUMzRyxPQUFyQyxFQUE4QzlDLElBQTlDLENBQXJCO0FBQ0EsTUFBSTJILFFBQVFMLEtBQUtDLEdBQUwsQ0FBU3ZILEtBQUs4SCxXQUFkLEVBQTJCMUcsT0FBT2tKLFVBQVAsSUFBcUIsQ0FBaEQsQ0FBWjtBQUNBLE1BQUlqRCxTQUFTQyxLQUFLQyxHQUFMLENBQVN2SCxLQUFLMEgsWUFBZCxFQUE0QnRHLE9BQU9tSixXQUFQLElBQXNCLENBQWxELENBQWI7O0FBRUEsTUFBSTlELFlBQVlULFVBQVVoRyxJQUFWLENBQWhCO0FBQ0EsTUFBSTBHLGFBQWFWLFVBQVVoRyxJQUFWLEVBQWdCLE1BQWhCLENBQWpCOztBQUVBLE1BQUloRCxTQUFTO0FBQ1g0SixTQUFLSCxZQUFZNEQsZUFBZXpELEdBQTNCLEdBQWlDeUQsZUFBZUgsU0FEMUM7QUFFWHBELFVBQU1KLGFBQWEyRCxlQUFldkQsSUFBNUIsR0FBbUN1RCxlQUFlRixVQUY3QztBQUdYeEMsV0FBT0EsS0FISTtBQUlYTixZQUFRQTtBQUpHLEdBQWI7O0FBT0EsU0FBT3lCLGNBQWM5TCxNQUFkLENBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7QUFRQSxTQUFTd04sT0FBVCxDQUFpQjFILE9BQWpCLEVBQTBCO0FBQ3hCLE1BQUlpQixXQUFXakIsUUFBUWlCLFFBQXZCO0FBQ0EsTUFBSUEsYUFBYSxNQUFiLElBQXVCQSxhQUFhLE1BQXhDLEVBQWdEO0FBQzlDLFdBQU8sS0FBUDtBQUNEO0FBQ0QsTUFBSU4seUJBQXlCWCxPQUF6QixFQUFrQyxVQUFsQyxNQUFrRCxPQUF0RCxFQUErRDtBQUM3RCxXQUFPLElBQVA7QUFDRDtBQUNELFNBQU8wSCxRQUFRMUcsY0FBY2hCLE9BQWQsQ0FBUixDQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7QUFVQSxTQUFTMkgsYUFBVCxDQUF1QkMsTUFBdkIsRUFBK0J2TCxTQUEvQixFQUEwQ3dMLE9BQTFDLEVBQW1EQyxpQkFBbkQsRUFBc0U7QUFDcEU7QUFDQSxNQUFJQyxhQUFhLEVBQUVqRSxLQUFLLENBQVAsRUFBVUUsTUFBTSxDQUFoQixFQUFqQjtBQUNBLE1BQUluQyxlQUFlSyx1QkFBdUIwRixNQUF2QixFQUErQnZMLFNBQS9CLENBQW5COztBQUVBO0FBQ0EsTUFBSXlMLHNCQUFzQixVQUExQixFQUFzQztBQUNwQ0MsaUJBQWFULDhDQUE4Q3pGLFlBQTlDLENBQWI7QUFDRCxHQUZELE1BRU87QUFDTDtBQUNBLFFBQUltRyxpQkFBaUIsS0FBSyxDQUExQjtBQUNBLFFBQUlGLHNCQUFzQixjQUExQixFQUEwQztBQUN4Q0UsdUJBQWlCNUcsZ0JBQWdCSixjQUFjNEcsTUFBZCxDQUFoQixDQUFqQjtBQUNBLFVBQUlJLGVBQWUvRyxRQUFmLEtBQTRCLE1BQWhDLEVBQXdDO0FBQ3RDK0cseUJBQWlCMUosT0FBT1UsUUFBUCxDQUFnQmlELGVBQWpDO0FBQ0Q7QUFDRixLQUxELE1BS08sSUFBSTZGLHNCQUFzQixRQUExQixFQUFvQztBQUN6Q0UsdUJBQWlCMUosT0FBT1UsUUFBUCxDQUFnQmlELGVBQWpDO0FBQ0QsS0FGTSxNQUVBO0FBQ0wrRix1QkFBaUJGLGlCQUFqQjtBQUNEOztBQUVELFFBQUk3QixVQUFVVSxxQ0FBcUNxQixjQUFyQyxFQUFxRG5HLFlBQXJELENBQWQ7O0FBRUE7QUFDQSxRQUFJbUcsZUFBZS9HLFFBQWYsS0FBNEIsTUFBNUIsSUFBc0MsQ0FBQ3lHLFFBQVE3RixZQUFSLENBQTNDLEVBQWtFO0FBQ2hFLFVBQUlvRyxrQkFBa0IzRCxnQkFBdEI7QUFBQSxVQUNJQyxTQUFTMEQsZ0JBQWdCMUQsTUFEN0I7QUFBQSxVQUVJTSxRQUFRb0QsZ0JBQWdCcEQsS0FGNUI7O0FBSUFrRCxpQkFBV2pFLEdBQVgsSUFBa0JtQyxRQUFRbkMsR0FBUixHQUFjbUMsUUFBUW1CLFNBQXhDO0FBQ0FXLGlCQUFXaEUsTUFBWCxHQUFvQlEsU0FBUzBCLFFBQVFuQyxHQUFyQztBQUNBaUUsaUJBQVcvRCxJQUFYLElBQW1CaUMsUUFBUWpDLElBQVIsR0FBZWlDLFFBQVFvQixVQUExQztBQUNBVSxpQkFBVzlELEtBQVgsR0FBbUJZLFFBQVFvQixRQUFRakMsSUFBbkM7QUFDRCxLQVRELE1BU087QUFDTDtBQUNBK0QsbUJBQWE5QixPQUFiO0FBQ0Q7QUFDRjs7QUFFRDtBQUNBOEIsYUFBVy9ELElBQVgsSUFBbUI2RCxPQUFuQjtBQUNBRSxhQUFXakUsR0FBWCxJQUFrQitELE9BQWxCO0FBQ0FFLGFBQVc5RCxLQUFYLElBQW9CNEQsT0FBcEI7QUFDQUUsYUFBV2hFLE1BQVgsSUFBcUI4RCxPQUFyQjs7QUFFQSxTQUFPRSxVQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7OztBQVNBLFNBQVNHLG9CQUFULENBQThCck8sU0FBOUIsRUFBeUNzTyxPQUF6QyxFQUFrRFAsTUFBbEQsRUFBMER2TCxTQUExRCxFQUFxRXlMLGlCQUFyRSxFQUF3RjtBQUN0RixNQUFJak8sVUFBVXNDLE9BQVYsQ0FBa0IsTUFBbEIsTUFBOEIsQ0FBQyxDQUFuQyxFQUFzQztBQUNwQyxXQUFPdEMsU0FBUDtBQUNEOztBQUVELE1BQUlrTyxhQUFhSixjQUFjQyxNQUFkLEVBQXNCdkwsU0FBdEIsRUFBaUMsQ0FBakMsRUFBb0N5TCxpQkFBcEMsQ0FBakI7O0FBRUEsTUFBSU0sUUFBUTtBQUNWdEUsU0FBS3FFLFFBQVFyRSxHQUFSLEdBQWNpRSxXQUFXakUsR0FEcEI7QUFFVkcsV0FBTzhELFdBQVc5RCxLQUFYLEdBQW1Ca0UsUUFBUWxFLEtBRnhCO0FBR1ZGLFlBQVFnRSxXQUFXaEUsTUFBWCxHQUFvQm9FLFFBQVFwRSxNQUgxQjtBQUlWQyxVQUFNbUUsUUFBUW5FLElBQVIsR0FBZStELFdBQVcvRDtBQUp0QixHQUFaOztBQU9BLE1BQUlxRSxvQkFBb0JuSSxPQUFPQyxJQUFQLENBQVlpSSxLQUFaLEVBQW1CRSxJQUFuQixDQUF3QixVQUFVQyxDQUFWLEVBQWFDLENBQWIsRUFBZ0I7QUFDOUQsV0FBT0osTUFBTUksQ0FBTixJQUFXSixNQUFNRyxDQUFOLENBQWxCO0FBQ0QsR0FGdUIsRUFFckIsQ0FGcUIsQ0FBeEI7QUFHQSxNQUFJRSxZQUFZNU8sVUFBVW9DLEtBQVYsQ0FBZ0IsR0FBaEIsRUFBcUIsQ0FBckIsQ0FBaEI7O0FBRUEsU0FBT29NLHFCQUFxQkksWUFBWSxNQUFNQSxTQUFsQixHQUE4QixFQUFuRCxDQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7OztBQVNBLFNBQVNDLG1CQUFULENBQTZCQyxLQUE3QixFQUFvQ2YsTUFBcEMsRUFBNEN2TCxTQUE1QyxFQUF1RDtBQUNyRCxNQUFJdU0scUJBQXFCMUcsdUJBQXVCMEYsTUFBdkIsRUFBK0J2TCxTQUEvQixDQUF6QjtBQUNBLFNBQU9zSyxxQ0FBcUN0SyxTQUFyQyxFQUFnRHVNLGtCQUFoRCxDQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7QUFPQSxTQUFTQyxhQUFULENBQXVCN0ksT0FBdkIsRUFBZ0M7QUFDOUIsTUFBSUMsU0FBUzNCLE9BQU95QyxnQkFBUCxDQUF3QmYsT0FBeEIsQ0FBYjtBQUNBLE1BQUk4SSxJQUFJakosV0FBV0ksT0FBT21ILFNBQWxCLElBQStCdkgsV0FBV0ksT0FBTzhJLFlBQWxCLENBQXZDO0FBQ0EsTUFBSUMsSUFBSW5KLFdBQVdJLE9BQU9vSCxVQUFsQixJQUFnQ3hILFdBQVdJLE9BQU9nSixXQUFsQixDQUF4QztBQUNBLE1BQUkxQyxTQUFTO0FBQ1gxQixXQUFPN0UsUUFBUStFLFdBQVIsR0FBc0JpRSxDQURsQjtBQUVYekUsWUFBUXZFLFFBQVEyRSxZQUFSLEdBQXVCbUU7QUFGcEIsR0FBYjtBQUlBLFNBQU92QyxNQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7QUFPQSxTQUFTMkMsb0JBQVQsQ0FBOEJyUCxTQUE5QixFQUF5QztBQUN2QyxNQUFJc1AsT0FBTyxFQUFFbkYsTUFBTSxPQUFSLEVBQWlCQyxPQUFPLE1BQXhCLEVBQWdDRixRQUFRLEtBQXhDLEVBQStDRCxLQUFLLFFBQXBELEVBQVg7QUFDQSxTQUFPakssVUFBVXVQLE9BQVYsQ0FBa0Isd0JBQWxCLEVBQTRDLFVBQVVDLE9BQVYsRUFBbUI7QUFDcEUsV0FBT0YsS0FBS0UsT0FBTCxDQUFQO0FBQ0QsR0FGTSxDQUFQO0FBR0Q7O0FBRUQ7Ozs7Ozs7Ozs7QUFVQSxTQUFTQyxnQkFBVCxDQUEwQjFCLE1BQTFCLEVBQWtDMkIsZ0JBQWxDLEVBQW9EMVAsU0FBcEQsRUFBK0Q7QUFDN0RBLGNBQVlBLFVBQVVvQyxLQUFWLENBQWdCLEdBQWhCLEVBQXFCLENBQXJCLENBQVo7O0FBRUE7QUFDQSxNQUFJdU4sYUFBYVgsY0FBY2pCLE1BQWQsQ0FBakI7O0FBRUE7QUFDQSxNQUFJNkIsZ0JBQWdCO0FBQ2xCNUUsV0FBTzJFLFdBQVczRSxLQURBO0FBRWxCTixZQUFRaUYsV0FBV2pGO0FBRkQsR0FBcEI7O0FBS0E7QUFDQSxNQUFJbUYsVUFBVSxDQUFDLE9BQUQsRUFBVSxNQUFWLEVBQWtCdk4sT0FBbEIsQ0FBMEJ0QyxTQUExQixNQUF5QyxDQUFDLENBQXhEO0FBQ0EsTUFBSThQLFdBQVdELFVBQVUsS0FBVixHQUFrQixNQUFqQztBQUNBLE1BQUlFLGdCQUFnQkYsVUFBVSxNQUFWLEdBQW1CLEtBQXZDO0FBQ0EsTUFBSUcsY0FBY0gsVUFBVSxRQUFWLEdBQXFCLE9BQXZDO0FBQ0EsTUFBSUksdUJBQXVCLENBQUNKLE9BQUQsR0FBVyxRQUFYLEdBQXNCLE9BQWpEOztBQUVBRCxnQkFBY0UsUUFBZCxJQUEwQkosaUJBQWlCSSxRQUFqQixJQUE2QkosaUJBQWlCTSxXQUFqQixJQUFnQyxDQUE3RCxHQUFpRUwsV0FBV0ssV0FBWCxJQUEwQixDQUFySDtBQUNBLE1BQUloUSxjQUFjK1AsYUFBbEIsRUFBaUM7QUFDL0JILGtCQUFjRyxhQUFkLElBQStCTCxpQkFBaUJLLGFBQWpCLElBQWtDSixXQUFXTSxvQkFBWCxDQUFqRTtBQUNELEdBRkQsTUFFTztBQUNMTCxrQkFBY0csYUFBZCxJQUErQkwsaUJBQWlCTCxxQkFBcUJVLGFBQXJCLENBQWpCLENBQS9CO0FBQ0Q7O0FBRUQsU0FBT0gsYUFBUDtBQUNEOztBQUVEOzs7Ozs7Ozs7QUFTQSxTQUFTTSxJQUFULENBQWNDLEdBQWQsRUFBbUJDLEtBQW5CLEVBQTBCO0FBQ3hCO0FBQ0EsTUFBSUMsTUFBTXBFLFNBQU4sQ0FBZ0JpRSxJQUFwQixFQUEwQjtBQUN4QixXQUFPQyxJQUFJRCxJQUFKLENBQVNFLEtBQVQsQ0FBUDtBQUNEOztBQUVEO0FBQ0EsU0FBT0QsSUFBSTlOLE1BQUosQ0FBVytOLEtBQVgsRUFBa0IsQ0FBbEIsQ0FBUDtBQUNEOztBQUVEOzs7Ozs7Ozs7QUFTQSxTQUFTRSxTQUFULENBQW1CSCxHQUFuQixFQUF3QjVKLElBQXhCLEVBQThCL0YsS0FBOUIsRUFBcUM7QUFDbkM7QUFDQSxNQUFJNlAsTUFBTXBFLFNBQU4sQ0FBZ0JxRSxTQUFwQixFQUErQjtBQUM3QixXQUFPSCxJQUFJRyxTQUFKLENBQWMsVUFBVUMsR0FBVixFQUFlO0FBQ2xDLGFBQU9BLElBQUloSyxJQUFKLE1BQWMvRixLQUFyQjtBQUNELEtBRk0sQ0FBUDtBQUdEOztBQUVEO0FBQ0EsTUFBSWdRLFFBQVFOLEtBQUtDLEdBQUwsRUFBVSxVQUFVMUUsR0FBVixFQUFlO0FBQ25DLFdBQU9BLElBQUlsRixJQUFKLE1BQWMvRixLQUFyQjtBQUNELEdBRlcsQ0FBWjtBQUdBLFNBQU8yUCxJQUFJN04sT0FBSixDQUFZa08sS0FBWixDQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7QUFVQSxTQUFTQyxZQUFULENBQXNCaFEsU0FBdEIsRUFBaUNpUSxJQUFqQyxFQUF1Q0MsSUFBdkMsRUFBNkM7QUFDM0MsTUFBSUMsaUJBQWlCRCxTQUFTbkgsU0FBVCxHQUFxQi9JLFNBQXJCLEdBQWlDQSxVQUFVb1EsS0FBVixDQUFnQixDQUFoQixFQUFtQlAsVUFBVTdQLFNBQVYsRUFBcUIsTUFBckIsRUFBNkJrUSxJQUE3QixDQUFuQixDQUF0RDs7QUFFQUMsaUJBQWVoTyxPQUFmLENBQXVCLFVBQVVvSCxRQUFWLEVBQW9CO0FBQ3pDLFFBQUlBLFNBQVM4RyxRQUFiLEVBQXVCO0FBQ3JCQyxjQUFRQyxJQUFSLENBQWEsdURBQWI7QUFDRDtBQUNELFFBQUk1TSxLQUFLNEYsU0FBUzhHLFFBQVQsSUFBcUI5RyxTQUFTNUYsRUFBdkM7QUFDQSxRQUFJNEYsU0FBU2lILE9BQVQsSUFBb0J2SyxXQUFXdEMsRUFBWCxDQUF4QixFQUF3QztBQUN0Q3NNLGFBQU90TSxHQUFHc00sSUFBSCxFQUFTMUcsUUFBVCxDQUFQO0FBQ0Q7QUFDRixHQVJEOztBQVVBLFNBQU8wRyxJQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7QUFPQSxTQUFTOU8sTUFBVCxHQUFrQjtBQUNoQjtBQUNBLE1BQUksS0FBS2tOLEtBQUwsQ0FBV29DLFdBQWYsRUFBNEI7QUFDMUI7QUFDRDs7QUFFRCxNQUFJUixPQUFPO0FBQ1RyRixjQUFVLElBREQ7QUFFVGpGLFlBQVEsRUFGQztBQUdUWixnQkFBWSxFQUhIO0FBSVQyTCxhQUFTLEtBSkE7QUFLVC9FLGFBQVM7QUFMQSxHQUFYOztBQVFBO0FBQ0FzRSxPQUFLdEUsT0FBTCxDQUFhNUosU0FBYixHQUF5QnFNLG9CQUFvQixLQUFLQyxLQUF6QixFQUFnQyxLQUFLZixNQUFyQyxFQUE2QyxLQUFLdkwsU0FBbEQsQ0FBekI7O0FBRUE7QUFDQTtBQUNBO0FBQ0FrTyxPQUFLMVEsU0FBTCxHQUFpQnFPLHFCQUFxQixLQUFLdE8sT0FBTCxDQUFhQyxTQUFsQyxFQUE2QzBRLEtBQUt0RSxPQUFMLENBQWE1SixTQUExRCxFQUFxRSxLQUFLdUwsTUFBMUUsRUFBa0YsS0FBS3ZMLFNBQXZGLEVBQWtHLEtBQUt6QyxPQUFMLENBQWFVLFNBQWIsQ0FBdUIyUSxJQUF2QixDQUE0Qm5ELGlCQUE5SCxDQUFqQjs7QUFFQTtBQUNBeUMsT0FBS1csaUJBQUwsR0FBeUJYLEtBQUsxUSxTQUE5Qjs7QUFFQTtBQUNBMFEsT0FBS3RFLE9BQUwsQ0FBYTJCLE1BQWIsR0FBc0IwQixpQkFBaUIsS0FBSzFCLE1BQXRCLEVBQThCMkMsS0FBS3RFLE9BQUwsQ0FBYTVKLFNBQTNDLEVBQXNEa08sS0FBSzFRLFNBQTNELENBQXRCO0FBQ0EwUSxPQUFLdEUsT0FBTCxDQUFhMkIsTUFBYixDQUFvQnVELFFBQXBCLEdBQStCLFVBQS9COztBQUVBO0FBQ0FaLFNBQU9ELGFBQWEsS0FBS2hRLFNBQWxCLEVBQTZCaVEsSUFBN0IsQ0FBUDs7QUFFQTtBQUNBO0FBQ0EsTUFBSSxDQUFDLEtBQUs1QixLQUFMLENBQVd5QyxTQUFoQixFQUEyQjtBQUN6QixTQUFLekMsS0FBTCxDQUFXeUMsU0FBWCxHQUF1QixJQUF2QjtBQUNBLFNBQUt4UixPQUFMLENBQWF5UixRQUFiLENBQXNCZCxJQUF0QjtBQUNELEdBSEQsTUFHTztBQUNMLFNBQUszUSxPQUFMLENBQWEwUixRQUFiLENBQXNCZixJQUF0QjtBQUNEO0FBQ0Y7O0FBRUQ7Ozs7OztBQU1BLFNBQVNnQixpQkFBVCxDQUEyQmpSLFNBQTNCLEVBQXNDa1IsWUFBdEMsRUFBb0Q7QUFDbEQsU0FBT2xSLFVBQVU0RCxJQUFWLENBQWUsVUFBVXVOLElBQVYsRUFBZ0I7QUFDcEMsUUFBSUMsT0FBT0QsS0FBS0MsSUFBaEI7QUFBQSxRQUNJWixVQUFVVyxLQUFLWCxPQURuQjtBQUVBLFdBQU9BLFdBQVdZLFNBQVNGLFlBQTNCO0FBQ0QsR0FKTSxDQUFQO0FBS0Q7O0FBRUQ7Ozs7Ozs7QUFPQSxTQUFTRyx3QkFBVCxDQUFrQy9LLFFBQWxDLEVBQTRDO0FBQzFDLE1BQUlnTCxXQUFXLENBQUMsS0FBRCxFQUFRLElBQVIsRUFBYyxRQUFkLEVBQXdCLEtBQXhCLEVBQStCLEdBQS9CLENBQWY7QUFDQSxNQUFJQyxZQUFZakwsU0FBU2tMLE1BQVQsQ0FBZ0IsQ0FBaEIsRUFBbUJDLFdBQW5CLEtBQW1DbkwsU0FBUzhKLEtBQVQsQ0FBZSxDQUFmLENBQW5EOztBQUVBLE9BQUssSUFBSWpNLElBQUksQ0FBYixFQUFnQkEsSUFBSW1OLFNBQVNsTixNQUFULEdBQWtCLENBQXRDLEVBQXlDRCxHQUF6QyxFQUE4QztBQUM1QyxRQUFJdU4sU0FBU0osU0FBU25OLENBQVQsQ0FBYjtBQUNBLFFBQUl3TixVQUFVRCxTQUFTLEtBQUtBLE1BQUwsR0FBY0gsU0FBdkIsR0FBbUNqTCxRQUFqRDtBQUNBLFFBQUksT0FBT3RDLE9BQU9VLFFBQVAsQ0FBZ0JxQyxJQUFoQixDQUFxQmYsS0FBckIsQ0FBMkIyTCxPQUEzQixDQUFQLEtBQStDLFdBQW5ELEVBQWdFO0FBQzlELGFBQU9BLE9BQVA7QUFDRDtBQUNGO0FBQ0QsU0FBTyxJQUFQO0FBQ0Q7O0FBRUQ7Ozs7O0FBS0EsU0FBU0MsT0FBVCxHQUFtQjtBQUNqQixPQUFLdkQsS0FBTCxDQUFXb0MsV0FBWCxHQUF5QixJQUF6Qjs7QUFFQTtBQUNBLE1BQUlRLGtCQUFrQixLQUFLalIsU0FBdkIsRUFBa0MsWUFBbEMsQ0FBSixFQUFxRDtBQUNuRCxTQUFLc04sTUFBTCxDQUFZdUUsZUFBWixDQUE0QixhQUE1QjtBQUNBLFNBQUt2RSxNQUFMLENBQVl0SCxLQUFaLENBQWtCMEQsSUFBbEIsR0FBeUIsRUFBekI7QUFDQSxTQUFLNEQsTUFBTCxDQUFZdEgsS0FBWixDQUFrQjZLLFFBQWxCLEdBQTZCLEVBQTdCO0FBQ0EsU0FBS3ZELE1BQUwsQ0FBWXRILEtBQVosQ0FBa0J3RCxHQUFsQixHQUF3QixFQUF4QjtBQUNBLFNBQUs4RCxNQUFMLENBQVl0SCxLQUFaLENBQWtCcUwseUJBQXlCLFdBQXpCLENBQWxCLElBQTJELEVBQTNEO0FBQ0Q7O0FBRUQsT0FBS1MscUJBQUw7O0FBRUE7QUFDQTtBQUNBLE1BQUksS0FBS3hTLE9BQUwsQ0FBYXlTLGVBQWpCLEVBQWtDO0FBQ2hDLFNBQUt6RSxNQUFMLENBQVkxRyxVQUFaLENBQXVCb0wsV0FBdkIsQ0FBbUMsS0FBSzFFLE1BQXhDO0FBQ0Q7QUFDRCxTQUFPLElBQVA7QUFDRDs7QUFFRCxTQUFTMkUscUJBQVQsQ0FBK0J0RixZQUEvQixFQUE2Q3RLLEtBQTdDLEVBQW9ENlAsUUFBcEQsRUFBOERDLGFBQTlELEVBQTZFO0FBQzNFLE1BQUlDLFNBQVN6RixhQUFhaEcsUUFBYixLQUEwQixNQUF2QztBQUNBLE1BQUkyRSxTQUFTOEcsU0FBU3BPLE1BQVQsR0FBa0IySSxZQUEvQjtBQUNBckIsU0FBTytHLGdCQUFQLENBQXdCaFEsS0FBeEIsRUFBK0I2UCxRQUEvQixFQUF5QyxFQUFFSSxTQUFTLElBQVgsRUFBekM7O0FBRUEsTUFBSSxDQUFDRixNQUFMLEVBQWE7QUFDWEgsMEJBQXNCbkwsZ0JBQWdCd0UsT0FBTzFFLFVBQXZCLENBQXRCLEVBQTBEdkUsS0FBMUQsRUFBaUU2UCxRQUFqRSxFQUEyRUMsYUFBM0U7QUFDRDtBQUNEQSxnQkFBY0ksSUFBZCxDQUFtQmpILE1BQW5CO0FBQ0Q7O0FBRUQ7Ozs7OztBQU1BLFNBQVNrSCxtQkFBVCxDQUE2QnpRLFNBQTdCLEVBQXdDekMsT0FBeEMsRUFBaUQrTyxLQUFqRCxFQUF3RG9FLFdBQXhELEVBQXFFO0FBQ25FO0FBQ0FwRSxRQUFNb0UsV0FBTixHQUFvQkEsV0FBcEI7QUFDQXpPLFNBQU9xTyxnQkFBUCxDQUF3QixRQUF4QixFQUFrQ2hFLE1BQU1vRSxXQUF4QyxFQUFxRCxFQUFFSCxTQUFTLElBQVgsRUFBckQ7O0FBRUE7QUFDQSxNQUFJSSxnQkFBZ0I1TCxnQkFBZ0IvRSxTQUFoQixDQUFwQjtBQUNBa1Esd0JBQXNCUyxhQUF0QixFQUFxQyxRQUFyQyxFQUErQ3JFLE1BQU1vRSxXQUFyRCxFQUFrRXBFLE1BQU04RCxhQUF4RTtBQUNBOUQsUUFBTXFFLGFBQU4sR0FBc0JBLGFBQXRCO0FBQ0FyRSxRQUFNc0UsYUFBTixHQUFzQixJQUF0Qjs7QUFFQSxTQUFPdEUsS0FBUDtBQUNEOztBQUVEOzs7Ozs7QUFNQSxTQUFTdUUsb0JBQVQsR0FBZ0M7QUFDOUIsTUFBSSxDQUFDLEtBQUt2RSxLQUFMLENBQVdzRSxhQUFoQixFQUErQjtBQUM3QixTQUFLdEUsS0FBTCxHQUFhbUUsb0JBQW9CLEtBQUt6USxTQUF6QixFQUFvQyxLQUFLekMsT0FBekMsRUFBa0QsS0FBSytPLEtBQXZELEVBQThELEtBQUt3RSxjQUFuRSxDQUFiO0FBQ0Q7QUFDRjs7QUFFRDs7Ozs7O0FBTUEsU0FBU0Msb0JBQVQsQ0FBOEIvUSxTQUE5QixFQUF5Q3NNLEtBQXpDLEVBQWdEO0FBQzlDO0FBQ0FySyxTQUFPMUIsbUJBQVAsQ0FBMkIsUUFBM0IsRUFBcUMrTCxNQUFNb0UsV0FBM0M7O0FBRUE7QUFDQXBFLFFBQU04RCxhQUFOLENBQW9CaFEsT0FBcEIsQ0FBNEIsVUFBVW1KLE1BQVYsRUFBa0I7QUFDNUNBLFdBQU9oSixtQkFBUCxDQUEyQixRQUEzQixFQUFxQytMLE1BQU1vRSxXQUEzQztBQUNELEdBRkQ7O0FBSUE7QUFDQXBFLFFBQU1vRSxXQUFOLEdBQW9CLElBQXBCO0FBQ0FwRSxRQUFNOEQsYUFBTixHQUFzQixFQUF0QjtBQUNBOUQsUUFBTXFFLGFBQU4sR0FBc0IsSUFBdEI7QUFDQXJFLFFBQU1zRSxhQUFOLEdBQXNCLEtBQXRCO0FBQ0EsU0FBT3RFLEtBQVA7QUFDRDs7QUFFRDs7Ozs7OztBQU9BLFNBQVN5RCxxQkFBVCxHQUFpQztBQUMvQixNQUFJLEtBQUt6RCxLQUFMLENBQVdzRSxhQUFmLEVBQThCO0FBQzVCM08sV0FBTytPLG9CQUFQLENBQTRCLEtBQUtGLGNBQWpDO0FBQ0EsU0FBS3hFLEtBQUwsR0FBYXlFLHFCQUFxQixLQUFLL1EsU0FBMUIsRUFBcUMsS0FBS3NNLEtBQTFDLENBQWI7QUFDRDtBQUNGOztBQUVEOzs7Ozs7OztBQVFBLFNBQVMyRSxhQUFULENBQXVCdE4sT0FBdkIsRUFBZ0NYLFVBQWhDLEVBQTRDO0FBQzFDYSxTQUFPQyxJQUFQLENBQVlkLFVBQVosRUFBd0I1QyxPQUF4QixDQUFnQyxVQUFVMkQsSUFBVixFQUFnQjtBQUM5QyxRQUFJL0YsUUFBUWdGLFdBQVdlLElBQVgsQ0FBWjtBQUNBLFFBQUkvRixVQUFVLEtBQWQsRUFBcUI7QUFDbkIyRixjQUFRVixZQUFSLENBQXFCYyxJQUFyQixFQUEyQmYsV0FBV2UsSUFBWCxDQUEzQjtBQUNELEtBRkQsTUFFTztBQUNMSixjQUFRbU0sZUFBUixDQUF3Qi9MLElBQXhCO0FBQ0Q7QUFDRixHQVBEO0FBUUQ7O0FBRUQ7Ozs7Ozs7OztBQVNBLFNBQVNtTixVQUFULENBQW9CaEQsSUFBcEIsRUFBMEIzUSxPQUExQixFQUFtQztBQUNqQztBQUNBO0FBQ0EsTUFBSXFHLFNBQVM7QUFDWGtMLGNBQVVaLEtBQUt0RSxPQUFMLENBQWEyQixNQUFiLENBQW9CdUQ7QUFEbkIsR0FBYjs7QUFJQSxNQUFJOUwsYUFBYTtBQUNmLG1CQUFla0wsS0FBSzFRO0FBREwsR0FBakI7O0FBSUE7QUFDQSxNQUFJbUssT0FBT1EsS0FBS2dKLEtBQUwsQ0FBV2pELEtBQUt0RSxPQUFMLENBQWEyQixNQUFiLENBQW9CNUQsSUFBL0IsQ0FBWDtBQUNBLE1BQUlGLE1BQU1VLEtBQUtnSixLQUFMLENBQVdqRCxLQUFLdEUsT0FBTCxDQUFhMkIsTUFBYixDQUFvQjlELEdBQS9CLENBQVY7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBSTJKLG1CQUFtQjlCLHlCQUF5QixXQUF6QixDQUF2QjtBQUNBLE1BQUkvUixRQUFROFQsZUFBUixJQUEyQkQsZ0JBQS9CLEVBQWlEO0FBQy9DeE4sV0FBT3dOLGdCQUFQLElBQTJCLGlCQUFpQnpKLElBQWpCLEdBQXdCLE1BQXhCLEdBQWlDRixHQUFqQyxHQUF1QyxRQUFsRTtBQUNBN0QsV0FBTzZELEdBQVAsR0FBYSxDQUFiO0FBQ0E3RCxXQUFPK0QsSUFBUCxHQUFjLENBQWQ7QUFDQS9ELFdBQU8wTixVQUFQLEdBQW9CLFdBQXBCO0FBQ0QsR0FMRCxNQUtPO0FBQ0w7QUFDQTFOLFdBQU8rRCxJQUFQLEdBQWNBLElBQWQ7QUFDQS9ELFdBQU82RCxHQUFQLEdBQWFBLEdBQWI7QUFDQTdELFdBQU8wTixVQUFQLEdBQW9CLFdBQXBCO0FBQ0Q7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTVOLFlBQVV3SyxLQUFLckYsUUFBTCxDQUFjMEMsTUFBeEIsRUFBZ0NsQyxTQUFTLEVBQVQsRUFBYXpGLE1BQWIsRUFBcUJzSyxLQUFLdEssTUFBMUIsQ0FBaEM7O0FBRUE7QUFDQTtBQUNBcU4sZ0JBQWMvQyxLQUFLckYsUUFBTCxDQUFjMEMsTUFBNUIsRUFBb0NsQyxTQUFTLEVBQVQsRUFBYXJHLFVBQWIsRUFBeUJrTCxLQUFLbEwsVUFBOUIsQ0FBcEM7O0FBRUE7QUFDQSxNQUFJa0wsS0FBS3RFLE9BQUwsQ0FBYTJILEtBQWpCLEVBQXdCO0FBQ3RCN04sY0FBVXdLLEtBQUtzRCxZQUFmLEVBQTZCdEQsS0FBS3RFLE9BQUwsQ0FBYTJILEtBQTFDO0FBQ0Q7O0FBRUQsU0FBT3JELElBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7OztBQVVBLFNBQVN1RCxnQkFBVCxDQUEwQnpSLFNBQTFCLEVBQXFDdUwsTUFBckMsRUFBNkNoTyxPQUE3QyxFQUFzRG1VLGVBQXRELEVBQXVFcEYsS0FBdkUsRUFBOEU7QUFDNUU7QUFDQSxNQUFJWSxtQkFBbUJiLG9CQUFvQkMsS0FBcEIsRUFBMkJmLE1BQTNCLEVBQW1DdkwsU0FBbkMsQ0FBdkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBSXhDLFlBQVlxTyxxQkFBcUJ0TyxRQUFRQyxTQUE3QixFQUF3QzBQLGdCQUF4QyxFQUEwRDNCLE1BQTFELEVBQWtFdkwsU0FBbEUsRUFBNkV6QyxRQUFRVSxTQUFSLENBQWtCMlEsSUFBbEIsQ0FBdUJuRCxpQkFBcEcsQ0FBaEI7O0FBRUFGLFNBQU90SSxZQUFQLENBQW9CLGFBQXBCLEVBQW1DekYsU0FBbkM7QUFDQSxTQUFPRCxPQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7Ozs7QUFVQSxTQUFTb1Usa0JBQVQsQ0FBNEIxVCxTQUE1QixFQUF1QzJULGNBQXZDLEVBQXVEQyxhQUF2RCxFQUFzRTtBQUNwRSxNQUFJQyxhQUFhcEUsS0FBS3pQLFNBQUwsRUFBZ0IsVUFBVW1SLElBQVYsRUFBZ0I7QUFDL0MsUUFBSUMsT0FBT0QsS0FBS0MsSUFBaEI7QUFDQSxXQUFPQSxTQUFTdUMsY0FBaEI7QUFDRCxHQUhnQixDQUFqQjs7QUFLQSxNQUFJRyxhQUFhLENBQUMsQ0FBQ0QsVUFBRixJQUFnQjdULFVBQVU0RCxJQUFWLENBQWUsVUFBVTJGLFFBQVYsRUFBb0I7QUFDbEUsV0FBT0EsU0FBUzZILElBQVQsS0FBa0J3QyxhQUFsQixJQUFtQ3JLLFNBQVNpSCxPQUE1QyxJQUF1RGpILFNBQVN4QixLQUFULEdBQWlCOEwsV0FBVzlMLEtBQTFGO0FBQ0QsR0FGZ0MsQ0FBakM7O0FBSUEsTUFBSSxDQUFDK0wsVUFBTCxFQUFpQjtBQUNmLFFBQUlDLGNBQWMsTUFBTUosY0FBTixHQUF1QixHQUF6QztBQUNBLFFBQUlLLFlBQVksTUFBTUosYUFBTixHQUFzQixHQUF0QztBQUNBdEQsWUFBUUMsSUFBUixDQUFheUQsWUFBWSwyQkFBWixHQUEwQ0QsV0FBMUMsR0FBd0QsMkRBQXhELEdBQXNIQSxXQUF0SCxHQUFvSSxHQUFqSjtBQUNEO0FBQ0QsU0FBT0QsVUFBUDtBQUNEOztBQUVEOzs7Ozs7O0FBT0EsU0FBU1IsS0FBVCxDQUFlckQsSUFBZixFQUFxQjNRLE9BQXJCLEVBQThCO0FBQzVCO0FBQ0EsTUFBSSxDQUFDb1UsbUJBQW1CekQsS0FBS3JGLFFBQUwsQ0FBYzVLLFNBQWpDLEVBQTRDLE9BQTVDLEVBQXFELGNBQXJELENBQUwsRUFBMkU7QUFDekUsV0FBT2lRLElBQVA7QUFDRDs7QUFFRCxNQUFJc0QsZUFBZWpVLFFBQVFvRyxPQUEzQjs7QUFFQTtBQUNBLE1BQUksT0FBTzZOLFlBQVAsS0FBd0IsUUFBNUIsRUFBc0M7QUFDcENBLG1CQUFldEQsS0FBS3JGLFFBQUwsQ0FBYzBDLE1BQWQsQ0FBcUJ2TSxhQUFyQixDQUFtQ3dTLFlBQW5DLENBQWY7O0FBRUE7QUFDQSxRQUFJLENBQUNBLFlBQUwsRUFBbUI7QUFDakIsYUFBT3RELElBQVA7QUFDRDtBQUNGLEdBUEQsTUFPTztBQUNMO0FBQ0E7QUFDQSxRQUFJLENBQUNBLEtBQUtyRixRQUFMLENBQWMwQyxNQUFkLENBQXFCNUUsUUFBckIsQ0FBOEI2SyxZQUE5QixDQUFMLEVBQWtEO0FBQ2hEakQsY0FBUUMsSUFBUixDQUFhLCtEQUFiO0FBQ0EsYUFBT04sSUFBUDtBQUNEO0FBQ0Y7O0FBRUQsTUFBSTFRLFlBQVkwUSxLQUFLMVEsU0FBTCxDQUFlb0MsS0FBZixDQUFxQixHQUFyQixFQUEwQixDQUExQixDQUFoQjtBQUNBLE1BQUkyTCxTQUFTNUIsY0FBY3VFLEtBQUt0RSxPQUFMLENBQWEyQixNQUEzQixDQUFiO0FBQ0EsTUFBSXZMLFlBQVlrTyxLQUFLdEUsT0FBTCxDQUFhNUosU0FBN0I7QUFDQSxNQUFJa1MsYUFBYSxDQUFDLE1BQUQsRUFBUyxPQUFULEVBQWtCcFMsT0FBbEIsQ0FBMEJ0QyxTQUExQixNQUF5QyxDQUFDLENBQTNEOztBQUVBLE1BQUkyVSxNQUFNRCxhQUFhLFFBQWIsR0FBd0IsT0FBbEM7QUFDQSxNQUFJcEwsT0FBT29MLGFBQWEsS0FBYixHQUFxQixNQUFoQztBQUNBLE1BQUlFLFVBQVVGLGFBQWEsTUFBYixHQUFzQixLQUFwQztBQUNBLE1BQUlHLFNBQVNILGFBQWEsUUFBYixHQUF3QixPQUFyQztBQUNBLE1BQUlJLG1CQUFtQjlGLGNBQWNnRixZQUFkLEVBQTRCVyxHQUE1QixDQUF2Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFJblMsVUFBVXFTLE1BQVYsSUFBb0JDLGdCQUFwQixHQUF1Qy9HLE9BQU96RSxJQUFQLENBQTNDLEVBQXlEO0FBQ3ZEb0gsU0FBS3RFLE9BQUwsQ0FBYTJCLE1BQWIsQ0FBb0J6RSxJQUFwQixLQUE2QnlFLE9BQU96RSxJQUFQLEtBQWdCOUcsVUFBVXFTLE1BQVYsSUFBb0JDLGdCQUFwQyxDQUE3QjtBQUNEO0FBQ0Q7QUFDQSxNQUFJdFMsVUFBVThHLElBQVYsSUFBa0J3TCxnQkFBbEIsR0FBcUMvRyxPQUFPOEcsTUFBUCxDQUF6QyxFQUF5RDtBQUN2RG5FLFNBQUt0RSxPQUFMLENBQWEyQixNQUFiLENBQW9CekUsSUFBcEIsS0FBNkI5RyxVQUFVOEcsSUFBVixJQUFrQndMLGdCQUFsQixHQUFxQy9HLE9BQU84RyxNQUFQLENBQWxFO0FBQ0Q7O0FBRUQ7QUFDQSxNQUFJRSxTQUFTdlMsVUFBVThHLElBQVYsSUFBa0I5RyxVQUFVbVMsR0FBVixJQUFpQixDQUFuQyxHQUF1Q0csbUJBQW1CLENBQXZFOztBQUVBO0FBQ0EsTUFBSUUsWUFBWUQsU0FBUzVJLGNBQWN1RSxLQUFLdEUsT0FBTCxDQUFhMkIsTUFBM0IsRUFBbUN6RSxJQUFuQyxDQUF6Qjs7QUFFQTtBQUNBMEwsY0FBWXJLLEtBQUtDLEdBQUwsQ0FBU0QsS0FBS3NLLEdBQUwsQ0FBU2xILE9BQU80RyxHQUFQLElBQWNHLGdCQUF2QixFQUF5Q0UsU0FBekMsQ0FBVCxFQUE4RCxDQUE5RCxDQUFaOztBQUVBdEUsT0FBS3NELFlBQUwsR0FBb0JBLFlBQXBCO0FBQ0F0RCxPQUFLdEUsT0FBTCxDQUFhMkgsS0FBYixHQUFxQixFQUFyQjtBQUNBckQsT0FBS3RFLE9BQUwsQ0FBYTJILEtBQWIsQ0FBbUJ6SyxJQUFuQixJQUEyQjBMLFNBQTNCO0FBQ0F0RSxPQUFLdEUsT0FBTCxDQUFhMkgsS0FBYixDQUFtQmEsT0FBbkIsSUFBOEIsRUFBOUIsQ0E3RDRCLENBNkRNOztBQUVsQyxTQUFPbEUsSUFBUDtBQUNEOztBQUVEOzs7Ozs7O0FBT0EsU0FBU3dFLG9CQUFULENBQThCdEcsU0FBOUIsRUFBeUM7QUFDdkMsTUFBSUEsY0FBYyxLQUFsQixFQUF5QjtBQUN2QixXQUFPLE9BQVA7QUFDRCxHQUZELE1BRU8sSUFBSUEsY0FBYyxPQUFsQixFQUEyQjtBQUNoQyxXQUFPLEtBQVA7QUFDRDtBQUNELFNBQU9BLFNBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStCQSxJQUFJdUcsYUFBYSxDQUFDLFlBQUQsRUFBZSxNQUFmLEVBQXVCLFVBQXZCLEVBQW1DLFdBQW5DLEVBQWdELEtBQWhELEVBQXVELFNBQXZELEVBQWtFLGFBQWxFLEVBQWlGLE9BQWpGLEVBQTBGLFdBQTFGLEVBQXVHLFlBQXZHLEVBQXFILFFBQXJILEVBQStILGNBQS9ILEVBQStJLFVBQS9JLEVBQTJKLE1BQTNKLEVBQW1LLFlBQW5LLENBQWpCOztBQUVBO0FBQ0EsSUFBSUMsa0JBQWtCRCxXQUFXdEUsS0FBWCxDQUFpQixDQUFqQixDQUF0Qjs7QUFFQTs7Ozs7Ozs7OztBQVVBLFNBQVN3RSxTQUFULENBQW1CclYsU0FBbkIsRUFBOEI7QUFDNUIsTUFBSXNWLFVBQVUvTCxVQUFVMUUsTUFBVixHQUFtQixDQUFuQixJQUF3QjBFLFVBQVUsQ0FBVixNQUFpQkMsU0FBekMsR0FBcURELFVBQVUsQ0FBVixDQUFyRCxHQUFvRSxLQUFsRjs7QUFFQSxNQUFJZ00sUUFBUUgsZ0JBQWdCOVMsT0FBaEIsQ0FBd0J0QyxTQUF4QixDQUFaO0FBQ0EsTUFBSW1RLE1BQU1pRixnQkFBZ0J2RSxLQUFoQixDQUFzQjBFLFFBQVEsQ0FBOUIsRUFBaUNDLE1BQWpDLENBQXdDSixnQkFBZ0J2RSxLQUFoQixDQUFzQixDQUF0QixFQUF5QjBFLEtBQXpCLENBQXhDLENBQVY7QUFDQSxTQUFPRCxVQUFVbkYsSUFBSXNGLE9BQUosRUFBVixHQUEwQnRGLEdBQWpDO0FBQ0Q7O0FBRUQsSUFBSXVGLFlBQVk7QUFDZEMsUUFBTSxNQURRO0FBRWRDLGFBQVcsV0FGRztBQUdkQyxvQkFBa0I7QUFISixDQUFoQjs7QUFNQTs7Ozs7OztBQU9BLFNBQVN6RSxJQUFULENBQWNWLElBQWQsRUFBb0IzUSxPQUFwQixFQUE2QjtBQUMzQjtBQUNBLE1BQUkyUixrQkFBa0JoQixLQUFLckYsUUFBTCxDQUFjNUssU0FBaEMsRUFBMkMsT0FBM0MsQ0FBSixFQUF5RDtBQUN2RCxXQUFPaVEsSUFBUDtBQUNEOztBQUVELE1BQUlBLEtBQUtTLE9BQUwsSUFBZ0JULEtBQUsxUSxTQUFMLEtBQW1CMFEsS0FBS1csaUJBQTVDLEVBQStEO0FBQzdEO0FBQ0EsV0FBT1gsSUFBUDtBQUNEOztBQUVELE1BQUl4QyxhQUFhSixjQUFjNEMsS0FBS3JGLFFBQUwsQ0FBYzBDLE1BQTVCLEVBQW9DMkMsS0FBS3JGLFFBQUwsQ0FBYzdJLFNBQWxELEVBQTZEekMsUUFBUWlPLE9BQXJFLEVBQThFak8sUUFBUWtPLGlCQUF0RixDQUFqQjs7QUFFQSxNQUFJak8sWUFBWTBRLEtBQUsxUSxTQUFMLENBQWVvQyxLQUFmLENBQXFCLEdBQXJCLEVBQTBCLENBQTFCLENBQWhCO0FBQ0EsTUFBSTBULG9CQUFvQnpHLHFCQUFxQnJQLFNBQXJCLENBQXhCO0FBQ0EsTUFBSTRPLFlBQVk4QixLQUFLMVEsU0FBTCxDQUFlb0MsS0FBZixDQUFxQixHQUFyQixFQUEwQixDQUExQixLQUFnQyxFQUFoRDs7QUFFQSxNQUFJMlQsWUFBWSxFQUFoQjs7QUFFQSxVQUFRaFcsUUFBUWlXLFFBQWhCO0FBQ0UsU0FBS04sVUFBVUMsSUFBZjtBQUNFSSxrQkFBWSxDQUFDL1YsU0FBRCxFQUFZOFYsaUJBQVosQ0FBWjtBQUNBO0FBQ0YsU0FBS0osVUFBVUUsU0FBZjtBQUNFRyxrQkFBWVYsVUFBVXJWLFNBQVYsQ0FBWjtBQUNBO0FBQ0YsU0FBSzBWLFVBQVVHLGdCQUFmO0FBQ0VFLGtCQUFZVixVQUFVclYsU0FBVixFQUFxQixJQUFyQixDQUFaO0FBQ0E7QUFDRjtBQUNFK1Ysa0JBQVloVyxRQUFRaVcsUUFBcEI7QUFYSjs7QUFjQUQsWUFBVW5ULE9BQVYsQ0FBa0IsVUFBVXFULElBQVYsRUFBZ0JWLEtBQWhCLEVBQXVCO0FBQ3ZDLFFBQUl2VixjQUFjaVcsSUFBZCxJQUFzQkYsVUFBVWxSLE1BQVYsS0FBcUIwUSxRQUFRLENBQXZELEVBQTBEO0FBQ3hELGFBQU83RSxJQUFQO0FBQ0Q7O0FBRUQxUSxnQkFBWTBRLEtBQUsxUSxTQUFMLENBQWVvQyxLQUFmLENBQXFCLEdBQXJCLEVBQTBCLENBQTFCLENBQVo7QUFDQTBULHdCQUFvQnpHLHFCQUFxQnJQLFNBQXJCLENBQXBCOztBQUVBLFFBQUk0UCxnQkFBZ0J6RCxjQUFjdUUsS0FBS3RFLE9BQUwsQ0FBYTJCLE1BQTNCLENBQXBCO0FBQ0EsUUFBSW1JLGFBQWF4RixLQUFLdEUsT0FBTCxDQUFhNUosU0FBOUI7O0FBRUE7QUFDQSxRQUFJMlQsUUFBUXhMLEtBQUt3TCxLQUFqQjtBQUNBLFFBQUlDLGNBQWNwVyxjQUFjLE1BQWQsSUFBd0JtVyxNQUFNdkcsY0FBY3hGLEtBQXBCLElBQTZCK0wsTUFBTUQsV0FBVy9MLElBQWpCLENBQXJELElBQStFbkssY0FBYyxPQUFkLElBQXlCbVcsTUFBTXZHLGNBQWN6RixJQUFwQixJQUE0QmdNLE1BQU1ELFdBQVc5TCxLQUFqQixDQUFwSSxJQUErSnBLLGNBQWMsS0FBZCxJQUF1Qm1XLE1BQU12RyxjQUFjMUYsTUFBcEIsSUFBOEJpTSxNQUFNRCxXQUFXak0sR0FBakIsQ0FBcE4sSUFBNk9qSyxjQUFjLFFBQWQsSUFBMEJtVyxNQUFNdkcsY0FBYzNGLEdBQXBCLElBQTJCa00sTUFBTUQsV0FBV2hNLE1BQWpCLENBQXBUOztBQUVBLFFBQUltTSxnQkFBZ0JGLE1BQU12RyxjQUFjekYsSUFBcEIsSUFBNEJnTSxNQUFNakksV0FBVy9ELElBQWpCLENBQWhEO0FBQ0EsUUFBSW1NLGlCQUFpQkgsTUFBTXZHLGNBQWN4RixLQUFwQixJQUE2QitMLE1BQU1qSSxXQUFXOUQsS0FBakIsQ0FBbEQ7QUFDQSxRQUFJbU0sZUFBZUosTUFBTXZHLGNBQWMzRixHQUFwQixJQUEyQmtNLE1BQU1qSSxXQUFXakUsR0FBakIsQ0FBOUM7QUFDQSxRQUFJdU0sa0JBQWtCTCxNQUFNdkcsY0FBYzFGLE1BQXBCLElBQThCaU0sTUFBTWpJLFdBQVdoRSxNQUFqQixDQUFwRDs7QUFFQSxRQUFJdU0sc0JBQXNCelcsY0FBYyxNQUFkLElBQXdCcVcsYUFBeEIsSUFBeUNyVyxjQUFjLE9BQWQsSUFBeUJzVyxjQUFsRSxJQUFvRnRXLGNBQWMsS0FBZCxJQUF1QnVXLFlBQTNHLElBQTJIdlcsY0FBYyxRQUFkLElBQTBCd1csZUFBL0s7O0FBRUE7QUFDQSxRQUFJOUIsYUFBYSxDQUFDLEtBQUQsRUFBUSxRQUFSLEVBQWtCcFMsT0FBbEIsQ0FBMEJ0QyxTQUExQixNQUF5QyxDQUFDLENBQTNEO0FBQ0EsUUFBSTBXLG1CQUFtQixDQUFDLENBQUMzVyxRQUFRNFcsY0FBVixLQUE2QmpDLGNBQWM5RixjQUFjLE9BQTVCLElBQXVDeUgsYUFBdkMsSUFBd0QzQixjQUFjOUYsY0FBYyxLQUE1QixJQUFxQzBILGNBQTdGLElBQStHLENBQUM1QixVQUFELElBQWU5RixjQUFjLE9BQTdCLElBQXdDMkgsWUFBdkosSUFBdUssQ0FBQzdCLFVBQUQsSUFBZTlGLGNBQWMsS0FBN0IsSUFBc0M0SCxlQUExTyxDQUF2Qjs7QUFFQSxRQUFJSixlQUFlSyxtQkFBZixJQUFzQ0MsZ0JBQTFDLEVBQTREO0FBQzFEO0FBQ0FoRyxXQUFLUyxPQUFMLEdBQWUsSUFBZjs7QUFFQSxVQUFJaUYsZUFBZUssbUJBQW5CLEVBQXdDO0FBQ3RDelcsb0JBQVkrVixVQUFVUixRQUFRLENBQWxCLENBQVo7QUFDRDs7QUFFRCxVQUFJbUIsZ0JBQUosRUFBc0I7QUFDcEI5SCxvQkFBWXNHLHFCQUFxQnRHLFNBQXJCLENBQVo7QUFDRDs7QUFFRDhCLFdBQUsxUSxTQUFMLEdBQWlCQSxhQUFhNE8sWUFBWSxNQUFNQSxTQUFsQixHQUE4QixFQUEzQyxDQUFqQjtBQUNBOEIsV0FBS3RFLE9BQUwsQ0FBYTJCLE1BQWIsR0FBc0IwQixpQkFBaUJpQixLQUFLckYsUUFBTCxDQUFjMEMsTUFBL0IsRUFBdUMyQyxLQUFLdEUsT0FBTCxDQUFhNUosU0FBcEQsRUFBK0RrTyxLQUFLMVEsU0FBcEUsQ0FBdEI7O0FBRUEwUSxhQUFPRCxhQUFhQyxLQUFLckYsUUFBTCxDQUFjNUssU0FBM0IsRUFBc0NpUSxJQUF0QyxFQUE0QyxNQUE1QyxDQUFQO0FBQ0Q7QUFDRixHQTNDRDtBQTRDQSxTQUFPQSxJQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7QUFPQSxTQUFTa0csWUFBVCxDQUFzQmxHLElBQXRCLEVBQTRCO0FBQzFCLE1BQUkzQyxTQUFTNUIsY0FBY3VFLEtBQUt0RSxPQUFMLENBQWEyQixNQUEzQixDQUFiO0FBQ0EsTUFBSXZMLFlBQVlrTyxLQUFLdEUsT0FBTCxDQUFhNUosU0FBN0I7QUFDQSxNQUFJeEMsWUFBWTBRLEtBQUsxUSxTQUFMLENBQWVvQyxLQUFmLENBQXFCLEdBQXJCLEVBQTBCLENBQTFCLENBQWhCO0FBQ0EsTUFBSStULFFBQVF4TCxLQUFLd0wsS0FBakI7QUFDQSxNQUFJekIsYUFBYSxDQUFDLEtBQUQsRUFBUSxRQUFSLEVBQWtCcFMsT0FBbEIsQ0FBMEJ0QyxTQUExQixNQUF5QyxDQUFDLENBQTNEO0FBQ0EsTUFBSXNKLE9BQU9vTCxhQUFhLE9BQWIsR0FBdUIsUUFBbEM7QUFDQSxNQUFJRyxTQUFTSCxhQUFhLE1BQWIsR0FBc0IsS0FBbkM7QUFDQSxNQUFJMUUsY0FBYzBFLGFBQWEsT0FBYixHQUF1QixRQUF6Qzs7QUFFQSxNQUFJM0csT0FBT3pFLElBQVAsSUFBZTZNLE1BQU0zVCxVQUFVcVMsTUFBVixDQUFOLENBQW5CLEVBQTZDO0FBQzNDbkUsU0FBS3RFLE9BQUwsQ0FBYTJCLE1BQWIsQ0FBb0I4RyxNQUFwQixJQUE4QnNCLE1BQU0zVCxVQUFVcVMsTUFBVixDQUFOLElBQTJCOUcsT0FBT2lDLFdBQVAsQ0FBekQ7QUFDRDtBQUNELE1BQUlqQyxPQUFPOEcsTUFBUCxJQUFpQnNCLE1BQU0zVCxVQUFVOEcsSUFBVixDQUFOLENBQXJCLEVBQTZDO0FBQzNDb0gsU0FBS3RFLE9BQUwsQ0FBYTJCLE1BQWIsQ0FBb0I4RyxNQUFwQixJQUE4QnNCLE1BQU0zVCxVQUFVOEcsSUFBVixDQUFOLENBQTlCO0FBQ0Q7O0FBRUQsU0FBT29ILElBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7Ozs7O0FBWUEsU0FBU21HLE9BQVQsQ0FBaUJDLEdBQWpCLEVBQXNCOUcsV0FBdEIsRUFBbUNKLGFBQW5DLEVBQWtERixnQkFBbEQsRUFBb0U7QUFDbEU7QUFDQSxNQUFJdE4sUUFBUTBVLElBQUl0RyxLQUFKLENBQVUsMkJBQVYsQ0FBWjtBQUNBLE1BQUloUSxRQUFRLENBQUM0QixNQUFNLENBQU4sQ0FBYjtBQUNBLE1BQUlvRSxPQUFPcEUsTUFBTSxDQUFOLENBQVg7O0FBRUE7QUFDQSxNQUFJLENBQUM1QixLQUFMLEVBQVk7QUFDVixXQUFPc1csR0FBUDtBQUNEOztBQUVELE1BQUl0USxLQUFLbEUsT0FBTCxDQUFhLEdBQWIsTUFBc0IsQ0FBMUIsRUFBNkI7QUFDM0IsUUFBSTZELFVBQVUsS0FBSyxDQUFuQjtBQUNBLFlBQVFLLElBQVI7QUFDRSxXQUFLLElBQUw7QUFDRUwsa0JBQVV5SixhQUFWO0FBQ0E7QUFDRixXQUFLLEdBQUw7QUFDQSxXQUFLLElBQUw7QUFDQTtBQUNFekosa0JBQVV1SixnQkFBVjtBQVBKOztBQVVBLFFBQUk5RixPQUFPdUMsY0FBY2hHLE9BQWQsQ0FBWDtBQUNBLFdBQU95RCxLQUFLb0csV0FBTCxJQUFvQixHQUFwQixHQUEwQnhQLEtBQWpDO0FBQ0QsR0FkRCxNQWNPLElBQUlnRyxTQUFTLElBQVQsSUFBaUJBLFNBQVMsSUFBOUIsRUFBb0M7QUFDekM7QUFDQSxRQUFJdVEsT0FBTyxLQUFLLENBQWhCO0FBQ0EsUUFBSXZRLFNBQVMsSUFBYixFQUFtQjtBQUNqQnVRLGFBQU9wTSxLQUFLQyxHQUFMLENBQVN6RixTQUFTaUQsZUFBVCxDQUF5QjJDLFlBQWxDLEVBQWdEdEcsT0FBT21KLFdBQVAsSUFBc0IsQ0FBdEUsQ0FBUDtBQUNELEtBRkQsTUFFTztBQUNMbUosYUFBT3BNLEtBQUtDLEdBQUwsQ0FBU3pGLFNBQVNpRCxlQUFULENBQXlCK0MsV0FBbEMsRUFBK0MxRyxPQUFPa0osVUFBUCxJQUFxQixDQUFwRSxDQUFQO0FBQ0Q7QUFDRCxXQUFPb0osT0FBTyxHQUFQLEdBQWF2VyxLQUFwQjtBQUNELEdBVE0sTUFTQTtBQUNMO0FBQ0E7QUFDQSxXQUFPQSxLQUFQO0FBQ0Q7QUFDRjs7QUFFRDs7Ozs7Ozs7Ozs7QUFXQSxTQUFTd1csV0FBVCxDQUFxQjNXLE1BQXJCLEVBQTZCdVAsYUFBN0IsRUFBNENGLGdCQUE1QyxFQUE4RHVILGFBQTlELEVBQTZFO0FBQzNFLE1BQUk3SyxVQUFVLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFJOEssWUFBWSxDQUFDLE9BQUQsRUFBVSxNQUFWLEVBQWtCNVUsT0FBbEIsQ0FBMEIyVSxhQUExQixNQUE2QyxDQUFDLENBQTlEOztBQUVBO0FBQ0E7QUFDQSxNQUFJRSxZQUFZOVcsT0FBTytCLEtBQVAsQ0FBYSxTQUFiLEVBQXdCZ1YsR0FBeEIsQ0FBNEIsVUFBVUMsSUFBVixFQUFnQjtBQUMxRCxXQUFPQSxLQUFLQyxJQUFMLEVBQVA7QUFDRCxHQUZlLENBQWhCOztBQUlBO0FBQ0E7QUFDQSxNQUFJQyxVQUFVSixVQUFVN1UsT0FBVixDQUFrQjROLEtBQUtpSCxTQUFMLEVBQWdCLFVBQVVFLElBQVYsRUFBZ0I7QUFDOUQsV0FBT0EsS0FBS0csTUFBTCxDQUFZLE1BQVosTUFBd0IsQ0FBQyxDQUFoQztBQUNELEdBRitCLENBQWxCLENBQWQ7O0FBSUEsTUFBSUwsVUFBVUksT0FBVixLQUFzQkosVUFBVUksT0FBVixFQUFtQmpWLE9BQW5CLENBQTJCLEdBQTNCLE1BQW9DLENBQUMsQ0FBL0QsRUFBa0U7QUFDaEV5TyxZQUFRQyxJQUFSLENBQWEsOEVBQWI7QUFDRDs7QUFFRDtBQUNBO0FBQ0EsTUFBSXlHLGFBQWEsYUFBakI7QUFDQSxNQUFJQyxNQUFNSCxZQUFZLENBQUMsQ0FBYixHQUFpQixDQUFDSixVQUFVdEcsS0FBVixDQUFnQixDQUFoQixFQUFtQjBHLE9BQW5CLEVBQTRCL0IsTUFBNUIsQ0FBbUMsQ0FBQzJCLFVBQVVJLE9BQVYsRUFBbUJuVixLQUFuQixDQUF5QnFWLFVBQXpCLEVBQXFDLENBQXJDLENBQUQsQ0FBbkMsQ0FBRCxFQUFnRixDQUFDTixVQUFVSSxPQUFWLEVBQW1CblYsS0FBbkIsQ0FBeUJxVixVQUF6QixFQUFxQyxDQUFyQyxDQUFELEVBQTBDakMsTUFBMUMsQ0FBaUQyQixVQUFVdEcsS0FBVixDQUFnQjBHLFVBQVUsQ0FBMUIsQ0FBakQsQ0FBaEYsQ0FBakIsR0FBbUwsQ0FBQ0osU0FBRCxDQUE3TDs7QUFFQTtBQUNBTyxRQUFNQSxJQUFJTixHQUFKLENBQVEsVUFBVU8sRUFBVixFQUFjcEMsS0FBZCxFQUFxQjtBQUNqQztBQUNBLFFBQUl2RixjQUFjLENBQUN1RixVQUFVLENBQVYsR0FBYyxDQUFDMkIsU0FBZixHQUEyQkEsU0FBNUIsSUFBeUMsUUFBekMsR0FBb0QsT0FBdEU7QUFDQSxRQUFJVSxvQkFBb0IsS0FBeEI7QUFDQSxXQUFPRDtBQUNQO0FBQ0E7QUFGTyxLQUdORSxNQUhNLENBR0MsVUFBVW5KLENBQVYsRUFBYUMsQ0FBYixFQUFnQjtBQUN0QixVQUFJRCxFQUFFQSxFQUFFN0osTUFBRixHQUFXLENBQWIsTUFBb0IsRUFBcEIsSUFBMEIsQ0FBQyxHQUFELEVBQU0sR0FBTixFQUFXdkMsT0FBWCxDQUFtQnFNLENBQW5CLE1BQTBCLENBQUMsQ0FBekQsRUFBNEQ7QUFDMURELFVBQUVBLEVBQUU3SixNQUFGLEdBQVcsQ0FBYixJQUFrQjhKLENBQWxCO0FBQ0FpSiw0QkFBb0IsSUFBcEI7QUFDQSxlQUFPbEosQ0FBUDtBQUNELE9BSkQsTUFJTyxJQUFJa0osaUJBQUosRUFBdUI7QUFDNUJsSixVQUFFQSxFQUFFN0osTUFBRixHQUFXLENBQWIsS0FBbUI4SixDQUFuQjtBQUNBaUosNEJBQW9CLEtBQXBCO0FBQ0EsZUFBT2xKLENBQVA7QUFDRCxPQUpNLE1BSUE7QUFDTCxlQUFPQSxFQUFFOEcsTUFBRixDQUFTN0csQ0FBVCxDQUFQO0FBQ0Q7QUFDRixLQWZNLEVBZUosRUFmSTtBQWdCUDtBQWhCTyxLQWlCTnlJLEdBakJNLENBaUJGLFVBQVVOLEdBQVYsRUFBZTtBQUNsQixhQUFPRCxRQUFRQyxHQUFSLEVBQWE5RyxXQUFiLEVBQTBCSixhQUExQixFQUF5Q0YsZ0JBQXpDLENBQVA7QUFDRCxLQW5CTSxDQUFQO0FBb0JELEdBeEJLLENBQU47O0FBMEJBO0FBQ0FnSSxNQUFJOVUsT0FBSixDQUFZLFVBQVUrVSxFQUFWLEVBQWNwQyxLQUFkLEVBQXFCO0FBQy9Cb0MsT0FBRy9VLE9BQUgsQ0FBVyxVQUFVeVUsSUFBVixFQUFnQlMsTUFBaEIsRUFBd0I7QUFDakMsVUFBSWpTLFVBQVV3UixJQUFWLENBQUosRUFBcUI7QUFDbkJqTCxnQkFBUW1KLEtBQVIsS0FBa0I4QixRQUFRTSxHQUFHRyxTQUFTLENBQVosTUFBbUIsR0FBbkIsR0FBeUIsQ0FBQyxDQUExQixHQUE4QixDQUF0QyxDQUFsQjtBQUNEO0FBQ0YsS0FKRDtBQUtELEdBTkQ7QUFPQSxTQUFPMUwsT0FBUDtBQUNEOztBQUVEOzs7Ozs7Ozs7QUFTQSxTQUFTL0wsTUFBVCxDQUFnQnFRLElBQWhCLEVBQXNCa0IsSUFBdEIsRUFBNEI7QUFDMUIsTUFBSXZSLFNBQVN1UixLQUFLdlIsTUFBbEI7QUFDQSxNQUFJTCxZQUFZMFEsS0FBSzFRLFNBQXJCO0FBQUEsTUFDSStYLGdCQUFnQnJILEtBQUt0RSxPQUR6QjtBQUFBLE1BRUkyQixTQUFTZ0ssY0FBY2hLLE1BRjNCO0FBQUEsTUFHSXZMLFlBQVl1VixjQUFjdlYsU0FIOUI7O0FBS0EsTUFBSXlVLGdCQUFnQmpYLFVBQVVvQyxLQUFWLENBQWdCLEdBQWhCLEVBQXFCLENBQXJCLENBQXBCOztBQUVBLE1BQUlnSyxVQUFVLEtBQUssQ0FBbkI7QUFDQSxNQUFJdkcsVUFBVSxDQUFDeEYsTUFBWCxDQUFKLEVBQXdCO0FBQ3RCK0wsY0FBVSxDQUFDLENBQUMvTCxNQUFGLEVBQVUsQ0FBVixDQUFWO0FBQ0QsR0FGRCxNQUVPO0FBQ0wrTCxjQUFVNEssWUFBWTNXLE1BQVosRUFBb0IwTixNQUFwQixFQUE0QnZMLFNBQTVCLEVBQXVDeVUsYUFBdkMsQ0FBVjtBQUNEOztBQUVELE1BQUlBLGtCQUFrQixNQUF0QixFQUE4QjtBQUM1QmxKLFdBQU85RCxHQUFQLElBQWNtQyxRQUFRLENBQVIsQ0FBZDtBQUNBMkIsV0FBTzVELElBQVAsSUFBZWlDLFFBQVEsQ0FBUixDQUFmO0FBQ0QsR0FIRCxNQUdPLElBQUk2SyxrQkFBa0IsT0FBdEIsRUFBK0I7QUFDcENsSixXQUFPOUQsR0FBUCxJQUFjbUMsUUFBUSxDQUFSLENBQWQ7QUFDQTJCLFdBQU81RCxJQUFQLElBQWVpQyxRQUFRLENBQVIsQ0FBZjtBQUNELEdBSE0sTUFHQSxJQUFJNkssa0JBQWtCLEtBQXRCLEVBQTZCO0FBQ2xDbEosV0FBTzVELElBQVAsSUFBZWlDLFFBQVEsQ0FBUixDQUFmO0FBQ0EyQixXQUFPOUQsR0FBUCxJQUFjbUMsUUFBUSxDQUFSLENBQWQ7QUFDRCxHQUhNLE1BR0EsSUFBSTZLLGtCQUFrQixRQUF0QixFQUFnQztBQUNyQ2xKLFdBQU81RCxJQUFQLElBQWVpQyxRQUFRLENBQVIsQ0FBZjtBQUNBMkIsV0FBTzlELEdBQVAsSUFBY21DLFFBQVEsQ0FBUixDQUFkO0FBQ0Q7O0FBRURzRSxPQUFLM0MsTUFBTCxHQUFjQSxNQUFkO0FBQ0EsU0FBTzJDLElBQVA7QUFDRDs7QUFFRDs7Ozs7OztBQU9BLFNBQVNzSCxlQUFULENBQXlCdEgsSUFBekIsRUFBK0IzUSxPQUEvQixFQUF3QztBQUN0QyxNQUFJa08sb0JBQW9CbE8sUUFBUWtPLGlCQUFSLElBQTZCOUYsZ0JBQWdCdUksS0FBS3JGLFFBQUwsQ0FBYzBDLE1BQTlCLENBQXJEO0FBQ0EsTUFBSUcsYUFBYUosY0FBYzRDLEtBQUtyRixRQUFMLENBQWMwQyxNQUE1QixFQUFvQzJDLEtBQUtyRixRQUFMLENBQWM3SSxTQUFsRCxFQUE2RHpDLFFBQVFpTyxPQUFyRSxFQUE4RUMsaUJBQTlFLENBQWpCO0FBQ0FsTyxVQUFRbU8sVUFBUixHQUFxQkEsVUFBckI7O0FBRUEsTUFBSTFGLFFBQVF6SSxRQUFRa1ksUUFBcEI7QUFDQSxNQUFJbEssU0FBUzVCLGNBQWN1RSxLQUFLdEUsT0FBTCxDQUFhMkIsTUFBM0IsQ0FBYjs7QUFFQSxNQUFJcUMsUUFBUTtBQUNWOEgsYUFBUyxTQUFTQSxPQUFULENBQWlCbFksU0FBakIsRUFBNEI7QUFDbkMsVUFBSVEsUUFBUXVOLE9BQU8vTixTQUFQLENBQVo7QUFDQSxVQUFJK04sT0FBTy9OLFNBQVAsSUFBb0JrTyxXQUFXbE8sU0FBWCxDQUFwQixJQUE2QyxDQUFDRCxRQUFRb1ksbUJBQTFELEVBQStFO0FBQzdFM1gsZ0JBQVFtSyxLQUFLQyxHQUFMLENBQVNtRCxPQUFPL04sU0FBUCxDQUFULEVBQTRCa08sV0FBV2xPLFNBQVgsQ0FBNUIsQ0FBUjtBQUNEO0FBQ0QsYUFBT3dMLGVBQWUsRUFBZixFQUFtQnhMLFNBQW5CLEVBQThCUSxLQUE5QixDQUFQO0FBQ0QsS0FQUztBQVFWNFgsZUFBVyxTQUFTQSxTQUFULENBQW1CcFksU0FBbkIsRUFBOEI7QUFDdkMsVUFBSThQLFdBQVc5UCxjQUFjLE9BQWQsR0FBd0IsTUFBeEIsR0FBaUMsS0FBaEQ7QUFDQSxVQUFJUSxRQUFRdU4sT0FBTytCLFFBQVAsQ0FBWjtBQUNBLFVBQUkvQixPQUFPL04sU0FBUCxJQUFvQmtPLFdBQVdsTyxTQUFYLENBQXBCLElBQTZDLENBQUNELFFBQVFvWSxtQkFBMUQsRUFBK0U7QUFDN0UzWCxnQkFBUW1LLEtBQUtzSyxHQUFMLENBQVNsSCxPQUFPK0IsUUFBUCxDQUFULEVBQTJCNUIsV0FBV2xPLFNBQVgsS0FBeUJBLGNBQWMsT0FBZCxHQUF3QitOLE9BQU8vQyxLQUEvQixHQUF1QytDLE9BQU9yRCxNQUF2RSxDQUEzQixDQUFSO0FBQ0Q7QUFDRCxhQUFPYyxlQUFlLEVBQWYsRUFBbUJzRSxRQUFuQixFQUE2QnRQLEtBQTdCLENBQVA7QUFDRDtBQWZTLEdBQVo7O0FBa0JBZ0ksUUFBTTVGLE9BQU4sQ0FBYyxVQUFVNUMsU0FBVixFQUFxQjtBQUNqQyxRQUFJc0osT0FBTyxDQUFDLE1BQUQsRUFBUyxLQUFULEVBQWdCaEgsT0FBaEIsQ0FBd0J0QyxTQUF4QixNQUF1QyxDQUFDLENBQXhDLEdBQTRDLFNBQTVDLEdBQXdELFdBQW5FO0FBQ0ErTixhQUFTbEMsU0FBUyxFQUFULEVBQWFrQyxNQUFiLEVBQXFCcUMsTUFBTTlHLElBQU4sRUFBWXRKLFNBQVosQ0FBckIsQ0FBVDtBQUNELEdBSEQ7O0FBS0EwUSxPQUFLdEUsT0FBTCxDQUFhMkIsTUFBYixHQUFzQkEsTUFBdEI7O0FBRUEsU0FBTzJDLElBQVA7QUFDRDs7QUFFRDs7Ozs7OztBQU9BLFNBQVMySCxLQUFULENBQWUzSCxJQUFmLEVBQXFCO0FBQ25CLE1BQUkxUSxZQUFZMFEsS0FBSzFRLFNBQXJCO0FBQ0EsTUFBSWlYLGdCQUFnQmpYLFVBQVVvQyxLQUFWLENBQWdCLEdBQWhCLEVBQXFCLENBQXJCLENBQXBCO0FBQ0EsTUFBSWtXLGlCQUFpQnRZLFVBQVVvQyxLQUFWLENBQWdCLEdBQWhCLEVBQXFCLENBQXJCLENBQXJCOztBQUVBO0FBQ0EsTUFBSWtXLGNBQUosRUFBb0I7QUFDbEIsUUFBSTlWLFlBQVlrTyxLQUFLdEUsT0FBTCxDQUFhNUosU0FBN0I7QUFDQSxRQUFJdUwsU0FBUzVCLGNBQWN1RSxLQUFLdEUsT0FBTCxDQUFhMkIsTUFBM0IsQ0FBYjtBQUNBLFFBQUkyRyxhQUFhLENBQUMsUUFBRCxFQUFXLEtBQVgsRUFBa0JwUyxPQUFsQixDQUEwQjJVLGFBQTFCLE1BQTZDLENBQUMsQ0FBL0Q7QUFDQSxRQUFJM04sT0FBT29MLGFBQWEsTUFBYixHQUFzQixLQUFqQztBQUNBLFFBQUkxRSxjQUFjMEUsYUFBYSxPQUFiLEdBQXVCLFFBQXpDOztBQUVBLFFBQUk2RCxlQUFlO0FBQ2pCM1AsYUFBTzRDLGVBQWUsRUFBZixFQUFtQmxDLElBQW5CLEVBQXlCOUcsVUFBVThHLElBQVYsQ0FBekIsQ0FEVTtBQUVqQlQsV0FBSzJDLGVBQWUsRUFBZixFQUFtQmxDLElBQW5CLEVBQXlCOUcsVUFBVThHLElBQVYsSUFBa0I5RyxVQUFVd04sV0FBVixDQUFsQixHQUEyQ2pDLE9BQU9pQyxXQUFQLENBQXBFO0FBRlksS0FBbkI7O0FBS0FVLFNBQUt0RSxPQUFMLENBQWEyQixNQUFiLEdBQXNCbEMsU0FBUyxFQUFULEVBQWFrQyxNQUFiLEVBQXFCd0ssYUFBYUQsY0FBYixDQUFyQixDQUF0QjtBQUNEOztBQUVELFNBQU81SCxJQUFQO0FBQ0Q7O0FBRUQ7Ozs7Ozs7QUFPQSxTQUFTOEgsSUFBVCxDQUFjOUgsSUFBZCxFQUFvQjtBQUNsQixNQUFJLENBQUN5RCxtQkFBbUJ6RCxLQUFLckYsUUFBTCxDQUFjNUssU0FBakMsRUFBNEMsTUFBNUMsRUFBb0QsaUJBQXBELENBQUwsRUFBNkU7QUFDM0UsV0FBT2lRLElBQVA7QUFDRDs7QUFFRCxNQUFJcEMsVUFBVW9DLEtBQUt0RSxPQUFMLENBQWE1SixTQUEzQjtBQUNBLE1BQUlpVyxRQUFRdkksS0FBS1EsS0FBS3JGLFFBQUwsQ0FBYzVLLFNBQW5CLEVBQThCLFVBQVV1SixRQUFWLEVBQW9CO0FBQzVELFdBQU9BLFNBQVM2SCxJQUFULEtBQWtCLGlCQUF6QjtBQUNELEdBRlcsRUFFVDNELFVBRkg7O0FBSUEsTUFBSUksUUFBUXBFLE1BQVIsR0FBaUJ1TyxNQUFNeE8sR0FBdkIsSUFBOEJxRSxRQUFRbkUsSUFBUixHQUFlc08sTUFBTXJPLEtBQW5ELElBQTREa0UsUUFBUXJFLEdBQVIsR0FBY3dPLE1BQU12TyxNQUFoRixJQUEwRm9FLFFBQVFsRSxLQUFSLEdBQWdCcU8sTUFBTXRPLElBQXBILEVBQTBIO0FBQ3hIO0FBQ0EsUUFBSXVHLEtBQUs4SCxJQUFMLEtBQWMsSUFBbEIsRUFBd0I7QUFDdEIsYUFBTzlILElBQVA7QUFDRDs7QUFFREEsU0FBSzhILElBQUwsR0FBWSxJQUFaO0FBQ0E5SCxTQUFLbEwsVUFBTCxDQUFnQixxQkFBaEIsSUFBeUMsRUFBekM7QUFDRCxHQVJELE1BUU87QUFDTDtBQUNBLFFBQUlrTCxLQUFLOEgsSUFBTCxLQUFjLEtBQWxCLEVBQXlCO0FBQ3ZCLGFBQU85SCxJQUFQO0FBQ0Q7O0FBRURBLFNBQUs4SCxJQUFMLEdBQVksS0FBWjtBQUNBOUgsU0FBS2xMLFVBQUwsQ0FBZ0IscUJBQWhCLElBQXlDLEtBQXpDO0FBQ0Q7O0FBRUQsU0FBT2tMLElBQVA7QUFDRDs7QUFFRDs7Ozs7OztBQU9BLFNBQVNnSSxLQUFULENBQWVoSSxJQUFmLEVBQXFCO0FBQ25CLE1BQUkxUSxZQUFZMFEsS0FBSzFRLFNBQXJCO0FBQ0EsTUFBSWlYLGdCQUFnQmpYLFVBQVVvQyxLQUFWLENBQWdCLEdBQWhCLEVBQXFCLENBQXJCLENBQXBCO0FBQ0EsTUFBSTJMLFNBQVM1QixjQUFjdUUsS0FBS3RFLE9BQUwsQ0FBYTJCLE1BQTNCLENBQWI7QUFDQSxNQUFJdkwsWUFBWTJKLGNBQWN1RSxLQUFLdEUsT0FBTCxDQUFhNUosU0FBM0IsQ0FBaEI7QUFDQSxNQUFJcU4sVUFBVSxDQUFDLE1BQUQsRUFBUyxPQUFULEVBQWtCdk4sT0FBbEIsQ0FBMEIyVSxhQUExQixNQUE2QyxDQUFDLENBQTVEOztBQUVBLE1BQUkwQixpQkFBaUIsQ0FBQyxLQUFELEVBQVEsTUFBUixFQUFnQnJXLE9BQWhCLENBQXdCMlUsYUFBeEIsTUFBMkMsQ0FBQyxDQUFqRTs7QUFFQWxKLFNBQU84QixVQUFVLE1BQVYsR0FBbUIsS0FBMUIsSUFBbUNyTixVQUFVeEMsU0FBVixLQUF3QjJZLGlCQUFpQjVLLE9BQU84QixVQUFVLE9BQVYsR0FBb0IsUUFBM0IsQ0FBakIsR0FBd0QsQ0FBaEYsQ0FBbkM7O0FBRUFhLE9BQUsxUSxTQUFMLEdBQWlCcVAscUJBQXFCclAsU0FBckIsQ0FBakI7QUFDQTBRLE9BQUt0RSxPQUFMLENBQWEyQixNQUFiLEdBQXNCNUIsY0FBYzRCLE1BQWQsQ0FBdEI7O0FBRUEsU0FBTzJDLElBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7Ozs7O0FBWUE7Ozs7Ozs7OztBQVNBLElBQUlqUSxZQUFZO0FBQ2Q7Ozs7Ozs7O0FBUUE0WCxTQUFPO0FBQ0w7QUFDQTdQLFdBQU8sR0FGRjtBQUdMO0FBQ0F5SSxhQUFTLElBSko7QUFLTDtBQUNBN00sUUFBSWlVO0FBTkMsR0FUTzs7QUFrQmQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUNBaFksVUFBUTtBQUNOO0FBQ0FtSSxXQUFPLEdBRkQ7QUFHTjtBQUNBeUksYUFBUyxJQUpIO0FBS047QUFDQTdNLFFBQUkvRCxNQU5FO0FBT047OztBQUdBQSxZQUFRO0FBVkYsR0FyRE07O0FBa0VkOzs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQTJYLG1CQUFpQjtBQUNmO0FBQ0F4UCxXQUFPLEdBRlE7QUFHZjtBQUNBeUksYUFBUyxJQUpNO0FBS2Y7QUFDQTdNLFFBQUk0VCxlQU5XO0FBT2Y7Ozs7O0FBS0FDLGNBQVUsQ0FBQyxNQUFELEVBQVMsT0FBVCxFQUFrQixLQUFsQixFQUF5QixRQUF6QixDQVpLO0FBYWY7Ozs7OztBQU1BakssYUFBUyxDQW5CTTtBQW9CZjs7Ozs7QUFLQUMsdUJBQW1CO0FBekJKLEdBbkZIOztBQStHZDs7Ozs7Ozs7O0FBU0EySSxnQkFBYztBQUNaO0FBQ0FwTyxXQUFPLEdBRks7QUFHWjtBQUNBeUksYUFBUyxJQUpHO0FBS1o7QUFDQTdNLFFBQUl3UztBQU5RLEdBeEhBOztBQWlJZDs7Ozs7Ozs7OztBQVVBN0MsU0FBTztBQUNMO0FBQ0F2TCxXQUFPLEdBRkY7QUFHTDtBQUNBeUksYUFBUyxJQUpKO0FBS0w7QUFDQTdNLFFBQUkyUCxLQU5DO0FBT0w7QUFDQTVOLGFBQVM7QUFSSixHQTNJTzs7QUFzSmQ7Ozs7Ozs7Ozs7O0FBV0FpTCxRQUFNO0FBQ0o7QUFDQTVJLFdBQU8sR0FGSDtBQUdKO0FBQ0F5SSxhQUFTLElBSkw7QUFLSjtBQUNBN00sUUFBSWdOLElBTkE7QUFPSjs7Ozs7O0FBTUE0RSxjQUFVLE1BYk47QUFjSjs7OztBQUlBaEksYUFBUyxDQWxCTDtBQW1CSjs7Ozs7O0FBTUFDLHVCQUFtQjtBQXpCZixHQWpLUTs7QUE2TGQ7Ozs7Ozs7QUFPQXlLLFNBQU87QUFDTDtBQUNBbFEsV0FBTyxHQUZGO0FBR0w7QUFDQXlJLGFBQVMsS0FKSjtBQUtMO0FBQ0E3TSxRQUFJc1U7QUFOQyxHQXBNTzs7QUE2TWQ7Ozs7Ozs7Ozs7QUFVQUYsUUFBTTtBQUNKO0FBQ0FoUSxXQUFPLEdBRkg7QUFHSjtBQUNBeUksYUFBUyxJQUpMO0FBS0o7QUFDQTdNLFFBQUlvVTtBQU5BLEdBdk5ROztBQWdPZDs7Ozs7Ozs7Ozs7O0FBWUE5RSxjQUFZO0FBQ1Y7QUFDQWxMLFdBQU8sR0FGRztBQUdWO0FBQ0F5SSxhQUFTLElBSkM7QUFLVjtBQUNBN00sUUFBSXNQLFVBTk07QUFPVjtBQUNBa0YsWUFBUTNFLGdCQVJFO0FBU1Y7Ozs7O0FBS0FKLHFCQUFpQjtBQWRQO0FBNU9FLENBQWhCOztBQThQQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBOzs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLElBQUlnRixXQUFXO0FBQ2I7Ozs7QUFJQTdZLGFBQVcsUUFMRTs7QUFPYjs7OztBQUlBb1QsaUJBQWUsSUFYRjs7QUFhYjs7Ozs7QUFLQVosbUJBQWlCLEtBbEJKOztBQW9CYjs7Ozs7O0FBTUFoQixZQUFVLFNBQVNBLFFBQVQsR0FBb0IsQ0FBRSxDQTFCbkI7O0FBNEJiOzs7Ozs7OztBQVFBQyxZQUFVLFNBQVNBLFFBQVQsR0FBb0IsQ0FBRSxDQXBDbkI7O0FBc0NiOzs7OztBQUtBaFIsYUFBV0E7QUEzQ0UsQ0FBZjs7QUE4Q0E7Ozs7O0FBS0E7Ozs7O0FBS0E7QUFDQTtBQUNBLElBQUlxWTtBQUNKOzs7Ozs7OztBQVFBLFNBQVNBLE1BQVQsQ0FBZ0J0VyxTQUFoQixFQUEyQnVMLE1BQTNCLEVBQW1DO0FBQ2pDLE1BQUlnTCxRQUFRLElBQVo7O0FBRUEsTUFBSWhaLFVBQVV3SixVQUFVMUUsTUFBVixHQUFtQixDQUFuQixJQUF3QjBFLFVBQVUsQ0FBVixNQUFpQkMsU0FBekMsR0FBcURELFVBQVUsQ0FBVixDQUFyRCxHQUFvRSxFQUFsRjtBQUNBNkIsaUJBQWUsSUFBZixFQUFxQjBOLE1BQXJCO0FBQ0EsT0FBS2xYLE1BQUwsR0FBY0EsTUFBZDtBQUNBLE9BQUt5USxPQUFMLEdBQWVBLE9BQWY7QUFDQSxPQUFLZ0Isb0JBQUwsR0FBNEJBLG9CQUE1QjtBQUNBLE9BQUtkLHFCQUFMLEdBQTZCQSxxQkFBN0I7O0FBRUEsT0FBS2UsY0FBTCxHQUFzQixZQUFZO0FBQ2hDLFdBQU8wRixzQkFBc0JELE1BQU1uWCxNQUE1QixDQUFQO0FBQ0QsR0FGRDs7QUFJQTtBQUNBLE9BQUtBLE1BQUwsR0FBY2dFLFNBQVMsS0FBS2hFLE1BQUwsQ0FBWTJCLElBQVosQ0FBaUIsSUFBakIsQ0FBVCxDQUFkOztBQUVBO0FBQ0EsT0FBS3hELE9BQUwsR0FBZThMLFNBQVMsRUFBVCxFQUFhaU4sT0FBT0csUUFBcEIsRUFBOEJsWixPQUE5QixDQUFmOztBQUVBO0FBQ0EsT0FBSytPLEtBQUwsR0FBYTtBQUNYb0MsaUJBQWEsS0FERjtBQUVYSyxlQUFXLEtBRkE7QUFHWHFCLG1CQUFlO0FBSEosR0FBYjs7QUFNQTtBQUNBLE9BQUtwUSxTQUFMLEdBQWlCQSxVQUFVMFcsTUFBVixHQUFtQjFXLFVBQVUsQ0FBVixDQUFuQixHQUFrQ0EsU0FBbkQ7QUFDQSxPQUFLdUwsTUFBTCxHQUFjQSxPQUFPbUwsTUFBUCxHQUFnQm5MLE9BQU8sQ0FBUCxDQUFoQixHQUE0QkEsTUFBMUM7O0FBRUE7QUFDQTdILFlBQVUsS0FBSzZILE1BQWYsRUFBdUIsRUFBRXVELFVBQVUsVUFBWixFQUF2Qjs7QUFFQTtBQUNBLE9BQUs3USxTQUFMLEdBQWlCNEYsT0FBT0MsSUFBUCxDQUFZd1MsT0FBT0csUUFBUCxDQUFnQnhZLFNBQTVCLEVBQXVDMlcsR0FBdkMsQ0FBMkMsVUFBVXZGLElBQVYsRUFBZ0I7QUFDMUUsV0FBT2hHLFNBQVM7QUFDZGdHLFlBQU1BO0FBRFEsS0FBVCxFQUVKaUgsT0FBT0csUUFBUCxDQUFnQnhZLFNBQWhCLENBQTBCb1IsSUFBMUIsQ0FGSSxDQUFQO0FBR0QsR0FKZ0IsQ0FBakI7O0FBTUE7QUFDQTtBQUNBLE9BQUtwUixTQUFMLEdBQWlCLEtBQUtBLFNBQUwsQ0FBZTJXLEdBQWYsQ0FBbUIsVUFBVStCLGFBQVYsRUFBeUI7QUFDM0QsUUFBSUMsYUFBYXJaLFFBQVFVLFNBQVIsSUFBcUJWLFFBQVFVLFNBQVIsQ0FBa0IwWSxjQUFjdEgsSUFBaEMsQ0FBckIsSUFBOEQsRUFBL0U7QUFDQSxXQUFPaEcsU0FBUyxFQUFULEVBQWFzTixhQUFiLEVBQTRCQyxVQUE1QixDQUFQO0FBQ0QsR0FIZ0IsQ0FBakI7O0FBS0E7QUFDQSxNQUFJclosUUFBUVUsU0FBWixFQUF1QjtBQUNyQixTQUFLVixPQUFMLENBQWFVLFNBQWIsR0FBeUJvTCxTQUFTLEVBQVQsRUFBYWlOLE9BQU9HLFFBQVAsQ0FBZ0J4WSxTQUE3QixFQUF3Q1YsUUFBUVUsU0FBaEQsQ0FBekI7QUFDQTRGLFdBQU9DLElBQVAsQ0FBWXZHLFFBQVFVLFNBQXBCLEVBQStCbUMsT0FBL0IsQ0FBdUMsVUFBVWlQLElBQVYsRUFBZ0I7QUFDckQ7QUFDQSxVQUFJaUgsT0FBT0csUUFBUCxDQUFnQnhZLFNBQWhCLENBQTBCb1IsSUFBMUIsTUFBb0NySSxTQUF4QyxFQUFtRDtBQUNqRCxZQUFJUSxXQUFXakssUUFBUVUsU0FBUixDQUFrQm9SLElBQWxCLENBQWY7QUFDQTdILGlCQUFTNkgsSUFBVCxHQUFnQkEsSUFBaEI7QUFDQWtILGNBQU10WSxTQUFOLENBQWdCdVMsSUFBaEIsQ0FBcUJoSixRQUFyQjtBQUNEO0FBQ0YsS0FQRDtBQVFEOztBQUVEO0FBQ0EsT0FBS3ZKLFNBQUwsR0FBaUIsS0FBS0EsU0FBTCxDQUFlZ08sSUFBZixDQUFvQixVQUFVQyxDQUFWLEVBQWFDLENBQWIsRUFBZ0I7QUFDbkQsV0FBT0QsRUFBRWxHLEtBQUYsR0FBVW1HLEVBQUVuRyxLQUFuQjtBQUNELEdBRmdCLENBQWpCOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBSy9ILFNBQUwsQ0FBZW1DLE9BQWYsQ0FBdUIsVUFBVXNSLGVBQVYsRUFBMkI7QUFDaEQsUUFBSUEsZ0JBQWdCakQsT0FBaEIsSUFBMkJ2SyxXQUFXd04sZ0JBQWdCMEUsTUFBM0IsQ0FBL0IsRUFBbUU7QUFDakUxRSxzQkFBZ0IwRSxNQUFoQixDQUF1QkcsTUFBTXZXLFNBQTdCLEVBQXdDdVcsTUFBTWhMLE1BQTlDLEVBQXNEZ0wsTUFBTWhaLE9BQTVELEVBQXFFbVUsZUFBckUsRUFBc0Y2RSxNQUFNakssS0FBNUY7QUFDRDtBQUNGLEdBSkQ7O0FBTUE7QUFDQSxPQUFLbE4sTUFBTDs7QUFFQSxNQUFJd1IsZ0JBQWdCLEtBQUtyVCxPQUFMLENBQWFxVCxhQUFqQztBQUNBLE1BQUlBLGFBQUosRUFBbUI7QUFDakI7QUFDQSxTQUFLQyxvQkFBTDtBQUNEOztBQUVELE9BQUt2RSxLQUFMLENBQVdzRSxhQUFYLEdBQTJCQSxhQUEzQjtBQUNELENBL0ZEOztBQWlHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkEwRixPQUFPTyxLQUFQLEdBQWUsQ0FBQyxPQUFPNVUsTUFBUCxLQUFrQixXQUFsQixHQUFnQ0EsTUFBaEMsR0FBeUM2VSxNQUExQyxFQUFrREMsV0FBakU7QUFDQVQsT0FBTzNELFVBQVAsR0FBb0JBLFVBQXBCO0FBQ0EyRCxPQUFPRyxRQUFQLEdBQWtCSixRQUFsQjs7QUFFQSx3REFBZUMsTUFBZjtBQUNBLGtDOzs7Ozs7OztBQ3ZuRUE7O0FBRUE7Ozs7Ozs7QUFPQSxTQUFTcFMsVUFBVCxDQUFvQkMsZUFBcEIsRUFBcUM7QUFDbkMsTUFBSUMsVUFBVSxFQUFkO0FBQ0EsU0FBT0QsbUJBQW1CQyxRQUFRckMsUUFBUixDQUFpQnNDLElBQWpCLENBQXNCRixlQUF0QixNQUEyQyxtQkFBckU7QUFDRDs7QUFFRCxJQUFJeUUsaUJBQWlCLFNBQWpCQSxjQUFpQixDQUFVQyxRQUFWLEVBQW9CQyxXQUFwQixFQUFpQztBQUNwRCxNQUFJLEVBQUVELG9CQUFvQkMsV0FBdEIsQ0FBSixFQUF3QztBQUN0QyxVQUFNLElBQUlDLFNBQUosQ0FBYyxtQ0FBZCxDQUFOO0FBQ0Q7QUFDRixDQUpEOztBQU1BLElBQUlpTyxjQUFjLFlBQVk7QUFDNUIsV0FBU0MsZ0JBQVQsQ0FBMEIxTixNQUExQixFQUFrQzJOLEtBQWxDLEVBQXlDO0FBQ3ZDLFNBQUssSUFBSTlVLElBQUksQ0FBYixFQUFnQkEsSUFBSThVLE1BQU03VSxNQUExQixFQUFrQ0QsR0FBbEMsRUFBdUM7QUFDckMsVUFBSStVLGFBQWFELE1BQU05VSxDQUFOLENBQWpCO0FBQ0ErVSxpQkFBV2pPLFVBQVgsR0FBd0JpTyxXQUFXak8sVUFBWCxJQUF5QixLQUFqRDtBQUNBaU8saUJBQVdoTyxZQUFYLEdBQTBCLElBQTFCO0FBQ0EsVUFBSSxXQUFXZ08sVUFBZixFQUEyQkEsV0FBVy9OLFFBQVgsR0FBc0IsSUFBdEI7QUFDM0J2RixhQUFPbUYsY0FBUCxDQUFzQk8sTUFBdEIsRUFBOEI0TixXQUFXNVgsR0FBekMsRUFBOEM0WCxVQUE5QztBQUNEO0FBQ0Y7O0FBRUQsU0FBTyxVQUFVck8sV0FBVixFQUF1QnNPLFVBQXZCLEVBQW1DQyxXQUFuQyxFQUFnRDtBQUNyRCxRQUFJRCxVQUFKLEVBQWdCSCxpQkFBaUJuTyxZQUFZVyxTQUE3QixFQUF3QzJOLFVBQXhDO0FBQ2hCLFFBQUlDLFdBQUosRUFBaUJKLGlCQUFpQm5PLFdBQWpCLEVBQThCdU8sV0FBOUI7QUFDakIsV0FBT3ZPLFdBQVA7QUFDRCxHQUpEO0FBS0QsQ0FoQmlCLEVBQWxCOztBQXdCQSxJQUFJTyxXQUFXeEYsT0FBT3lGLE1BQVAsSUFBaUIsVUFBVUMsTUFBVixFQUFrQjtBQUNoRCxPQUFLLElBQUluSCxJQUFJLENBQWIsRUFBZ0JBLElBQUkyRSxVQUFVMUUsTUFBOUIsRUFBc0NELEdBQXRDLEVBQTJDO0FBQ3pDLFFBQUlvSCxTQUFTekMsVUFBVTNFLENBQVYsQ0FBYjs7QUFFQSxTQUFLLElBQUk3QyxHQUFULElBQWdCaUssTUFBaEIsRUFBd0I7QUFDdEIsVUFBSTNGLE9BQU80RixTQUFQLENBQWlCQyxjQUFqQixDQUFnQ3JGLElBQWhDLENBQXFDbUYsTUFBckMsRUFBNkNqSyxHQUE3QyxDQUFKLEVBQXVEO0FBQ3JEZ0ssZUFBT2hLLEdBQVAsSUFBY2lLLE9BQU9qSyxHQUFQLENBQWQ7QUFDRDtBQUNGO0FBQ0Y7O0FBRUQsU0FBT2dLLE1BQVA7QUFDRCxDQVpEOztBQWNBLElBQUkrTixrQkFBa0I7QUFDcEJ4WixhQUFXLEtBRFM7QUFFcEJKLFNBQU8sQ0FGYTtBQUdwQm1ELFFBQU0sS0FIYztBQUlwQnJELGFBQVcsS0FKUztBQUtwQnVCLFNBQU8sRUFMYTtBQU1wQnBCLFlBQVUsOEdBTlU7QUFPcEJDLFdBQVMsYUFQVztBQVFwQkMsVUFBUTtBQVJZLENBQXRCOztBQVdBLElBQUkwWixVQUFVLFlBQVk7QUFDeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ0EsV0FBU0EsT0FBVCxDQUFpQnZYLFNBQWpCLEVBQTRCekMsT0FBNUIsRUFBcUM7QUFDbkNxTCxtQkFBZSxJQUFmLEVBQXFCMk8sT0FBckI7O0FBRUFDLHFCQUFpQm5ULElBQWpCLENBQXNCLElBQXRCOztBQUVBO0FBQ0E5RyxjQUFVOEwsU0FBUyxFQUFULEVBQWFpTyxlQUFiLEVBQThCL1osT0FBOUIsQ0FBVjs7QUFFQXlDLGNBQVUwVyxNQUFWLEtBQXFCMVcsWUFBWUEsVUFBVSxDQUFWLENBQWpDOztBQUVBO0FBQ0EsU0FBS0EsU0FBTCxHQUFpQkEsU0FBakI7QUFDQSxTQUFLekMsT0FBTCxHQUFlQSxPQUFmOztBQUVBO0FBQ0EsUUFBSW9DLFNBQVMsT0FBT3BDLFFBQVFLLE9BQWYsS0FBMkIsUUFBM0IsR0FBc0NMLFFBQVFLLE9BQVIsQ0FBZ0JnQyxLQUFoQixDQUFzQixHQUF0QixFQUEyQkMsTUFBM0IsQ0FBa0MsVUFBVWpDLE9BQVYsRUFBbUI7QUFDdEcsYUFBTyxDQUFDLE9BQUQsRUFBVSxPQUFWLEVBQW1CLE9BQW5CLEVBQTRCa0MsT0FBNUIsQ0FBb0NsQyxPQUFwQyxNQUFpRCxDQUFDLENBQXpEO0FBQ0QsS0FGa0QsQ0FBdEMsR0FFUixFQUZMOztBQUlBO0FBQ0EsU0FBSzZCLE9BQUwsR0FBZSxLQUFmOztBQUVBO0FBQ0EsU0FBS00sa0JBQUwsQ0FBd0JDLFNBQXhCLEVBQW1DTCxNQUFuQyxFQUEyQ3BDLE9BQTNDO0FBQ0Q7O0FBRUQ7QUFDQTtBQUNBOztBQUVBOzs7Ozs7QUFPQTs7Ozs7QUFNQTs7Ozs7QUFNQTs7Ozs7QUFNQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQXlaLGNBQVlPLE9BQVosRUFBcUIsQ0FBQztBQUNwQmhZLFNBQUssU0FEZTs7QUFJcEI7Ozs7Ozs7Ozs7QUFVQXZCLFdBQU8sU0FBU3laLE9BQVQsQ0FBaUJ6WCxTQUFqQixFQUE0QnJDLFFBQTVCLEVBQXNDb0IsS0FBdEMsRUFBNkMyWSxTQUE3QyxFQUF3RDtBQUM3RDtBQUNBLFVBQUlDLG1CQUFtQjFWLE9BQU9VLFFBQVAsQ0FBZ0JDLGFBQWhCLENBQThCLEtBQTlCLENBQXZCO0FBQ0ErVSx1QkFBaUJ6WSxTQUFqQixHQUE2QnZCLFFBQTdCO0FBQ0EsVUFBSWlhLGNBQWNELGlCQUFpQkUsVUFBakIsQ0FBNEIsQ0FBNUIsQ0FBbEI7O0FBRUE7QUFDQUQsa0JBQVlFLEVBQVosR0FBaUIsYUFBYTNQLEtBQUs0UCxNQUFMLEdBQWNoVyxRQUFkLENBQXVCLEVBQXZCLEVBQTJCaVcsTUFBM0IsQ0FBa0MsQ0FBbEMsRUFBcUMsRUFBckMsQ0FBOUI7O0FBRUE7QUFDQUosa0JBQVkzVSxZQUFaLENBQXlCLGFBQXpCLEVBQXdDLE9BQXhDOztBQUVBO0FBQ0EsVUFBSWdWLFlBQVlOLGlCQUFpQjNZLGFBQWpCLENBQStCLEtBQUtDLGFBQXBDLENBQWhCO0FBQ0EsVUFBSUYsTUFBTXlGLFFBQU4sS0FBbUIsQ0FBdkIsRUFBMEI7QUFDeEI7QUFDQWtULHFCQUFhTyxVQUFVQyxXQUFWLENBQXNCblosS0FBdEIsQ0FBYjtBQUNELE9BSEQsTUFHTyxJQUFJbUYsV0FBV25GLEtBQVgsQ0FBSixFQUF1QjtBQUM1QjtBQUNBLFlBQUlvWixZQUFZcFosTUFBTXNGLElBQU4sQ0FBV3JFLFNBQVgsQ0FBaEI7QUFDQTBYLG9CQUFZTyxVQUFVL1ksU0FBVixHQUFzQmlaLFNBQWxDLEdBQThDRixVQUFVRyxTQUFWLEdBQXNCRCxTQUFwRTtBQUNELE9BSk0sTUFJQTtBQUNMO0FBQ0FULG9CQUFZTyxVQUFVL1ksU0FBVixHQUFzQkgsS0FBbEMsR0FBMENrWixVQUFVRyxTQUFWLEdBQXNCclosS0FBaEU7QUFDRDs7QUFFRDtBQUNBLGFBQU82WSxXQUFQO0FBQ0Q7QUExQ21CLEdBQUQsRUEyQ2xCO0FBQ0RyWSxTQUFLLE9BREo7QUFFRHZCLFdBQU8sU0FBU3FhLEtBQVQsQ0FBZXJZLFNBQWYsRUFBMEJ6QyxPQUExQixFQUFtQztBQUN4QztBQUNBLFVBQUksS0FBS2tDLE9BQVQsRUFBa0I7QUFDaEIsZUFBTyxJQUFQO0FBQ0Q7QUFDRCxXQUFLQSxPQUFMLEdBQWUsSUFBZjs7QUFFQTtBQUNBLFVBQUksS0FBS25CLFlBQVQsRUFBdUI7QUFDckIsYUFBS0EsWUFBTCxDQUFrQjJGLEtBQWxCLENBQXdCcVUsT0FBeEIsR0FBa0MsRUFBbEM7QUFDQSxhQUFLaGEsWUFBTCxDQUFrQjJFLFlBQWxCLENBQStCLGFBQS9CLEVBQThDLE9BQTlDO0FBQ0EsYUFBSzlELGNBQUwsQ0FBb0JDLE1BQXBCO0FBQ0EsZUFBTyxJQUFQO0FBQ0Q7O0FBRUQ7QUFDQSxVQUFJTCxRQUFRaUIsVUFBVXVZLFlBQVYsQ0FBdUIsT0FBdkIsS0FBbUNoYixRQUFRd0IsS0FBdkQ7O0FBRUE7QUFDQSxVQUFJLENBQUNBLEtBQUwsRUFBWTtBQUNWLGVBQU8sSUFBUDtBQUNEOztBQUVEO0FBQ0EsVUFBSTZZLGNBQWMsS0FBS0gsT0FBTCxDQUFhelgsU0FBYixFQUF3QnpDLFFBQVFJLFFBQWhDLEVBQTBDb0IsS0FBMUMsRUFBaUR4QixRQUFRc0QsSUFBekQsQ0FBbEI7O0FBRUE7QUFDQStXLGtCQUFZM1UsWUFBWixDQUF5QixrQkFBekIsRUFBNkMyVSxZQUFZRSxFQUF6RDs7QUFFQTtBQUNBLFVBQUloYSxZQUFZLEtBQUswYSxjQUFMLENBQW9CamIsUUFBUU8sU0FBNUIsRUFBdUNrQyxTQUF2QyxDQUFoQjs7QUFFQSxXQUFLeVksT0FBTCxDQUFhYixXQUFiLEVBQTBCOVosU0FBMUI7O0FBRUEsVUFBSTRhLGdCQUFnQjtBQUNsQmxiLG1CQUFXRCxRQUFRQyxTQUREO0FBRWxCZ1Usc0JBQWMsS0FBS21IO0FBRkQsT0FBcEI7O0FBS0EsVUFBSXBiLFFBQVFrTyxpQkFBWixFQUErQjtBQUM3QmlOLHNCQUFjak4saUJBQWQsR0FBa0NsTyxRQUFRa08saUJBQTFDO0FBQ0Q7O0FBRUQsV0FBS3RNLGNBQUwsR0FBc0IsSUFBSSwwREFBSixDQUFXYSxTQUFYLEVBQXNCNFgsV0FBdEIsRUFBbUNjLGFBQW5DLENBQXRCOztBQUVBLFdBQUtwYSxZQUFMLEdBQW9Cc1osV0FBcEI7O0FBRUEsYUFBTyxJQUFQO0FBQ0Q7QUFsREEsR0EzQ2tCLEVBOEZsQjtBQUNEclksU0FBSyxPQURKO0FBRUR2QixXQUFPLFNBQVM0YSxLQUFULEdBQWlCLHNCQUFzQjtBQUM1QztBQUNBLFVBQUksQ0FBQyxLQUFLblosT0FBVixFQUFtQjtBQUNqQixlQUFPLElBQVA7QUFDRDs7QUFFRCxXQUFLQSxPQUFMLEdBQWUsS0FBZjs7QUFFQTtBQUNBLFdBQUtuQixZQUFMLENBQWtCMkYsS0FBbEIsQ0FBd0JxVSxPQUF4QixHQUFrQyxNQUFsQztBQUNBLFdBQUtoYSxZQUFMLENBQWtCMkUsWUFBbEIsQ0FBK0IsYUFBL0IsRUFBOEMsTUFBOUM7O0FBRUEsYUFBTyxJQUFQO0FBQ0Q7QUFmQSxHQTlGa0IsRUE4R2xCO0FBQ0QxRCxTQUFLLFVBREo7QUFFRHZCLFdBQU8sU0FBUzZhLFFBQVQsR0FBb0I7QUFDekIsVUFBSXRDLFFBQVEsSUFBWjs7QUFFQSxVQUFJLEtBQUtqWSxZQUFULEVBQXVCO0FBQ3JCLGFBQUtzYSxLQUFMOztBQUVBO0FBQ0EsYUFBS3paLGNBQUwsQ0FBb0IwUSxPQUFwQjs7QUFFQTtBQUNBLGFBQUsxUCxPQUFMLENBQWFDLE9BQWIsQ0FBcUIsVUFBVWdQLElBQVYsRUFBZ0I7QUFDbkMsY0FBSS9PLE9BQU8rTyxLQUFLL08sSUFBaEI7QUFBQSxjQUNJQyxRQUFROE8sS0FBSzlPLEtBRGpCOztBQUdBaVcsZ0JBQU1qWSxZQUFOLENBQW1CaUMsbUJBQW5CLENBQXVDRCxLQUF2QyxFQUE4Q0QsSUFBOUM7QUFDRCxTQUxEO0FBTUEsYUFBS0YsT0FBTCxHQUFlLEVBQWY7O0FBRUE7QUFDQSxhQUFLN0IsWUFBTCxDQUFrQnVHLFVBQWxCLENBQTZCb0wsV0FBN0IsQ0FBeUMsS0FBSzNSLFlBQTlDO0FBQ0EsYUFBS0EsWUFBTCxHQUFvQixJQUFwQjtBQUNEO0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7QUF6QkEsR0E5R2tCLEVBd0lsQjtBQUNEaUIsU0FBSyxnQkFESjtBQUVEdkIsV0FBTyxTQUFTd2EsY0FBVCxDQUF3QjFhLFNBQXhCLEVBQW1Da0MsU0FBbkMsRUFBOEM7QUFDbkQ7QUFDQSxVQUFJLE9BQU9sQyxTQUFQLEtBQXFCLFFBQXpCLEVBQW1DO0FBQ2pDQSxvQkFBWW1FLE9BQU9VLFFBQVAsQ0FBZ0IzRCxhQUFoQixDQUE4QmxCLFNBQTlCLENBQVo7QUFDRCxPQUZELE1BRU8sSUFBSUEsY0FBYyxLQUFsQixFQUF5QjtBQUM5QjtBQUNBQSxvQkFBWWtDLFVBQVU2RSxVQUF0QjtBQUNEO0FBQ0QsYUFBTy9HLFNBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7QUFiQyxHQXhJa0IsRUE2SmxCO0FBQ0R5QixTQUFLLFNBREo7QUFFRHZCLFdBQU8sU0FBU3lhLE9BQVQsQ0FBaUJiLFdBQWpCLEVBQThCOVosU0FBOUIsRUFBeUM7QUFDOUNBLGdCQUFVb2EsV0FBVixDQUFzQk4sV0FBdEI7QUFDRDtBQUpBLEdBN0prQixFQWtLbEI7QUFDRHJZLFNBQUssb0JBREo7QUFFRHZCLFdBQU8sU0FBUytCLGtCQUFULENBQTRCQyxTQUE1QixFQUF1Q0wsTUFBdkMsRUFBK0NwQyxPQUEvQyxFQUF3RDtBQUM3RCxVQUFJdWIsU0FBUyxJQUFiOztBQUVBLFVBQUlDLGVBQWUsRUFBbkI7QUFDQSxVQUFJQyxpQkFBaUIsRUFBckI7O0FBRUFyWixhQUFPUyxPQUFQLENBQWUsVUFBVUUsS0FBVixFQUFpQjtBQUM5QixnQkFBUUEsS0FBUjtBQUNFLGVBQUssT0FBTDtBQUNFeVkseUJBQWF2SSxJQUFiLENBQWtCLFlBQWxCO0FBQ0F3SSwyQkFBZXhJLElBQWYsQ0FBb0IsWUFBcEI7QUFDRixlQUFLLE9BQUw7QUFDRXVJLHlCQUFhdkksSUFBYixDQUFrQixPQUFsQjtBQUNBd0ksMkJBQWV4SSxJQUFmLENBQW9CLE1BQXBCO0FBQ0YsZUFBSyxPQUFMO0FBQ0V1SSx5QkFBYXZJLElBQWIsQ0FBa0IsT0FBbEI7QUFDQXdJLDJCQUFleEksSUFBZixDQUFvQixPQUFwQjtBQVRKO0FBV0QsT0FaRDs7QUFjQTtBQUNBdUksbUJBQWEzWSxPQUFiLENBQXFCLFVBQVVFLEtBQVYsRUFBaUI7QUFDcEMsWUFBSUQsT0FBTyxTQUFTQSxJQUFULENBQWM0WSxHQUFkLEVBQW1CO0FBQzVCLGNBQUlILE9BQU9yWixPQUFQLEtBQW1CLElBQXZCLEVBQTZCO0FBQzNCO0FBQ0Q7QUFDRHdaLGNBQUlDLGFBQUosR0FBb0IsSUFBcEI7QUFDQUosaUJBQU9LLGFBQVAsQ0FBcUJuWixTQUFyQixFQUFnQ3pDLFFBQVFHLEtBQXhDLEVBQStDSCxPQUEvQyxFQUF3RDBiLEdBQXhEO0FBQ0QsU0FORDtBQU9BSCxlQUFPM1ksT0FBUCxDQUFlcVEsSUFBZixDQUFvQixFQUFFbFEsT0FBT0EsS0FBVCxFQUFnQkQsTUFBTUEsSUFBdEIsRUFBcEI7QUFDQUwsa0JBQVVzUSxnQkFBVixDQUEyQmhRLEtBQTNCLEVBQWtDRCxJQUFsQztBQUNELE9BVkQ7O0FBWUE7QUFDQTJZLHFCQUFlNVksT0FBZixDQUF1QixVQUFVRSxLQUFWLEVBQWlCO0FBQ3RDLFlBQUlELE9BQU8sU0FBU0EsSUFBVCxDQUFjNFksR0FBZCxFQUFtQjtBQUM1QixjQUFJQSxJQUFJQyxhQUFKLEtBQXNCLElBQTFCLEVBQWdDO0FBQzlCO0FBQ0Q7QUFDREosaUJBQU9NLGFBQVAsQ0FBcUJwWixTQUFyQixFQUFnQ3pDLFFBQVFHLEtBQXhDLEVBQStDSCxPQUEvQyxFQUF3RDBiLEdBQXhEO0FBQ0QsU0FMRDtBQU1BSCxlQUFPM1ksT0FBUCxDQUFlcVEsSUFBZixDQUFvQixFQUFFbFEsT0FBT0EsS0FBVCxFQUFnQkQsTUFBTUEsSUFBdEIsRUFBcEI7QUFDQUwsa0JBQVVzUSxnQkFBVixDQUEyQmhRLEtBQTNCLEVBQWtDRCxJQUFsQztBQUNELE9BVEQ7QUFVRDtBQTlDQSxHQWxLa0IsRUFpTmxCO0FBQ0RkLFNBQUssZUFESjtBQUVEdkIsV0FBTyxTQUFTbWIsYUFBVCxDQUF1Qm5aLFNBQXZCLEVBQWtDdEMsS0FBbEMsRUFBeUNILE9BQXpDLENBQWlELFVBQWpELEVBQTZEO0FBQ2xFLFVBQUk4YixTQUFTLElBQWI7O0FBRUE7QUFDQSxVQUFJQyxnQkFBZ0I1YixTQUFTQSxNQUFNd0MsSUFBZixJQUF1QnhDLEtBQXZCLElBQWdDLENBQXBEO0FBQ0F1RSxhQUFPeEIsVUFBUCxDQUFrQixZQUFZO0FBQzVCLGVBQU80WSxPQUFPaEIsS0FBUCxDQUFhclksU0FBYixFQUF3QnpDLE9BQXhCLENBQVA7QUFDRCxPQUZELEVBRUcrYixhQUZIO0FBR0Q7QUFWQSxHQWpOa0IsRUE0TmxCO0FBQ0QvWixTQUFLLGVBREo7QUFFRHZCLFdBQU8sU0FBU29iLGFBQVQsQ0FBdUJwWixTQUF2QixFQUFrQ3RDLEtBQWxDLEVBQXlDSCxPQUF6QyxFQUFrRDBiLEdBQWxELEVBQXVEO0FBQzVELFVBQUlNLFNBQVMsSUFBYjs7QUFFQTtBQUNBLFVBQUlELGdCQUFnQjViLFNBQVNBLE1BQU1zWSxJQUFmLElBQXVCdFksS0FBdkIsSUFBZ0MsQ0FBcEQ7QUFDQXVFLGFBQU94QixVQUFQLENBQWtCLFlBQVk7QUFDNUIsWUFBSThZLE9BQU85WixPQUFQLEtBQW1CLEtBQXZCLEVBQThCO0FBQzVCO0FBQ0Q7QUFDRCxZQUFJLENBQUNrRCxTQUFTcUMsSUFBVCxDQUFjMkIsUUFBZCxDQUF1QjRTLE9BQU9qYixZQUE5QixDQUFMLEVBQWtEO0FBQ2hEO0FBQ0Q7O0FBRUQ7QUFDQTtBQUNBLFlBQUkyYSxJQUFJTyxJQUFKLEtBQWEsWUFBakIsRUFBK0I7QUFDN0IsY0FBSUMsUUFBUUYsT0FBT0csb0JBQVAsQ0FBNEJULEdBQTVCLEVBQWlDalosU0FBakMsRUFBNEN0QyxLQUE1QyxFQUFtREgsT0FBbkQsQ0FBWjs7QUFFQTtBQUNBO0FBQ0EsY0FBSWtjLEtBQUosRUFBVztBQUNUO0FBQ0Q7QUFDRjs7QUFFREYsZUFBT1gsS0FBUCxDQUFhNVksU0FBYixFQUF3QnpDLE9BQXhCO0FBQ0QsT0FyQkQsRUFxQkcrYixhQXJCSDtBQXNCRDtBQTdCQSxHQTVOa0IsQ0FBckI7QUEyUEEsU0FBTy9CLE9BQVA7QUFDRCxDQS9WYSxFQUFkOztBQWlXQTs7Ozs7Ozs7O0FBU0E7Ozs7Ozs7QUFRQSxJQUFJQyxtQkFBbUIsU0FBU0EsZ0JBQVQsR0FBNEI7QUFDakQsTUFBSW1DLFNBQVMsSUFBYjs7QUFFQSxPQUFLelosSUFBTCxHQUFZLFlBQVk7QUFDdEIsV0FBT3laLE9BQU90QixLQUFQLENBQWFzQixPQUFPM1osU0FBcEIsRUFBK0IyWixPQUFPcGMsT0FBdEMsQ0FBUDtBQUNELEdBRkQ7O0FBSUEsT0FBS3lZLElBQUwsR0FBWSxZQUFZO0FBQ3RCLFdBQU8yRCxPQUFPZixLQUFQLEVBQVA7QUFDRCxHQUZEOztBQUlBLE9BQUtsWixPQUFMLEdBQWUsWUFBWTtBQUN6QixXQUFPaWEsT0FBT2QsUUFBUCxFQUFQO0FBQ0QsR0FGRDs7QUFJQSxPQUFLZSxNQUFMLEdBQWMsWUFBWTtBQUN4QixRQUFJRCxPQUFPbGEsT0FBWCxFQUFvQjtBQUNsQixhQUFPa2EsT0FBTzNELElBQVAsRUFBUDtBQUNELEtBRkQsTUFFTztBQUNMLGFBQU8yRCxPQUFPelosSUFBUCxFQUFQO0FBQ0Q7QUFDRixHQU5EOztBQVFBLE9BQUt5WSxhQUFMLEdBQXFCLGlDQUFyQjtBQUNBLE9BQUsxWixhQUFMLEdBQXFCLGlDQUFyQjtBQUNBLE9BQUtrQixPQUFMLEdBQWUsRUFBZjs7QUFFQSxPQUFLdVosb0JBQUwsR0FBNEIsVUFBVVQsR0FBVixFQUFlalosU0FBZixFQUEwQnRDLEtBQTFCLEVBQWlDSCxPQUFqQyxFQUEwQztBQUNwRSxRQUFJc2MsbUJBQW1CWixJQUFJWSxnQkFBSixJQUF3QlosSUFBSWEsU0FBbkQ7O0FBRUEsUUFBSTNKLFdBQVcsU0FBU0EsUUFBVCxDQUFrQjRKLElBQWxCLEVBQXdCO0FBQ3JDLFVBQUlDLG9CQUFvQkQsS0FBS0YsZ0JBQUwsSUFBeUJFLEtBQUtELFNBQXREOztBQUVBO0FBQ0FILGFBQU9yYixZQUFQLENBQW9CaUMsbUJBQXBCLENBQXdDMFksSUFBSU8sSUFBNUMsRUFBa0RySixRQUFsRDs7QUFFQTtBQUNBLFVBQUksQ0FBQ25RLFVBQVUyRyxRQUFWLENBQW1CcVQsaUJBQW5CLENBQUwsRUFBNEM7QUFDMUM7QUFDQUwsZUFBT1AsYUFBUCxDQUFxQnBaLFNBQXJCLEVBQWdDekMsUUFBUUcsS0FBeEMsRUFBK0NILE9BQS9DLEVBQXdEd2MsSUFBeEQ7QUFDRDtBQUNGLEtBWEQ7O0FBYUEsUUFBSUosT0FBT3JiLFlBQVAsQ0FBb0JxSSxRQUFwQixDQUE2QmtULGdCQUE3QixDQUFKLEVBQW9EO0FBQ2xEO0FBQ0FGLGFBQU9yYixZQUFQLENBQW9CZ1MsZ0JBQXBCLENBQXFDMkksSUFBSU8sSUFBekMsRUFBK0NySixRQUEvQztBQUNBLGFBQU8sSUFBUDtBQUNEOztBQUVELFdBQU8sS0FBUDtBQUNELEdBdkJEO0FBd0JELENBbkREOztBQXFEQSx3REFBZW9ILE9BQWY7QUFDQSxtQzs7Ozs7Ozs7Ozs7QUM3ZUE7O0FBRU8sU0FBUzBDLE9BQVQsQ0FBa0JDLEdBQWxCLEVBQXVCM2MsT0FBdkIsRUFBZ0M7QUFDckMsTUFBSTBjLFFBQVFFLFNBQVosRUFBdUI7QUFDdkJGLFVBQVFFLFNBQVIsR0FBb0IsSUFBcEI7O0FBRUE1YyxZQUFVc0csT0FBT3lGLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLGtFQUFsQixFQUFrQy9MLFdBQVcsRUFBN0MsQ0FBVjtBQUNBNmMsRUFBQSwyREFBQUEsQ0FBUzdjLE9BQVQsR0FBbUJBLE9BQW5CO0FBQ0EyYyxNQUFJemMsU0FBSixDQUFjLFNBQWQsRUFBeUIsMkRBQXpCO0FBQ0Q7O0FBRU0sSUFBTTRjLFdBQVcsMkRBQWpCOztBQUVQLElBQU1DLFNBQVM7QUFDYkw7QUFEYSxDQUFmOztBQUlBO0FBQ0EsSUFBSU0sWUFBWSxJQUFoQjtBQUNBLElBQUksT0FBT3RZLE1BQVAsS0FBa0IsV0FBdEIsRUFBbUM7QUFDakNzWSxjQUFZdFksT0FBT2lZLEdBQW5CO0FBQ0QsQ0FGRCxNQUVPLElBQUksT0FBT3BELE1BQVAsS0FBa0IsV0FBdEIsRUFBbUM7QUFDeEN5RCxjQUFZekQsT0FBT29ELEdBQW5CO0FBQ0Q7QUFDRCxJQUFJSyxTQUFKLEVBQWU7QUFDYkEsWUFBVUMsR0FBVixDQUFjRixNQUFkO0FBQ0Q7O0FBRUQsOERBQWVBLE1BQWYsQyIsImZpbGUiOiJ2LXRvb2x0aXAuY29tbW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gNCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgMjk4OWMwOWU5Nzc4NGIyNWYzMGMiLCJpbXBvcnQgVG9vbHRpcCBmcm9tICd0b29sdGlwLmpzJ1xyXG5cclxuaW1wb3J0IHsgYWRkQ2xhc3NlcywgcmVtb3ZlQ2xhc3NlcywgcmVwbGFjZUNsYXNzZXMgfSBmcm9tICcuL3V0aWxzJ1xyXG5cclxuY29uc3QgcG9zaXRpb25zID0gW1xyXG4gICd0b3AnLFxyXG4gICd0b3Atc3RhcnQnLFxyXG4gICd0b3AtZW5kJyxcclxuICAncmlnaHQnLFxyXG4gICdyaWdodC1zdGFydCcsXHJcbiAgJ3JpZ2h0LWVuZCcsXHJcbiAgJ2JvdHRvbScsXHJcbiAgJ2JvdHRvbS1zdGFydCcsXHJcbiAgJ2JvdHRvbS1lbmQnLFxyXG4gICdsZWZ0JyxcclxuICAnbGVmdC1zdGFydCcsXHJcbiAgJ2xlZnQtZW5kJyxcclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xyXG4gIGRlZmF1bHRQbGFjZW1lbnQ6ICd0b3AnLFxyXG4gIGRlZmF1bHRDbGFzczogJ3Z1ZS10b29sdGlwLXRoZW1lJyxcclxuICBkZWZhdWx0VGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwidG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCI+PGRpdiBjbGFzcz1cInRvb2x0aXAtYXJyb3dcIj48L2Rpdj48ZGl2IGNsYXNzPVwidG9vbHRpcC1pbm5lclwiPjwvZGl2PjwvZGl2PicsXHJcbiAgZGVmYXVsdERlbGF5OiAwLFxyXG4gIGRlZmF1bHRUcmlnZ2VyOiAnaG92ZXIgZm9jdXMnLFxyXG4gIGRlZmF1bHRPZmZzZXQ6IDAsXHJcbiAgZGVmYXVsdENvbnRhaW5lcjogJ2JvZHknLFxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRPcHRpb25zIChvcHRpb25zKSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHBsYWNlbWVudDogb3B0aW9ucy5wbGFjZW1lbnQgfHwgZGlyZWN0aXZlLm9wdGlvbnMuZGVmYXVsdFBsYWNlbWVudCxcclxuICAgIGRlbGF5OiBvcHRpb25zLmRlbGF5IHx8IGRpcmVjdGl2ZS5vcHRpb25zLmRlZmF1bHREZWxheSxcclxuICAgIHRlbXBsYXRlOiBvcHRpb25zLnRlbXBsYXRlIHx8IGRpcmVjdGl2ZS5vcHRpb25zLmRlZmF1bHRUZW1wbGF0ZSxcclxuICAgIHRyaWdnZXI6IG9wdGlvbnMudHJpZ2dlciB8fCBkaXJlY3RpdmUub3B0aW9ucy5kZWZhdWx0VHJpZ2dlcixcclxuICAgIG9mZnNldDogb3B0aW9ucy5vZmZzZXQgfHwgZGlyZWN0aXZlLm9wdGlvbnMuZGVmYXVsdE9mZnNldCxcclxuICAgIGNvbnRhaW5lcjogb3B0aW9ucy5jb250YWluZXIgfHwgZGlyZWN0aXZlLm9wdGlvbnMuZGVmYXVsdENvbnRhaW5lcixcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFBsYWNlbWVudCAodmFsdWUsIG1vZGlmaWVycykge1xyXG4gIGxldCBwbGFjZW1lbnQgPSB2YWx1ZS5wbGFjZW1lbnRcclxuICBmb3IgKGNvbnN0IHBvcyBvZiBwb3NpdGlvbnMpIHtcclxuICAgIGlmIChtb2RpZmllcnNbcG9zXSkge1xyXG4gICAgICBwbGFjZW1lbnQgPSBwb3NcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHBsYWNlbWVudFxyXG59XHJcblxyXG5jbGFzcyBTdXBlclRvb2x0aXAgZXh0ZW5kcyBUb29sdGlwIHtcclxuICBzZXRDbGFzc2VzIChjbGFzc2VzKSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuX3Rvb2x0aXBOb2RlXHJcblxyXG4gICAgaWYgKGVsKSB7XHJcbiAgICAgIGNvbnN0IG9sZENsYXNzZXMgPSB0aGlzLl9vbGRDbGFzc2VzXHJcbiAgICAgIGlmIChjbGFzc2VzKSB7XHJcbiAgICAgICAgaWYgKG9sZENsYXNzZXMpIHtcclxuICAgICAgICAgIHJlcGxhY2VDbGFzc2VzKGVsLCBjbGFzc2VzLCBvbGRDbGFzc2VzKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhZGRDbGFzc2VzKGVsLCBjbGFzc2VzKVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChvbGRDbGFzc2VzKSB7XHJcbiAgICAgICAgcmVtb3ZlQ2xhc3NlcyhlbCwgb2xkQ2xhc3NlcylcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9vbGRDbGFzc2VzID0gY2xhc3Nlc1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fcGVuZGluZ0NsYXNzZXMgPSBjbGFzc2VzXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fY2xhc3NlcyA9IGNsYXNzZXNcclxuICB9XHJcblxyXG4gIHNldENvbnRlbnQgKGNvbnRlbnQpIHtcclxuICAgIHRoaXMub3B0aW9ucy50aXRsZSA9IGNvbnRlbnRcclxuICAgIGlmICh0aGlzLl90b29sdGlwTm9kZSkge1xyXG4gICAgICBjb25zdCBlbCA9IHRoaXMuX3Rvb2x0aXBOb2RlLnF1ZXJ5U2VsZWN0b3IodGhpcy5pbm5lclNlbGVjdG9yKVxyXG5cclxuICAgICAgaWYgKGVsKSB7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSB7XHJcbiAgICAgICAgICBlbC5pbm5lckhUTUwgPSAnJ1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBlbC5pbm5lckhUTUwgPSBjb250ZW50XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnBvcHBlckluc3RhbmNlLnVwZGF0ZSgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldE9wdGlvbnMgKG9wdGlvbnMpIHtcclxuICAgIG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbnMpXHJcblxyXG4gICAgbGV0IG5lZWRQb3BwZXJVcGRhdGUgPSBmYWxzZVxyXG4gICAgbGV0IG5lZWRSZXN0YXJ0ID0gZmFsc2VcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMub3B0aW9ucy5vZmZzZXQgIT09IG9wdGlvbnMub2Zmc2V0IHx8XHJcbiAgICAgIHRoaXMub3B0aW9ucy5wbGFjZW1lbnQgIT09IG9wdGlvbnMucGxhY2VtZW50XHJcbiAgICApIHtcclxuICAgICAgbmVlZFBvcHBlclVwZGF0ZSA9IHRydWVcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMub3B0aW9ucy50ZW1wbGF0ZSAhPT0gb3B0aW9ucy50ZW1wbGF0ZSB8fFxyXG4gICAgICB0aGlzLm9wdGlvbnMudHJpZ2dlciAhPT0gb3B0aW9ucy50cmlnZ2VyIHx8XHJcbiAgICAgIHRoaXMub3B0aW9ucy5jb250YWluZXIgIT09IG9wdGlvbnMuY29udGFpbmVyXHJcbiAgICApIHtcclxuICAgICAgbmVlZFJlc3RhcnQgPSB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucykge1xyXG4gICAgICB0aGlzLm9wdGlvbnNba2V5XSA9IG9wdGlvbnNba2V5XVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl90b29sdGlwTm9kZSkge1xyXG4gICAgICBpZiAobmVlZFJlc3RhcnQpIHtcclxuICAgICAgICBjb25zdCBpc09wZW4gPSB0aGlzLl9pc09wZW5cclxuXHJcbiAgICAgICAgdGhpcy5kaXNwb3NlKClcclxuXHJcbiAgICAgICAgY29uc3QgZXZlbnRzID0gdHlwZW9mIHRoaXMub3B0aW9ucy50cmlnZ2VyID09PSAnc3RyaW5nJ1xyXG4gICAgICAgICAgPyBvcHRpb25zLnRyaWdnZXJcclxuICAgICAgICAgICAgLnNwbGl0KCcgJylcclxuICAgICAgICAgICAgLmZpbHRlcihcclxuICAgICAgICAgICAgICB0cmlnZ2VyID0+IFsnY2xpY2snLCAnaG92ZXInLCAnZm9jdXMnXS5pbmRleE9mKHRyaWdnZXIpICE9PSAtMVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICA6IFtdXHJcbiAgICAgICAgdGhpcy5fc2V0RXZlbnRMaXN0ZW5lcnModGhpcy5yZWZlcmVuY2UsIGV2ZW50cywgdGhpcy5vcHRpb25zKVxyXG5cclxuICAgICAgICB0aGlzLnNldENsYXNzZXModGhpcy5fY2xhc3NlcylcclxuXHJcbiAgICAgICAgaWYgKGlzT3Blbikge1xyXG4gICAgICAgICAgdGhpcy5zaG93KClcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAobmVlZFBvcHBlclVwZGF0ZSkge1xyXG4gICAgICAgIHRoaXMucG9wcGVySW5zdGFuY2UudXBkYXRlKClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2Rpc3Bvc2UgKCkge1xyXG4gICAgdGhpcy5fZXZlbnRzLmZvckVhY2goKHsgZnVuYywgZXZlbnQgfSkgPT4ge1xyXG4gICAgICB0aGlzLnJlZmVyZW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBmdW5jKVxyXG4gICAgfSlcclxuICAgIHRoaXMuX2V2ZW50cyA9IFtdXHJcbiAgICBzdXBlci5fZGlzcG9zZSgpXHJcbiAgfVxyXG5cclxuICBfc2hvdyAoLi4uYXJncykge1xyXG4gICAgc3VwZXIuX3Nob3coLi4uYXJncylcclxuXHJcbiAgICBpZiAodGhpcy5fcGVuZGluZ0NsYXNzZXMpIHtcclxuICAgICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMuX3BlbmRpbmdDbGFzc2VzKVxyXG4gICAgICB0aGlzLl9wZW5kaW5nQ2xhc3NlcyA9IG51bGxcclxuICAgIH1cclxuXHJcbiAgICAvLyBGaXggcG9zaXRpb25cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnBvcHBlckluc3RhbmNlLnVwZGF0ZSgpXHJcbiAgICB9LCAwKVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlVG9vbHRpcCAoZWwsIHZhbHVlLCBtb2RpZmllcnMpIHtcclxuICBjb25zdCBjb250ZW50ID0gdmFsdWUuY29udGVudCB8fCB2YWx1ZVxyXG4gIGxldCBjbGFzc2VzID0gdmFsdWUuY2xhc3NlcyB8fCBkaXJlY3RpdmUub3B0aW9ucy5kZWZhdWx0Q2xhc3NcclxuXHJcbiAgY29uc3QgdG9vbHRpcCA9IGVsLl90b29sdGlwID0gbmV3IFN1cGVyVG9vbHRpcChlbCwge1xyXG4gICAgdGl0bGU6IGNvbnRlbnQsXHJcbiAgICBodG1sOiB0cnVlLFxyXG4gICAgLi4uZ2V0T3B0aW9ucyh7XHJcbiAgICAgIC4uLnZhbHVlLFxyXG4gICAgICBwbGFjZW1lbnQ6IGdldFBsYWNlbWVudCh2YWx1ZSwgbW9kaWZpZXJzKSxcclxuICAgIH0pLFxyXG4gIH0pXHJcbiAgdG9vbHRpcC5zZXRDbGFzc2VzKGNsYXNzZXMpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRlc3Ryb3lUb29sdGlwIChlbCkge1xyXG4gIGlmIChlbC5fdG9vbHRpcCkge1xyXG4gICAgZWwuX3Rvb2x0aXAuZGlzcG9zZSgpXHJcbiAgICBkZWxldGUgZWwuX3Rvb2x0aXBcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IGRpcmVjdGl2ZSA9IHtcclxuICBvcHRpb25zOiBkZWZhdWx0T3B0aW9ucyxcclxuICBiaW5kIChlbCwgeyB2YWx1ZSwgbW9kaWZpZXJzIH0pIHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB2YWx1ZSAmJiB2YWx1ZS5jb250ZW50IHx8IHZhbHVlXHJcbiAgICBkZXN0cm95VG9vbHRpcChlbClcclxuICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgIGNyZWF0ZVRvb2x0aXAoZWwsIHZhbHVlLCBtb2RpZmllcnMpXHJcbiAgICB9XHJcbiAgfSxcclxuICB1cGRhdGUgKGVsLCB7IHZhbHVlLCBvbGRWYWx1ZSwgbW9kaWZpZXJzIH0pIHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB2YWx1ZSAmJiB2YWx1ZS5jb250ZW50IHx8IHZhbHVlXHJcbiAgICBpZiAoIWNvbnRlbnQpIHtcclxuICAgICAgZGVzdHJveVRvb2x0aXAoZWwpXHJcbiAgICB9IGVsc2UgaWYgKGVsLl90b29sdGlwKSB7XHJcbiAgICAgIGNvbnN0IHRvb2x0aXAgPSBlbC5fdG9vbHRpcFxyXG4gICAgICAvLyBDb250ZW50XHJcbiAgICAgIHRvb2x0aXAuc2V0Q29udGVudChjb250ZW50KVxyXG4gICAgICAvLyBDU1MgQ2xhc3Nlc1xyXG4gICAgICB0b29sdGlwLnNldENsYXNzZXMoKHZhbHVlICYmIHZhbHVlLmNsYXNzZXMpIHx8IGRpcmVjdGl2ZS5vcHRpb25zLmRlZmF1bHRDbGFzcylcclxuICAgICAgLy8gT3B0aW9uc1xyXG4gICAgICB0b29sdGlwLnNldE9wdGlvbnMoe1xyXG4gICAgICAgIC4uLnZhbHVlLFxyXG4gICAgICAgIHBsYWNlbWVudDogZ2V0UGxhY2VtZW50KHZhbHVlLCBtb2RpZmllcnMpLFxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY3JlYXRlVG9vbHRpcChlbCwgdmFsdWUsIG1vZGlmaWVycylcclxuICAgIH1cclxuICB9LFxyXG4gIHVuYmluZCAoZWwpIHtcclxuICAgIGRlc3Ryb3lUb29sdGlwKGVsKVxyXG4gIH0sXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRpcmVjdGl2ZVxyXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvdi10b29sdGlwLmpzIiwiXG5mdW5jdGlvbiBjb252ZXJ0VG9BcnJheSAodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgIHZhbHVlID0gdmFsdWUuc3BsaXQoJyAnKVxyXG4gIH1cclxuICByZXR1cm4gdmFsdWVcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZENsYXNzZXMgKGVsLCBjbGFzc2VzKSB7XHJcbiAgY2xhc3NlcyA9IGNvbnZlcnRUb0FycmF5KGNsYXNzZXMpXHJcbiAgY2xhc3Nlcy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgZWwuY2xhc3NMaXN0LmFkZChjKVxyXG4gIH0pXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVDbGFzc2VzIChlbCwgY2xhc3Nlcykge1xyXG4gIGNsYXNzZXMgPSBjb252ZXJ0VG9BcnJheShjbGFzc2VzKVxyXG4gIGNsYXNzZXMuZm9yRWFjaChjID0+IHtcclxuICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoYylcclxuICB9KVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZUNsYXNzZXMgKGVsLCBuZXdDbGFzc2VzLCBvbGRDbGFzc2VzKSB7XHJcbiAgcmVtb3ZlQ2xhc3NlcyhlbCwgb2xkQ2xhc3NlcylcclxuICBhZGRDbGFzc2VzKGVsLCBuZXdDbGFzc2VzKVxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy91dGlscy5qcyIsInZhciBuYXRpdmVIaW50cyA9IFsnbmF0aXZlIGNvZGUnLCAnW29iamVjdCBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdJ107XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgZnVuY3Rpb24gaXMgaW1wbGVtZW50ZWQgbmF0aXZlbHkgKGFzIG9wcG9zZWQgdG8gYSBwb2x5ZmlsbCkuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0Z1bmN0aW9uIHwgdW5kZWZpbmVkfSBmbiB0aGUgZnVuY3Rpb24gdG8gY2hlY2tcbiAqIEByZXR1cm5zIHtCb29sZWFufVxuICovXG52YXIgaXNOYXRpdmUgPSAoZnVuY3Rpb24gKGZuKSB7XG4gIHJldHVybiBuYXRpdmVIaW50cy5zb21lKGZ1bmN0aW9uIChoaW50KSB7XG4gICAgcmV0dXJuIChmbiB8fCAnJykudG9TdHJpbmcoKS5pbmRleE9mKGhpbnQpID4gLTE7XG4gIH0pO1xufSk7XG5cbnZhciBpc0Jyb3dzZXIgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbnZhciBsb25nZXJUaW1lb3V0QnJvd3NlcnMgPSBbJ0VkZ2UnLCAnVHJpZGVudCcsICdGaXJlZm94J107XG52YXIgdGltZW91dER1cmF0aW9uID0gMDtcbmZvciAodmFyIGkgPSAwOyBpIDwgbG9uZ2VyVGltZW91dEJyb3dzZXJzLmxlbmd0aDsgaSArPSAxKSB7XG4gIGlmIChpc0Jyb3dzZXIgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKGxvbmdlclRpbWVvdXRCcm93c2Vyc1tpXSkgPj0gMCkge1xuICAgIHRpbWVvdXREdXJhdGlvbiA9IDE7XG4gICAgYnJlYWs7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWljcm90YXNrRGVib3VuY2UoZm4pIHtcbiAgdmFyIHNjaGVkdWxlZCA9IGZhbHNlO1xuICB2YXIgaSA9IDA7XG4gIHZhciBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gIC8vIE11dGF0aW9uT2JzZXJ2ZXIgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIHNjaGVkdWxpbmcgbWljcm90YXNrcywgd2hpY2hcbiAgLy8gYXJlIHNjaGVkdWxlZCAqYmVmb3JlKiB0aGUgbmV4dCB0YXNrLiBUaGlzIGdpdmVzIHVzIGEgd2F5IHRvIGRlYm91bmNlXG4gIC8vIGEgZnVuY3Rpb24gYnV0IGVuc3VyZSBpdCdzIGNhbGxlZCAqYmVmb3JlKiB0aGUgbmV4dCBwYWludC5cbiAgdmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24gKCkge1xuICAgIGZuKCk7XG4gICAgc2NoZWR1bGVkID0gZmFsc2U7XG4gIH0pO1xuXG4gIG9ic2VydmVyLm9ic2VydmUoZWxlbSwgeyBhdHRyaWJ1dGVzOiB0cnVlIH0pO1xuXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFzY2hlZHVsZWQpIHtcbiAgICAgIHNjaGVkdWxlZCA9IHRydWU7XG4gICAgICBlbGVtLnNldEF0dHJpYnV0ZSgneC1pbmRleCcsIGkpO1xuICAgICAgaSA9IGkgKyAxOyAvLyBkb24ndCB1c2UgY29tcHVuZCAoKz0pIGJlY2F1c2UgaXQgZG9lc24ndCBnZXQgb3B0aW1pemVkIGluIFY4XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiB0YXNrRGVib3VuY2UoZm4pIHtcbiAgdmFyIHNjaGVkdWxlZCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmICghc2NoZWR1bGVkKSB7XG4gICAgICBzY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgICBmbigpO1xuICAgICAgfSwgdGltZW91dER1cmF0aW9uKTtcbiAgICB9XG4gIH07XG59XG5cbi8vIEl0J3MgY29tbW9uIGZvciBNdXRhdGlvbk9ic2VydmVyIHBvbHlmaWxscyB0byBiZSBzZWVuIGluIHRoZSB3aWxkLCBob3dldmVyXG4vLyB0aGVzZSByZWx5IG9uIE11dGF0aW9uIEV2ZW50cyB3aGljaCBvbmx5IG9jY3VyIHdoZW4gYW4gZWxlbWVudCBpcyBjb25uZWN0ZWRcbi8vIHRvIHRoZSBET00uIFRoZSBhbGdvcml0aG0gdXNlZCBpbiB0aGlzIG1vZHVsZSBkb2VzIG5vdCB1c2UgYSBjb25uZWN0ZWQgZWxlbWVudCxcbi8vIGFuZCBzbyB3ZSBtdXN0IGVuc3VyZSB0aGF0IGEgKm5hdGl2ZSogTXV0YXRpb25PYnNlcnZlciBpcyBhdmFpbGFibGUuXG52YXIgc3VwcG9ydHNOYXRpdmVNdXRhdGlvbk9ic2VydmVyID0gaXNCcm93c2VyICYmIGlzTmF0aXZlKHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyKTtcblxuLyoqXG4qIENyZWF0ZSBhIGRlYm91bmNlZCB2ZXJzaW9uIG9mIGEgbWV0aG9kLCB0aGF0J3MgYXN5bmNocm9ub3VzbHkgZGVmZXJyZWRcbiogYnV0IGNhbGxlZCBpbiB0aGUgbWluaW11bSB0aW1lIHBvc3NpYmxlLlxuKlxuKiBAbWV0aG9kXG4qIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiogQGFyZ3VtZW50IHtGdW5jdGlvbn0gZm5cbiogQHJldHVybnMge0Z1bmN0aW9ufVxuKi9cbnZhciBkZWJvdW5jZSA9IHN1cHBvcnRzTmF0aXZlTXV0YXRpb25PYnNlcnZlciA/IG1pY3JvdGFza0RlYm91bmNlIDogdGFza0RlYm91bmNlO1xuXG4vKipcbiAqIFRlbGxzIGlmIGEgZ2l2ZW4gaW5wdXQgaXMgYSBudW1iZXJcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7Kn0gaW5wdXQgdG8gY2hlY2tcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzTnVtZXJpYyhuKSB7XG4gIHJldHVybiBuICE9PSAnJyAmJiAhaXNOYU4ocGFyc2VGbG9hdChuKSkgJiYgaXNGaW5pdGUobik7XG59XG5cbi8qKlxuICogU2V0IHRoZSBzdHlsZSB0byB0aGUgZ2l2ZW4gcG9wcGVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnQgLSBFbGVtZW50IHRvIGFwcGx5IHRoZSBzdHlsZSB0b1xuICogQGFyZ3VtZW50IHtPYmplY3R9IHN0eWxlc1xuICogT2JqZWN0IHdpdGggYSBsaXN0IG9mIHByb3BlcnRpZXMgYW5kIHZhbHVlcyB3aGljaCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnRcbiAqL1xuZnVuY3Rpb24gc2V0U3R5bGVzKGVsZW1lbnQsIHN0eWxlcykge1xuICBPYmplY3Qua2V5cyhzdHlsZXMpLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICB2YXIgdW5pdCA9ICcnO1xuICAgIC8vIGFkZCB1bml0IGlmIHRoZSB2YWx1ZSBpcyBudW1lcmljIGFuZCBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZ1xuICAgIGlmIChbJ3dpZHRoJywgJ2hlaWdodCcsICd0b3AnLCAncmlnaHQnLCAnYm90dG9tJywgJ2xlZnQnXS5pbmRleE9mKHByb3ApICE9PSAtMSAmJiBpc051bWVyaWMoc3R5bGVzW3Byb3BdKSkge1xuICAgICAgdW5pdCA9ICdweCc7XG4gICAgfVxuICAgIGVsZW1lbnQuc3R5bGVbcHJvcF0gPSBzdHlsZXNbcHJvcF0gKyB1bml0O1xuICB9KTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFyaWFibGUgaXMgYSBmdW5jdGlvblxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtBbnl9IGZ1bmN0aW9uVG9DaGVjayAtIHZhcmlhYmxlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gYW5zd2VyIHRvOiBpcyBhIGZ1bmN0aW9uP1xuICovXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKGZ1bmN0aW9uVG9DaGVjaykge1xuICB2YXIgZ2V0VHlwZSA9IHt9O1xuICByZXR1cm4gZnVuY3Rpb25Ub0NoZWNrICYmIGdldFR5cGUudG9TdHJpbmcuY2FsbChmdW5jdGlvblRvQ2hlY2spID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xufVxuXG4vKipcbiAqIEdldCBDU1MgY29tcHV0ZWQgcHJvcGVydHkgb2YgdGhlIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWVtZW50fSBlbGVtZW50XG4gKiBAYXJndW1lbnQge1N0cmluZ30gcHJvcGVydHlcbiAqL1xuZnVuY3Rpb24gZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsZW1lbnQsIHByb3BlcnR5KSB7XG4gIGlmIChlbGVtZW50Lm5vZGVUeXBlICE9PSAxKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIC8vIE5PVEU6IDEgRE9NIGFjY2VzcyBoZXJlXG4gIHZhciBjc3MgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKTtcbiAgcmV0dXJuIHByb3BlcnR5ID8gY3NzW3Byb3BlcnR5XSA6IGNzcztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwYXJlbnROb2RlIG9yIHRoZSBob3N0IG9mIHRoZSBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm5zIHtFbGVtZW50fSBwYXJlbnRcbiAqL1xuZnVuY3Rpb24gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSB7XG4gIGlmIChlbGVtZW50Lm5vZGVOYW1lID09PSAnSFRNTCcpIHtcbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuICByZXR1cm4gZWxlbWVudC5wYXJlbnROb2RlIHx8IGVsZW1lbnQuaG9zdDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBzY3JvbGxpbmcgcGFyZW50IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm5zIHtFbGVtZW50fSBzY3JvbGwgcGFyZW50XG4gKi9cbmZ1bmN0aW9uIGdldFNjcm9sbFBhcmVudChlbGVtZW50KSB7XG4gIC8vIFJldHVybiBib2R5LCBgZ2V0U2Nyb2xsYCB3aWxsIHRha2UgY2FyZSB0byBnZXQgdGhlIGNvcnJlY3QgYHNjcm9sbFRvcGAgZnJvbSBpdFxuICBpZiAoIWVsZW1lbnQgfHwgWydIVE1MJywgJ0JPRFknLCAnI2RvY3VtZW50J10uaW5kZXhPZihlbGVtZW50Lm5vZGVOYW1lKSAhPT0gLTEpIHtcbiAgICByZXR1cm4gd2luZG93LmRvY3VtZW50LmJvZHk7XG4gIH1cblxuICAvLyBGaXJlZm94IHdhbnQgdXMgdG8gY2hlY2sgYC14YCBhbmQgYC15YCB2YXJpYXRpb25zIGFzIHdlbGxcblxuICB2YXIgX2dldFN0eWxlQ29tcHV0ZWRQcm9wID0gZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsZW1lbnQpLFxuICAgICAgb3ZlcmZsb3cgPSBfZ2V0U3R5bGVDb21wdXRlZFByb3Aub3ZlcmZsb3csXG4gICAgICBvdmVyZmxvd1ggPSBfZ2V0U3R5bGVDb21wdXRlZFByb3Aub3ZlcmZsb3dYLFxuICAgICAgb3ZlcmZsb3dZID0gX2dldFN0eWxlQ29tcHV0ZWRQcm9wLm92ZXJmbG93WTtcblxuICBpZiAoLyhhdXRvfHNjcm9sbCkvLnRlc3Qob3ZlcmZsb3cgKyBvdmVyZmxvd1kgKyBvdmVyZmxvd1gpKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4gZ2V0U2Nyb2xsUGFyZW50KGdldFBhcmVudE5vZGUoZWxlbWVudCkpO1xufVxuXG5mdW5jdGlvbiBpc09mZnNldENvbnRhaW5lcihlbGVtZW50KSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWU7XG5cbiAgaWYgKG5vZGVOYW1lID09PSAnQk9EWScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIG5vZGVOYW1lID09PSAnSFRNTCcgfHwgZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5vZmZzZXRQYXJlbnQgPT09IGVsZW1lbnQ7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIHJvb3Qgbm9kZSAoZG9jdW1lbnQsIHNoYWRvd0RPTSByb290KSBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBub2RlXG4gKiBAcmV0dXJucyB7RWxlbWVudH0gcm9vdCBub2RlXG4gKi9cbmZ1bmN0aW9uIGdldFJvb3Qobm9kZSkge1xuICBpZiAobm9kZS5wYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGdldFJvb3Qobm9kZS5wYXJlbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG9mZnNldCBwYXJlbnQgb2YgdGhlIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQHJldHVybnMge0VsZW1lbnR9IG9mZnNldCBwYXJlbnRcbiAqL1xuZnVuY3Rpb24gZ2V0T2Zmc2V0UGFyZW50KGVsZW1lbnQpIHtcbiAgLy8gTk9URTogMSBET00gYWNjZXNzIGhlcmVcbiAgdmFyIG9mZnNldFBhcmVudCA9IGVsZW1lbnQgJiYgZWxlbWVudC5vZmZzZXRQYXJlbnQ7XG4gIHZhciBub2RlTmFtZSA9IG9mZnNldFBhcmVudCAmJiBvZmZzZXRQYXJlbnQubm9kZU5hbWU7XG5cbiAgaWYgKCFub2RlTmFtZSB8fCBub2RlTmFtZSA9PT0gJ0JPRFknIHx8IG5vZGVOYW1lID09PSAnSFRNTCcpIHtcbiAgICByZXR1cm4gd2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfVxuXG4gIHJldHVybiBvZmZzZXRQYXJlbnQ7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIG9mZnNldCBwYXJlbnQgY29tbW9uIHRvIHRoZSB0d28gcHJvdmlkZWQgbm9kZXNcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudDFcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudDJcbiAqIEByZXR1cm5zIHtFbGVtZW50fSBjb21tb24gb2Zmc2V0IHBhcmVudFxuICovXG5mdW5jdGlvbiBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50KGVsZW1lbnQxLCBlbGVtZW50Mikge1xuICAvLyBUaGlzIGNoZWNrIGlzIG5lZWRlZCB0byBhdm9pZCBlcnJvcnMgaW4gY2FzZSBvbmUgb2YgdGhlIGVsZW1lbnRzIGlzbid0IGRlZmluZWQgZm9yIGFueSByZWFzb25cbiAgaWYgKCFlbGVtZW50MSB8fCAhZWxlbWVudDEubm9kZVR5cGUgfHwgIWVsZW1lbnQyIHx8ICFlbGVtZW50Mi5ub2RlVHlwZSkge1xuICAgIHJldHVybiB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB9XG5cbiAgLy8gSGVyZSB3ZSBtYWtlIHN1cmUgdG8gZ2l2ZSBhcyBcInN0YXJ0XCIgdGhlIGVsZW1lbnQgdGhhdCBjb21lcyBmaXJzdCBpbiB0aGUgRE9NXG4gIHZhciBvcmRlciA9IGVsZW1lbnQxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGVsZW1lbnQyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HO1xuICB2YXIgc3RhcnQgPSBvcmRlciA/IGVsZW1lbnQxIDogZWxlbWVudDI7XG4gIHZhciBlbmQgPSBvcmRlciA/IGVsZW1lbnQyIDogZWxlbWVudDE7XG5cbiAgLy8gR2V0IGNvbW1vbiBhbmNlc3RvciBjb250YWluZXJcbiAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnQsIDApO1xuICByYW5nZS5zZXRFbmQoZW5kLCAwKTtcbiAgdmFyIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyID0gcmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXI7XG5cbiAgLy8gQm90aCBub2RlcyBhcmUgaW5zaWRlICNkb2N1bWVudFxuXG4gIGlmIChlbGVtZW50MSAhPT0gY29tbW9uQW5jZXN0b3JDb250YWluZXIgJiYgZWxlbWVudDIgIT09IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIHx8IHN0YXJ0LmNvbnRhaW5zKGVuZCkpIHtcbiAgICBpZiAoaXNPZmZzZXRDb250YWluZXIoY29tbW9uQW5jZXN0b3JDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4gY29tbW9uQW5jZXN0b3JDb250YWluZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldE9mZnNldFBhcmVudChjb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG4gIH1cblxuICAvLyBvbmUgb2YgdGhlIG5vZGVzIGlzIGluc2lkZSBzaGFkb3dET00sIGZpbmQgd2hpY2ggb25lXG4gIHZhciBlbGVtZW50MXJvb3QgPSBnZXRSb290KGVsZW1lbnQxKTtcbiAgaWYgKGVsZW1lbnQxcm9vdC5ob3N0KSB7XG4gICAgcmV0dXJuIGZpbmRDb21tb25PZmZzZXRQYXJlbnQoZWxlbWVudDFyb290Lmhvc3QsIGVsZW1lbnQyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmluZENvbW1vbk9mZnNldFBhcmVudChlbGVtZW50MSwgZ2V0Um9vdChlbGVtZW50MikuaG9zdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBzY3JvbGwgdmFsdWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaW4gdGhlIGdpdmVuIHNpZGUgKHRvcCBhbmQgbGVmdClcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQGFyZ3VtZW50IHtTdHJpbmd9IHNpZGUgYHRvcGAgb3IgYGxlZnRgXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBhbW91bnQgb2Ygc2Nyb2xsZWQgcGl4ZWxzXG4gKi9cbmZ1bmN0aW9uIGdldFNjcm9sbChlbGVtZW50KSB7XG4gIHZhciBzaWRlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAndG9wJztcblxuICB2YXIgdXBwZXJTaWRlID0gc2lkZSA9PT0gJ3RvcCcgPyAnc2Nyb2xsVG9wJyA6ICdzY3JvbGxMZWZ0JztcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdCT0RZJyB8fCBub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgdmFyIGh0bWwgPSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIHZhciBzY3JvbGxpbmdFbGVtZW50ID0gd2luZG93LmRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQgfHwgaHRtbDtcbiAgICByZXR1cm4gc2Nyb2xsaW5nRWxlbWVudFt1cHBlclNpZGVdO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRbdXBwZXJTaWRlXTtcbn1cblxuLypcbiAqIFN1bSBvciBzdWJ0cmFjdCB0aGUgZWxlbWVudCBzY3JvbGwgdmFsdWVzIChsZWZ0IGFuZCB0b3ApIGZyb20gYSBnaXZlbiByZWN0IG9iamVjdFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtPYmplY3R9IHJlY3QgLSBSZWN0IG9iamVjdCB5b3Ugd2FudCB0byBjaGFuZ2VcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCBmcm9tIHRoZSBmdW5jdGlvbiByZWFkcyB0aGUgc2Nyb2xsIHZhbHVlc1xuICogQHBhcmFtIHtCb29sZWFufSBzdWJ0cmFjdCAtIHNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIHN1YnRyYWN0IHRoZSBzY3JvbGwgdmFsdWVzXG4gKiBAcmV0dXJuIHtPYmplY3R9IHJlY3QgLSBUaGUgbW9kaWZpZXIgcmVjdCBvYmplY3RcbiAqL1xuZnVuY3Rpb24gaW5jbHVkZVNjcm9sbChyZWN0LCBlbGVtZW50KSB7XG4gIHZhciBzdWJ0cmFjdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZmFsc2U7XG5cbiAgdmFyIHNjcm9sbFRvcCA9IGdldFNjcm9sbChlbGVtZW50LCAndG9wJyk7XG4gIHZhciBzY3JvbGxMZWZ0ID0gZ2V0U2Nyb2xsKGVsZW1lbnQsICdsZWZ0Jyk7XG4gIHZhciBtb2RpZmllciA9IHN1YnRyYWN0ID8gLTEgOiAxO1xuICByZWN0LnRvcCArPSBzY3JvbGxUb3AgKiBtb2RpZmllcjtcbiAgcmVjdC5ib3R0b20gKz0gc2Nyb2xsVG9wICogbW9kaWZpZXI7XG4gIHJlY3QubGVmdCArPSBzY3JvbGxMZWZ0ICogbW9kaWZpZXI7XG4gIHJlY3QucmlnaHQgKz0gc2Nyb2xsTGVmdCAqIG1vZGlmaWVyO1xuICByZXR1cm4gcmVjdDtcbn1cblxuLypcbiAqIEhlbHBlciB0byBkZXRlY3QgYm9yZGVycyBvZiBhIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7Q1NTU3R5bGVEZWNsYXJhdGlvbn0gc3R5bGVzXG4gKiBSZXN1bHQgb2YgYGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eWAgb24gdGhlIGdpdmVuIGVsZW1lbnRcbiAqIEBwYXJhbSB7U3RyaW5nfSBheGlzIC0gYHhgIG9yIGB5YFxuICogQHJldHVybiB7bnVtYmVyfSBib3JkZXJzIC0gVGhlIGJvcmRlcnMgc2l6ZSBvZiB0aGUgZ2l2ZW4gYXhpc1xuICovXG5cbmZ1bmN0aW9uIGdldEJvcmRlcnNTaXplKHN0eWxlcywgYXhpcykge1xuICB2YXIgc2lkZUEgPSBheGlzID09PSAneCcgPyAnTGVmdCcgOiAnVG9wJztcbiAgdmFyIHNpZGVCID0gc2lkZUEgPT09ICdMZWZ0JyA/ICdSaWdodCcgOiAnQm90dG9tJztcblxuICByZXR1cm4gK3N0eWxlc1snYm9yZGVyJyArIHNpZGVBICsgJ1dpZHRoJ10uc3BsaXQoJ3B4JylbMF0gKyArc3R5bGVzWydib3JkZXInICsgc2lkZUIgKyAnV2lkdGgnXS5zcGxpdCgncHgnKVswXTtcbn1cblxuZnVuY3Rpb24gZ2V0V2luZG93U2l6ZXMoKSB7XG4gIHZhciBib2R5ID0gd2luZG93LmRvY3VtZW50LmJvZHk7XG4gIHZhciBodG1sID0gd2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgcmV0dXJuIHtcbiAgICBoZWlnaHQ6IE1hdGgubWF4KGJvZHkuc2Nyb2xsSGVpZ2h0LCBib2R5Lm9mZnNldEhlaWdodCwgaHRtbC5jbGllbnRIZWlnaHQsIGh0bWwuc2Nyb2xsSGVpZ2h0LCBodG1sLm9mZnNldEhlaWdodCksXG4gICAgd2lkdGg6IE1hdGgubWF4KGJvZHkuc2Nyb2xsV2lkdGgsIGJvZHkub2Zmc2V0V2lkdGgsIGh0bWwuY2xpZW50V2lkdGgsIGh0bWwuc2Nyb2xsV2lkdGgsIGh0bWwub2Zmc2V0V2lkdGgpXG4gIH07XG59XG5cbnZhciBjbGFzc0NhbGxDaGVjayA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59O1xuXG5cblxuXG5cblxuXG52YXIgZGVmaW5lUHJvcGVydHkgPSBmdW5jdGlvbiAob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn07XG5cbnZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59O1xuXG4vKipcbiAqIEdpdmVuIGVsZW1lbnQgb2Zmc2V0cywgZ2VuZXJhdGUgYW4gb3V0cHV0IHNpbWlsYXIgdG8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge09iamVjdH0gb2Zmc2V0c1xuICogQHJldHVybnMge09iamVjdH0gQ2xpZW50UmVjdCBsaWtlIG91dHB1dFxuICovXG5mdW5jdGlvbiBnZXRDbGllbnRSZWN0KG9mZnNldHMpIHtcbiAgcmV0dXJuIF9leHRlbmRzKHt9LCBvZmZzZXRzLCB7XG4gICAgcmlnaHQ6IG9mZnNldHMubGVmdCArIG9mZnNldHMud2lkdGgsXG4gICAgYm90dG9tOiBvZmZzZXRzLnRvcCArIG9mZnNldHMuaGVpZ2h0XG4gIH0pO1xufVxuXG4vKipcbiAqIFRlbGxzIGlmIHlvdSBhcmUgcnVubmluZyBJbnRlcm5ldCBFeHBsb3JlciAxMFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHJldHVybnMge0Jvb2xlYW59IGlzSUUxMFxuICovXG52YXIgaXNJRTEwID0gdW5kZWZpbmVkO1xuXG52YXIgaXNJRTEwJDEgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChpc0lFMTAgPT09IHVuZGVmaW5lZCkge1xuICAgIGlzSUUxMCA9IG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ01TSUUgMTAnKSAhPT0gLTE7XG4gIH1cbiAgcmV0dXJuIGlzSUUxMDtcbn07XG5cbi8qKlxuICogR2V0IGJvdW5kaW5nIGNsaWVudCByZWN0IG9mIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm4ge09iamVjdH0gY2xpZW50IHJlY3RcbiAqL1xuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIHJlY3QgPSB7fTtcblxuICAvLyBJRTEwIDEwIEZJWDogUGxlYXNlLCBkb24ndCBhc2ssIHRoZSBlbGVtZW50IGlzbid0XG4gIC8vIGNvbnNpZGVyZWQgaW4gRE9NIGluIHNvbWUgY2lyY3Vtc3RhbmNlcy4uLlxuICAvLyBUaGlzIGlzbid0IHJlcHJvZHVjaWJsZSBpbiBJRTEwIGNvbXBhdGliaWxpdHkgbW9kZSBvZiBJRTExXG4gIGlmIChpc0lFMTAkMSgpKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdmFyIHNjcm9sbFRvcCA9IGdldFNjcm9sbChlbGVtZW50LCAndG9wJyk7XG4gICAgICB2YXIgc2Nyb2xsTGVmdCA9IGdldFNjcm9sbChlbGVtZW50LCAnbGVmdCcpO1xuICAgICAgcmVjdC50b3AgKz0gc2Nyb2xsVG9wO1xuICAgICAgcmVjdC5sZWZ0ICs9IHNjcm9sbExlZnQ7XG4gICAgICByZWN0LmJvdHRvbSArPSBzY3JvbGxUb3A7XG4gICAgICByZWN0LnJpZ2h0ICs9IHNjcm9sbExlZnQ7XG4gICAgfSBjYXRjaCAoZXJyKSB7fVxuICB9IGVsc2Uge1xuICAgIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IHtcbiAgICBsZWZ0OiByZWN0LmxlZnQsXG4gICAgdG9wOiByZWN0LnRvcCxcbiAgICB3aWR0aDogcmVjdC5yaWdodCAtIHJlY3QubGVmdCxcbiAgICBoZWlnaHQ6IHJlY3QuYm90dG9tIC0gcmVjdC50b3BcbiAgfTtcblxuICAvLyBzdWJ0cmFjdCBzY3JvbGxiYXIgc2l6ZSBmcm9tIHNpemVzXG4gIHZhciBzaXplcyA9IGVsZW1lbnQubm9kZU5hbWUgPT09ICdIVE1MJyA/IGdldFdpbmRvd1NpemVzKCkgOiB7fTtcbiAgdmFyIHdpZHRoID0gc2l6ZXMud2lkdGggfHwgZWxlbWVudC5jbGllbnRXaWR0aCB8fCByZXN1bHQucmlnaHQgLSByZXN1bHQubGVmdDtcbiAgdmFyIGhlaWdodCA9IHNpemVzLmhlaWdodCB8fCBlbGVtZW50LmNsaWVudEhlaWdodCB8fCByZXN1bHQuYm90dG9tIC0gcmVzdWx0LnRvcDtcblxuICB2YXIgaG9yaXpTY3JvbGxiYXIgPSBlbGVtZW50Lm9mZnNldFdpZHRoIC0gd2lkdGg7XG4gIHZhciB2ZXJ0U2Nyb2xsYmFyID0gZWxlbWVudC5vZmZzZXRIZWlnaHQgLSBoZWlnaHQ7XG5cbiAgLy8gaWYgYW4gaHlwb3RoZXRpY2FsIHNjcm9sbGJhciBpcyBkZXRlY3RlZCwgd2UgbXVzdCBiZSBzdXJlIGl0J3Mgbm90IGEgYGJvcmRlcmBcbiAgLy8gd2UgbWFrZSB0aGlzIGNoZWNrIGNvbmRpdGlvbmFsIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gIGlmIChob3JpelNjcm9sbGJhciB8fCB2ZXJ0U2Nyb2xsYmFyKSB7XG4gICAgdmFyIHN0eWxlcyA9IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50KTtcbiAgICBob3JpelNjcm9sbGJhciAtPSBnZXRCb3JkZXJzU2l6ZShzdHlsZXMsICd4Jyk7XG4gICAgdmVydFNjcm9sbGJhciAtPSBnZXRCb3JkZXJzU2l6ZShzdHlsZXMsICd5Jyk7XG5cbiAgICByZXN1bHQud2lkdGggLT0gaG9yaXpTY3JvbGxiYXI7XG4gICAgcmVzdWx0LmhlaWdodCAtPSB2ZXJ0U2Nyb2xsYmFyO1xuICB9XG5cbiAgcmV0dXJuIGdldENsaWVudFJlY3QocmVzdWx0KTtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKGNoaWxkcmVuLCBwYXJlbnQpIHtcbiAgdmFyIGlzSUUxMCA9IGlzSUUxMCQxKCk7XG4gIHZhciBpc0hUTUwgPSBwYXJlbnQubm9kZU5hbWUgPT09ICdIVE1MJztcbiAgdmFyIGNoaWxkcmVuUmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChjaGlsZHJlbik7XG4gIHZhciBwYXJlbnRSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KHBhcmVudCk7XG4gIHZhciBzY3JvbGxQYXJlbnQgPSBnZXRTY3JvbGxQYXJlbnQoY2hpbGRyZW4pO1xuICB2YXIgb2Zmc2V0cyA9IGdldENsaWVudFJlY3Qoe1xuICAgIHRvcDogY2hpbGRyZW5SZWN0LnRvcCAtIHBhcmVudFJlY3QudG9wLFxuICAgIGxlZnQ6IGNoaWxkcmVuUmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0LFxuICAgIHdpZHRoOiBjaGlsZHJlblJlY3Qud2lkdGgsXG4gICAgaGVpZ2h0OiBjaGlsZHJlblJlY3QuaGVpZ2h0XG4gIH0pO1xuXG4gIC8vIFN1YnRyYWN0IG1hcmdpbnMgb2YgZG9jdW1lbnRFbGVtZW50IGluIGNhc2UgaXQncyBiZWluZyB1c2VkIGFzIHBhcmVudFxuICAvLyB3ZSBkbyB0aGlzIG9ubHkgb24gSFRNTCBiZWNhdXNlIGl0J3MgdGhlIG9ubHkgZWxlbWVudCB0aGF0IGJlaGF2ZXNcbiAgLy8gZGlmZmVyZW50bHkgd2hlbiBtYXJnaW5zIGFyZSBhcHBsaWVkIHRvIGl0LiBUaGUgbWFyZ2lucyBhcmUgaW5jbHVkZWQgaW5cbiAgLy8gdGhlIGJveCBvZiB0aGUgZG9jdW1lbnRFbGVtZW50LCBpbiB0aGUgb3RoZXIgY2FzZXMgbm90LlxuICBpZiAoaXNIVE1MIHx8IHBhcmVudC5ub2RlTmFtZSA9PT0gJ0JPRFknKSB7XG4gICAgdmFyIHN0eWxlcyA9IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShwYXJlbnQpO1xuICAgIHZhciBib3JkZXJUb3BXaWR0aCA9IGlzSUUxMCAmJiBpc0hUTUwgPyAwIDogK3N0eWxlcy5ib3JkZXJUb3BXaWR0aC5zcGxpdCgncHgnKVswXTtcbiAgICB2YXIgYm9yZGVyTGVmdFdpZHRoID0gaXNJRTEwICYmIGlzSFRNTCA/IDAgOiArc3R5bGVzLmJvcmRlckxlZnRXaWR0aC5zcGxpdCgncHgnKVswXTtcbiAgICB2YXIgbWFyZ2luVG9wID0gaXNJRTEwICYmIGlzSFRNTCA/IDAgOiArc3R5bGVzLm1hcmdpblRvcC5zcGxpdCgncHgnKVswXTtcbiAgICB2YXIgbWFyZ2luTGVmdCA9IGlzSUUxMCAmJiBpc0hUTUwgPyAwIDogK3N0eWxlcy5tYXJnaW5MZWZ0LnNwbGl0KCdweCcpWzBdO1xuXG4gICAgb2Zmc2V0cy50b3AgLT0gYm9yZGVyVG9wV2lkdGggLSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5ib3R0b20gLT0gYm9yZGVyVG9wV2lkdGggLSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5sZWZ0IC09IGJvcmRlckxlZnRXaWR0aCAtIG1hcmdpbkxlZnQ7XG4gICAgb2Zmc2V0cy5yaWdodCAtPSBib3JkZXJMZWZ0V2lkdGggLSBtYXJnaW5MZWZ0O1xuXG4gICAgLy8gQXR0YWNoIG1hcmdpblRvcCBhbmQgbWFyZ2luTGVmdCBiZWNhdXNlIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyB3ZSBtYXkgbmVlZCB0aGVtXG4gICAgb2Zmc2V0cy5tYXJnaW5Ub3AgPSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5tYXJnaW5MZWZ0ID0gbWFyZ2luTGVmdDtcbiAgfVxuXG4gIGlmIChwYXJlbnQuY29udGFpbnMoc2Nyb2xsUGFyZW50KSAmJiAoaXNJRTEwIHx8IHNjcm9sbFBhcmVudC5ub2RlTmFtZSAhPT0gJ0JPRFknKSkge1xuICAgIG9mZnNldHMgPSBpbmNsdWRlU2Nyb2xsKG9mZnNldHMsIHBhcmVudCk7XG4gIH1cblxuICByZXR1cm4gb2Zmc2V0cztcbn1cblxuZnVuY3Rpb24gZ2V0Vmlld3BvcnRPZmZzZXRSZWN0UmVsYXRpdmVUb0FydGJpdHJhcnlOb2RlKGVsZW1lbnQpIHtcbiAgdmFyIGh0bWwgPSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB2YXIgcmVsYXRpdmVPZmZzZXQgPSBnZXRPZmZzZXRSZWN0UmVsYXRpdmVUb0FyYml0cmFyeU5vZGUoZWxlbWVudCwgaHRtbCk7XG4gIHZhciB3aWR0aCA9IE1hdGgubWF4KGh0bWwuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApO1xuICB2YXIgaGVpZ2h0ID0gTWF0aC5tYXgoaHRtbC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcblxuICB2YXIgc2Nyb2xsVG9wID0gZ2V0U2Nyb2xsKGh0bWwpO1xuICB2YXIgc2Nyb2xsTGVmdCA9IGdldFNjcm9sbChodG1sLCAnbGVmdCcpO1xuXG4gIHZhciBvZmZzZXQgPSB7XG4gICAgdG9wOiBzY3JvbGxUb3AgLSByZWxhdGl2ZU9mZnNldC50b3AgKyByZWxhdGl2ZU9mZnNldC5tYXJnaW5Ub3AsXG4gICAgbGVmdDogc2Nyb2xsTGVmdCAtIHJlbGF0aXZlT2Zmc2V0LmxlZnQgKyByZWxhdGl2ZU9mZnNldC5tYXJnaW5MZWZ0LFxuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodFxuICB9O1xuXG4gIHJldHVybiBnZXRDbGllbnRSZWN0KG9mZnNldCk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIGVsZW1lbnQgaXMgZml4ZWQgb3IgaXMgaW5zaWRlIGEgZml4ZWQgcGFyZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gY3VzdG9tQ29udGFpbmVyXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gYW5zd2VyIHRvIFwiaXNGaXhlZD9cIlxuICovXG5mdW5jdGlvbiBpc0ZpeGVkKGVsZW1lbnQpIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcbiAgaWYgKG5vZGVOYW1lID09PSAnQk9EWScgfHwgbm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsZW1lbnQsICdwb3NpdGlvbicpID09PSAnZml4ZWQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGlzRml4ZWQoZ2V0UGFyZW50Tm9kZShlbGVtZW50KSk7XG59XG5cbi8qKlxuICogQ29tcHV0ZWQgdGhlIGJvdW5kYXJpZXMgbGltaXRzIGFuZCByZXR1cm4gdGhlbVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSByZWZlcmVuY2VcbiAqIEBwYXJhbSB7bnVtYmVyfSBwYWRkaW5nXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBib3VuZGFyaWVzRWxlbWVudCAtIEVsZW1lbnQgdXNlZCB0byBkZWZpbmUgdGhlIGJvdW5kYXJpZXNcbiAqIEByZXR1cm5zIHtPYmplY3R9IENvb3JkaW5hdGVzIG9mIHRoZSBib3VuZGFyaWVzXG4gKi9cbmZ1bmN0aW9uIGdldEJvdW5kYXJpZXMocG9wcGVyLCByZWZlcmVuY2UsIHBhZGRpbmcsIGJvdW5kYXJpZXNFbGVtZW50KSB7XG4gIC8vIE5PVEU6IDEgRE9NIGFjY2VzcyBoZXJlXG4gIHZhciBib3VuZGFyaWVzID0geyB0b3A6IDAsIGxlZnQ6IDAgfTtcbiAgdmFyIG9mZnNldFBhcmVudCA9IGZpbmRDb21tb25PZmZzZXRQYXJlbnQocG9wcGVyLCByZWZlcmVuY2UpO1xuXG4gIC8vIEhhbmRsZSB2aWV3cG9ydCBjYXNlXG4gIGlmIChib3VuZGFyaWVzRWxlbWVudCA9PT0gJ3ZpZXdwb3J0Jykge1xuICAgIGJvdW5kYXJpZXMgPSBnZXRWaWV3cG9ydE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJ0Yml0cmFyeU5vZGUob2Zmc2V0UGFyZW50KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBIYW5kbGUgb3RoZXIgY2FzZXMgYmFzZWQgb24gRE9NIGVsZW1lbnQgdXNlZCBhcyBib3VuZGFyaWVzXG4gICAgdmFyIGJvdW5kYXJpZXNOb2RlID0gdm9pZCAwO1xuICAgIGlmIChib3VuZGFyaWVzRWxlbWVudCA9PT0gJ3Njcm9sbFBhcmVudCcpIHtcbiAgICAgIGJvdW5kYXJpZXNOb2RlID0gZ2V0U2Nyb2xsUGFyZW50KGdldFBhcmVudE5vZGUocG9wcGVyKSk7XG4gICAgICBpZiAoYm91bmRhcmllc05vZGUubm9kZU5hbWUgPT09ICdCT0RZJykge1xuICAgICAgICBib3VuZGFyaWVzTm9kZSA9IHdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChib3VuZGFyaWVzRWxlbWVudCA9PT0gJ3dpbmRvdycpIHtcbiAgICAgIGJvdW5kYXJpZXNOb2RlID0gd2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgYm91bmRhcmllc05vZGUgPSBib3VuZGFyaWVzRWxlbWVudDtcbiAgICB9XG5cbiAgICB2YXIgb2Zmc2V0cyA9IGdldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZShib3VuZGFyaWVzTm9kZSwgb2Zmc2V0UGFyZW50KTtcblxuICAgIC8vIEluIGNhc2Ugb2YgSFRNTCwgd2UgbmVlZCBhIGRpZmZlcmVudCBjb21wdXRhdGlvblxuICAgIGlmIChib3VuZGFyaWVzTm9kZS5ub2RlTmFtZSA9PT0gJ0hUTUwnICYmICFpc0ZpeGVkKG9mZnNldFBhcmVudCkpIHtcbiAgICAgIHZhciBfZ2V0V2luZG93U2l6ZXMgPSBnZXRXaW5kb3dTaXplcygpLFxuICAgICAgICAgIGhlaWdodCA9IF9nZXRXaW5kb3dTaXplcy5oZWlnaHQsXG4gICAgICAgICAgd2lkdGggPSBfZ2V0V2luZG93U2l6ZXMud2lkdGg7XG5cbiAgICAgIGJvdW5kYXJpZXMudG9wICs9IG9mZnNldHMudG9wIC0gb2Zmc2V0cy5tYXJnaW5Ub3A7XG4gICAgICBib3VuZGFyaWVzLmJvdHRvbSA9IGhlaWdodCArIG9mZnNldHMudG9wO1xuICAgICAgYm91bmRhcmllcy5sZWZ0ICs9IG9mZnNldHMubGVmdCAtIG9mZnNldHMubWFyZ2luTGVmdDtcbiAgICAgIGJvdW5kYXJpZXMucmlnaHQgPSB3aWR0aCArIG9mZnNldHMubGVmdDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZm9yIGFsbCB0aGUgb3RoZXIgRE9NIGVsZW1lbnRzLCB0aGlzIG9uZSBpcyBnb29kXG4gICAgICBib3VuZGFyaWVzID0gb2Zmc2V0cztcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgcGFkZGluZ3NcbiAgYm91bmRhcmllcy5sZWZ0ICs9IHBhZGRpbmc7XG4gIGJvdW5kYXJpZXMudG9wICs9IHBhZGRpbmc7XG4gIGJvdW5kYXJpZXMucmlnaHQgLT0gcGFkZGluZztcbiAgYm91bmRhcmllcy5ib3R0b20gLT0gcGFkZGluZztcblxuICByZXR1cm4gYm91bmRhcmllcztcbn1cblxuLyoqXG4gKiBVdGlsaXR5IHVzZWQgdG8gdHJhbnNmb3JtIHRoZSBgYXV0b2AgcGxhY2VtZW50IHRvIHRoZSBwbGFjZW1lbnQgd2l0aCBtb3JlXG4gKiBhdmFpbGFibGUgc3BhY2UuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBjb21wdXRlQXV0b1BsYWNlbWVudChwbGFjZW1lbnQsIHJlZlJlY3QsIHBvcHBlciwgcmVmZXJlbmNlLCBib3VuZGFyaWVzRWxlbWVudCkge1xuICBpZiAocGxhY2VtZW50LmluZGV4T2YoJ2F1dG8nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gcGxhY2VtZW50O1xuICB9XG5cbiAgdmFyIGJvdW5kYXJpZXMgPSBnZXRCb3VuZGFyaWVzKHBvcHBlciwgcmVmZXJlbmNlLCAwLCBib3VuZGFyaWVzRWxlbWVudCk7XG5cbiAgdmFyIHNpZGVzID0ge1xuICAgIHRvcDogcmVmUmVjdC50b3AgLSBib3VuZGFyaWVzLnRvcCxcbiAgICByaWdodDogYm91bmRhcmllcy5yaWdodCAtIHJlZlJlY3QucmlnaHQsXG4gICAgYm90dG9tOiBib3VuZGFyaWVzLmJvdHRvbSAtIHJlZlJlY3QuYm90dG9tLFxuICAgIGxlZnQ6IHJlZlJlY3QubGVmdCAtIGJvdW5kYXJpZXMubGVmdFxuICB9O1xuXG4gIHZhciBjb21wdXRlZFBsYWNlbWVudCA9IE9iamVjdC5rZXlzKHNpZGVzKS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIHNpZGVzW2JdIC0gc2lkZXNbYV07XG4gIH0pWzBdO1xuICB2YXIgdmFyaWF0aW9uID0gcGxhY2VtZW50LnNwbGl0KCctJylbMV07XG5cbiAgcmV0dXJuIGNvbXB1dGVkUGxhY2VtZW50ICsgKHZhcmlhdGlvbiA/ICctJyArIHZhcmlhdGlvbiA6ICcnKTtcbn1cblxuLyoqXG4gKiBHZXQgb2Zmc2V0cyB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7T2JqZWN0fSBzdGF0ZVxuICogQHBhcmFtIHtFbGVtZW50fSBwb3BwZXIgLSB0aGUgcG9wcGVyIGVsZW1lbnRcbiAqIEBwYXJhbSB7RWxlbWVudH0gcmVmZXJlbmNlIC0gdGhlIHJlZmVyZW5jZSBlbGVtZW50ICh0aGUgcG9wcGVyIHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhpcylcbiAqIEByZXR1cm5zIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBvZmZzZXRzIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGdldFJlZmVyZW5jZU9mZnNldHMoc3RhdGUsIHBvcHBlciwgcmVmZXJlbmNlKSB7XG4gIHZhciBjb21tb25PZmZzZXRQYXJlbnQgPSBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50KHBvcHBlciwgcmVmZXJlbmNlKTtcbiAgcmV0dXJuIGdldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZShyZWZlcmVuY2UsIGNvbW1vbk9mZnNldFBhcmVudCk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBvdXRlciBzaXplcyBvZiB0aGUgZ2l2ZW4gZWxlbWVudCAob2Zmc2V0IHNpemUgKyBtYXJnaW5zKVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7T2JqZWN0fSBvYmplY3QgY29udGFpbmluZyB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXNcbiAqL1xuZnVuY3Rpb24gZ2V0T3V0ZXJTaXplcyhlbGVtZW50KSB7XG4gIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgdmFyIHggPSBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Ub3ApICsgcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luQm90dG9tKTtcbiAgdmFyIHkgPSBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5MZWZ0KSArIHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpblJpZ2h0KTtcbiAgdmFyIHJlc3VsdCA9IHtcbiAgICB3aWR0aDogZWxlbWVudC5vZmZzZXRXaWR0aCArIHksXG4gICAgaGVpZ2h0OiBlbGVtZW50Lm9mZnNldEhlaWdodCArIHhcbiAgfTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG9wcG9zaXRlIHBsYWNlbWVudCBvZiB0aGUgZ2l2ZW4gb25lXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gcGxhY2VtZW50XG4gKiBAcmV0dXJucyB7U3RyaW5nfSBmbGlwcGVkIHBsYWNlbWVudFxuICovXG5mdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgdmFyIGhhc2ggPSB7IGxlZnQ6ICdyaWdodCcsIHJpZ2h0OiAnbGVmdCcsIGJvdHRvbTogJ3RvcCcsIHRvcDogJ2JvdHRvbScgfTtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgZnVuY3Rpb24gKG1hdGNoZWQpIHtcbiAgICByZXR1cm4gaGFzaFttYXRjaGVkXTtcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IG9mZnNldHMgdG8gdGhlIHBvcHBlclxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtPYmplY3R9IHBvc2l0aW9uIC0gQ1NTIHBvc2l0aW9uIHRoZSBQb3BwZXIgd2lsbCBnZXQgYXBwbGllZFxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyIC0gdGhlIHBvcHBlciBlbGVtZW50XG4gKiBAcGFyYW0ge09iamVjdH0gcmVmZXJlbmNlT2Zmc2V0cyAtIHRoZSByZWZlcmVuY2Ugb2Zmc2V0cyAodGhlIHBvcHBlciB3aWxsIGJlIHJlbGF0aXZlIHRvIHRoaXMpXG4gKiBAcGFyYW0ge1N0cmluZ30gcGxhY2VtZW50IC0gb25lIG9mIHRoZSB2YWxpZCBwbGFjZW1lbnQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gcG9wcGVyT2Zmc2V0cyAtIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBvZmZzZXRzIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGdldFBvcHBlck9mZnNldHMocG9wcGVyLCByZWZlcmVuY2VPZmZzZXRzLCBwbGFjZW1lbnQpIHtcbiAgcGxhY2VtZW50ID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG5cbiAgLy8gR2V0IHBvcHBlciBub2RlIHNpemVzXG4gIHZhciBwb3BwZXJSZWN0ID0gZ2V0T3V0ZXJTaXplcyhwb3BwZXIpO1xuXG4gIC8vIEFkZCBwb3NpdGlvbiwgd2lkdGggYW5kIGhlaWdodCB0byBvdXIgb2Zmc2V0cyBvYmplY3RcbiAgdmFyIHBvcHBlck9mZnNldHMgPSB7XG4gICAgd2lkdGg6IHBvcHBlclJlY3Qud2lkdGgsXG4gICAgaGVpZ2h0OiBwb3BwZXJSZWN0LmhlaWdodFxuICB9O1xuXG4gIC8vIGRlcGVuZGluZyBieSB0aGUgcG9wcGVyIHBsYWNlbWVudCB3ZSBoYXZlIHRvIGNvbXB1dGUgaXRzIG9mZnNldHMgc2xpZ2h0bHkgZGlmZmVyZW50bHlcbiAgdmFyIGlzSG9yaXogPSBbJ3JpZ2h0JywgJ2xlZnQnXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xO1xuICB2YXIgbWFpblNpZGUgPSBpc0hvcml6ID8gJ3RvcCcgOiAnbGVmdCc7XG4gIHZhciBzZWNvbmRhcnlTaWRlID0gaXNIb3JpeiA/ICdsZWZ0JyA6ICd0b3AnO1xuICB2YXIgbWVhc3VyZW1lbnQgPSBpc0hvcml6ID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICB2YXIgc2Vjb25kYXJ5TWVhc3VyZW1lbnQgPSAhaXNIb3JpeiA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICBwb3BwZXJPZmZzZXRzW21haW5TaWRlXSA9IHJlZmVyZW5jZU9mZnNldHNbbWFpblNpZGVdICsgcmVmZXJlbmNlT2Zmc2V0c1ttZWFzdXJlbWVudF0gLyAyIC0gcG9wcGVyUmVjdFttZWFzdXJlbWVudF0gLyAyO1xuICBpZiAocGxhY2VtZW50ID09PSBzZWNvbmRhcnlTaWRlKSB7XG4gICAgcG9wcGVyT2Zmc2V0c1tzZWNvbmRhcnlTaWRlXSA9IHJlZmVyZW5jZU9mZnNldHNbc2Vjb25kYXJ5U2lkZV0gLSBwb3BwZXJSZWN0W3NlY29uZGFyeU1lYXN1cmVtZW50XTtcbiAgfSBlbHNlIHtcbiAgICBwb3BwZXJPZmZzZXRzW3NlY29uZGFyeVNpZGVdID0gcmVmZXJlbmNlT2Zmc2V0c1tnZXRPcHBvc2l0ZVBsYWNlbWVudChzZWNvbmRhcnlTaWRlKV07XG4gIH1cblxuICByZXR1cm4gcG9wcGVyT2Zmc2V0cztcbn1cblxuLyoqXG4gKiBNaW1pY3MgdGhlIGBmaW5kYCBtZXRob2Qgb2YgQXJyYXlcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7QXJyYXl9IGFyclxuICogQGFyZ3VtZW50IHByb3BcbiAqIEBhcmd1bWVudCB2YWx1ZVxuICogQHJldHVybnMgaW5kZXggb3IgLTFcbiAqL1xuZnVuY3Rpb24gZmluZChhcnIsIGNoZWNrKSB7XG4gIC8vIHVzZSBuYXRpdmUgZmluZCBpZiBzdXBwb3J0ZWRcbiAgaWYgKEFycmF5LnByb3RvdHlwZS5maW5kKSB7XG4gICAgcmV0dXJuIGFyci5maW5kKGNoZWNrKTtcbiAgfVxuXG4gIC8vIHVzZSBgZmlsdGVyYCB0byBvYnRhaW4gdGhlIHNhbWUgYmVoYXZpb3Igb2YgYGZpbmRgXG4gIHJldHVybiBhcnIuZmlsdGVyKGNoZWNrKVswXTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGluZGV4IG9mIHRoZSBtYXRjaGluZyBvYmplY3RcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7QXJyYXl9IGFyclxuICogQGFyZ3VtZW50IHByb3BcbiAqIEBhcmd1bWVudCB2YWx1ZVxuICogQHJldHVybnMgaW5kZXggb3IgLTFcbiAqL1xuZnVuY3Rpb24gZmluZEluZGV4KGFyciwgcHJvcCwgdmFsdWUpIHtcbiAgLy8gdXNlIG5hdGl2ZSBmaW5kSW5kZXggaWYgc3VwcG9ydGVkXG4gIGlmIChBcnJheS5wcm90b3R5cGUuZmluZEluZGV4KSB7XG4gICAgcmV0dXJuIGFyci5maW5kSW5kZXgoZnVuY3Rpb24gKGN1cikge1xuICAgICAgcmV0dXJuIGN1cltwcm9wXSA9PT0gdmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICAvLyB1c2UgYGZpbmRgICsgYGluZGV4T2ZgIGlmIGBmaW5kSW5kZXhgIGlzbid0IHN1cHBvcnRlZFxuICB2YXIgbWF0Y2ggPSBmaW5kKGFyciwgZnVuY3Rpb24gKG9iaikge1xuICAgIHJldHVybiBvYmpbcHJvcF0gPT09IHZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIGFyci5pbmRleE9mKG1hdGNoKTtcbn1cblxuLyoqXG4gKiBMb29wIHRyb3VnaCB0aGUgbGlzdCBvZiBtb2RpZmllcnMgYW5kIHJ1biB0aGVtIGluIG9yZGVyLFxuICogZWFjaCBvZiB0aGVtIHdpbGwgdGhlbiBlZGl0IHRoZSBkYXRhIG9iamVjdC5cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7ZGF0YU9iamVjdH0gZGF0YVxuICogQHBhcmFtIHtBcnJheX0gbW9kaWZpZXJzXG4gKiBAcGFyYW0ge1N0cmluZ30gZW5kcyAtIE9wdGlvbmFsIG1vZGlmaWVyIG5hbWUgdXNlZCBhcyBzdG9wcGVyXG4gKiBAcmV0dXJucyB7ZGF0YU9iamVjdH1cbiAqL1xuZnVuY3Rpb24gcnVuTW9kaWZpZXJzKG1vZGlmaWVycywgZGF0YSwgZW5kcykge1xuICB2YXIgbW9kaWZpZXJzVG9SdW4gPSBlbmRzID09PSB1bmRlZmluZWQgPyBtb2RpZmllcnMgOiBtb2RpZmllcnMuc2xpY2UoMCwgZmluZEluZGV4KG1vZGlmaWVycywgJ25hbWUnLCBlbmRzKSk7XG5cbiAgbW9kaWZpZXJzVG9SdW4uZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICBpZiAobW9kaWZpZXIuZnVuY3Rpb24pIHtcbiAgICAgIGNvbnNvbGUud2FybignYG1vZGlmaWVyLmZ1bmN0aW9uYCBpcyBkZXByZWNhdGVkLCB1c2UgYG1vZGlmaWVyLmZuYCEnKTtcbiAgICB9XG4gICAgdmFyIGZuID0gbW9kaWZpZXIuZnVuY3Rpb24gfHwgbW9kaWZpZXIuZm47XG4gICAgaWYgKG1vZGlmaWVyLmVuYWJsZWQgJiYgaXNGdW5jdGlvbihmbikpIHtcbiAgICAgIGRhdGEgPSBmbihkYXRhLCBtb2RpZmllcik7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgcG9wcGVyLCBjb21wdXRpbmcgdGhlIG5ldyBvZmZzZXRzIGFuZCBhcHBseWluZ1xuICogdGhlIG5ldyBzdHlsZS48YnIgLz5cbiAqIFByZWZlciBgc2NoZWR1bGVVcGRhdGVgIG92ZXIgYHVwZGF0ZWAgYmVjYXVzZSBvZiBwZXJmb3JtYW5jZSByZWFzb25zLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG5mdW5jdGlvbiB1cGRhdGUoKSB7XG4gIC8vIGlmIHBvcHBlciBpcyBkZXN0cm95ZWQsIGRvbid0IHBlcmZvcm0gYW55IGZ1cnRoZXIgdXBkYXRlXG4gIGlmICh0aGlzLnN0YXRlLmlzRGVzdHJveWVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGRhdGEgPSB7XG4gICAgaW5zdGFuY2U6IHRoaXMsXG4gICAgc3R5bGVzOiB7fSxcbiAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICBmbGlwcGVkOiBmYWxzZSxcbiAgICBvZmZzZXRzOiB7fVxuICB9O1xuXG4gIC8vIGNvbXB1dGUgcmVmZXJlbmNlIGVsZW1lbnQgb2Zmc2V0c1xuICBkYXRhLm9mZnNldHMucmVmZXJlbmNlID0gZ2V0UmVmZXJlbmNlT2Zmc2V0cyh0aGlzLnN0YXRlLCB0aGlzLnBvcHBlciwgdGhpcy5yZWZlcmVuY2UpO1xuXG4gIC8vIGNvbXB1dGUgYXV0byBwbGFjZW1lbnQsIHN0b3JlIHBsYWNlbWVudCBpbnNpZGUgdGhlIGRhdGEgb2JqZWN0LFxuICAvLyBtb2RpZmllcnMgd2lsbCBiZSBhYmxlIHRvIGVkaXQgYHBsYWNlbWVudGAgaWYgbmVlZGVkXG4gIC8vIGFuZCByZWZlciB0byBvcmlnaW5hbFBsYWNlbWVudCB0byBrbm93IHRoZSBvcmlnaW5hbCB2YWx1ZVxuICBkYXRhLnBsYWNlbWVudCA9IGNvbXB1dGVBdXRvUGxhY2VtZW50KHRoaXMub3B0aW9ucy5wbGFjZW1lbnQsIGRhdGEub2Zmc2V0cy5yZWZlcmVuY2UsIHRoaXMucG9wcGVyLCB0aGlzLnJlZmVyZW5jZSwgdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50KTtcblxuICAvLyBzdG9yZSB0aGUgY29tcHV0ZWQgcGxhY2VtZW50IGluc2lkZSBgb3JpZ2luYWxQbGFjZW1lbnRgXG4gIGRhdGEub3JpZ2luYWxQbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudDtcblxuICAvLyBjb21wdXRlIHRoZSBwb3BwZXIgb2Zmc2V0c1xuICBkYXRhLm9mZnNldHMucG9wcGVyID0gZ2V0UG9wcGVyT2Zmc2V0cyh0aGlzLnBvcHBlciwgZGF0YS5vZmZzZXRzLnJlZmVyZW5jZSwgZGF0YS5wbGFjZW1lbnQpO1xuICBkYXRhLm9mZnNldHMucG9wcGVyLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcblxuICAvLyBydW4gdGhlIG1vZGlmaWVyc1xuICBkYXRhID0gcnVuTW9kaWZpZXJzKHRoaXMubW9kaWZpZXJzLCBkYXRhKTtcblxuICAvLyB0aGUgZmlyc3QgYHVwZGF0ZWAgd2lsbCBjYWxsIGBvbkNyZWF0ZWAgY2FsbGJhY2tcbiAgLy8gdGhlIG90aGVyIG9uZXMgd2lsbCBjYWxsIGBvblVwZGF0ZWAgY2FsbGJhY2tcbiAgaWYgKCF0aGlzLnN0YXRlLmlzQ3JlYXRlZCkge1xuICAgIHRoaXMuc3RhdGUuaXNDcmVhdGVkID0gdHJ1ZTtcbiAgICB0aGlzLm9wdGlvbnMub25DcmVhdGUoZGF0YSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5vcHRpb25zLm9uVXBkYXRlKGRhdGEpO1xuICB9XG59XG5cbi8qKlxuICogSGVscGVyIHVzZWQgdG8ga25vdyBpZiB0aGUgZ2l2ZW4gbW9kaWZpZXIgaXMgZW5hYmxlZC5cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEByZXR1cm5zIHtCb29sZWFufVxuICovXG5mdW5jdGlvbiBpc01vZGlmaWVyRW5hYmxlZChtb2RpZmllcnMsIG1vZGlmaWVyTmFtZSkge1xuICByZXR1cm4gbW9kaWZpZXJzLnNvbWUoZnVuY3Rpb24gKF9yZWYpIHtcbiAgICB2YXIgbmFtZSA9IF9yZWYubmFtZSxcbiAgICAgICAgZW5hYmxlZCA9IF9yZWYuZW5hYmxlZDtcbiAgICByZXR1cm4gZW5hYmxlZCAmJiBuYW1lID09PSBtb2RpZmllck5hbWU7XG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCB0aGUgcHJlZml4ZWQgc3VwcG9ydGVkIHByb3BlcnR5IG5hbWVcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBwcm9wZXJ0eSAoY2FtZWxDYXNlKVxuICogQHJldHVybnMge1N0cmluZ30gcHJlZml4ZWQgcHJvcGVydHkgKGNhbWVsQ2FzZSlcbiAqL1xuZnVuY3Rpb24gZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKHByb3BlcnR5KSB7XG4gIHZhciBwcmVmaXhlcyA9IFtmYWxzZSwgJ21zJywgJ3dlYmtpdCcsICdtb3onLCAnbyddO1xuICB2YXIgdXBwZXJQcm9wID0gcHJvcGVydHkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwcm9wZXJ0eS5zbGljZSgxKTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHByZWZpeGVzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIHZhciBwcmVmaXggPSBwcmVmaXhlc1tpXTtcbiAgICB2YXIgdG9DaGVjayA9IHByZWZpeCA/ICcnICsgcHJlZml4ICsgdXBwZXJQcm9wIDogcHJvcGVydHk7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQuYm9keS5zdHlsZVt0b0NoZWNrXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0b0NoZWNrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBEZXN0cm95IHRoZSBwb3BwZXJcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXJcbiAqL1xuZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZCA9IHRydWU7XG5cbiAgLy8gdG91Y2ggRE9NIG9ubHkgaWYgYGFwcGx5U3R5bGVgIG1vZGlmaWVyIGlzIGVuYWJsZWRcbiAgaWYgKGlzTW9kaWZpZXJFbmFibGVkKHRoaXMubW9kaWZpZXJzLCAnYXBwbHlTdHlsZScpKSB7XG4gICAgdGhpcy5wb3BwZXIucmVtb3ZlQXR0cmlidXRlKCd4LXBsYWNlbWVudCcpO1xuICAgIHRoaXMucG9wcGVyLnN0eWxlLmxlZnQgPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS5wb3NpdGlvbiA9ICcnO1xuICAgIHRoaXMucG9wcGVyLnN0eWxlLnRvcCA9ICcnO1xuICAgIHRoaXMucG9wcGVyLnN0eWxlW2dldFN1cHBvcnRlZFByb3BlcnR5TmFtZSgndHJhbnNmb3JtJyldID0gJyc7XG4gIH1cblxuICB0aGlzLmRpc2FibGVFdmVudExpc3RlbmVycygpO1xuXG4gIC8vIHJlbW92ZSB0aGUgcG9wcGVyIGlmIHVzZXIgZXhwbGljaXR5IGFza2VkIGZvciB0aGUgZGVsZXRpb24gb24gZGVzdHJveVxuICAvLyBkbyBub3QgdXNlIGByZW1vdmVgIGJlY2F1c2UgSUUxMSBkb2Vzbid0IHN1cHBvcnQgaXRcbiAgaWYgKHRoaXMub3B0aW9ucy5yZW1vdmVPbkRlc3Ryb3kpIHtcbiAgICB0aGlzLnBvcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucG9wcGVyKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn1cblxuZnVuY3Rpb24gYXR0YWNoVG9TY3JvbGxQYXJlbnRzKHNjcm9sbFBhcmVudCwgZXZlbnQsIGNhbGxiYWNrLCBzY3JvbGxQYXJlbnRzKSB7XG4gIHZhciBpc0JvZHkgPSBzY3JvbGxQYXJlbnQubm9kZU5hbWUgPT09ICdCT0RZJztcbiAgdmFyIHRhcmdldCA9IGlzQm9keSA/IHdpbmRvdyA6IHNjcm9sbFBhcmVudDtcbiAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGNhbGxiYWNrLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cbiAgaWYgKCFpc0JvZHkpIHtcbiAgICBhdHRhY2hUb1Njcm9sbFBhcmVudHMoZ2V0U2Nyb2xsUGFyZW50KHRhcmdldC5wYXJlbnROb2RlKSwgZXZlbnQsIGNhbGxiYWNrLCBzY3JvbGxQYXJlbnRzKTtcbiAgfVxuICBzY3JvbGxQYXJlbnRzLnB1c2godGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBTZXR1cCBuZWVkZWQgZXZlbnQgbGlzdGVuZXJzIHVzZWQgdG8gdXBkYXRlIHRoZSBwb3BwZXIgcG9zaXRpb25cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHNldHVwRXZlbnRMaXN0ZW5lcnMocmVmZXJlbmNlLCBvcHRpb25zLCBzdGF0ZSwgdXBkYXRlQm91bmQpIHtcbiAgLy8gUmVzaXplIGV2ZW50IGxpc3RlbmVyIG9uIHdpbmRvd1xuICBzdGF0ZS51cGRhdGVCb3VuZCA9IHVwZGF0ZUJvdW5kO1xuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgc3RhdGUudXBkYXRlQm91bmQsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblxuICAvLyBTY3JvbGwgZXZlbnQgbGlzdGVuZXIgb24gc2Nyb2xsIHBhcmVudHNcbiAgdmFyIHNjcm9sbEVsZW1lbnQgPSBnZXRTY3JvbGxQYXJlbnQocmVmZXJlbmNlKTtcbiAgYXR0YWNoVG9TY3JvbGxQYXJlbnRzKHNjcm9sbEVsZW1lbnQsICdzY3JvbGwnLCBzdGF0ZS51cGRhdGVCb3VuZCwgc3RhdGUuc2Nyb2xsUGFyZW50cyk7XG4gIHN0YXRlLnNjcm9sbEVsZW1lbnQgPSBzY3JvbGxFbGVtZW50O1xuICBzdGF0ZS5ldmVudHNFbmFibGVkID0gdHJ1ZTtcblxuICByZXR1cm4gc3RhdGU7XG59XG5cbi8qKlxuICogSXQgd2lsbCBhZGQgcmVzaXplL3Njcm9sbCBldmVudHMgYW5kIHN0YXJ0IHJlY2FsY3VsYXRpbmdcbiAqIHBvc2l0aW9uIG9mIHRoZSBwb3BwZXIgZWxlbWVudCB3aGVuIHRoZXkgYXJlIHRyaWdnZXJlZC5cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXJcbiAqL1xuZnVuY3Rpb24gZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKSB7XG4gIGlmICghdGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHNldHVwRXZlbnRMaXN0ZW5lcnModGhpcy5yZWZlcmVuY2UsIHRoaXMub3B0aW9ucywgdGhpcy5zdGF0ZSwgdGhpcy5zY2hlZHVsZVVwZGF0ZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZXZlbnQgbGlzdGVuZXJzIHVzZWQgdG8gdXBkYXRlIHRoZSBwb3BwZXIgcG9zaXRpb25cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZUV2ZW50TGlzdGVuZXJzKHJlZmVyZW5jZSwgc3RhdGUpIHtcbiAgLy8gUmVtb3ZlIHJlc2l6ZSBldmVudCBsaXN0ZW5lciBvbiB3aW5kb3dcbiAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcblxuICAvLyBSZW1vdmUgc2Nyb2xsIGV2ZW50IGxpc3RlbmVyIG9uIHNjcm9sbCBwYXJlbnRzXG4gIHN0YXRlLnNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcbiAgfSk7XG5cbiAgLy8gUmVzZXQgc3RhdGVcbiAgc3RhdGUudXBkYXRlQm91bmQgPSBudWxsO1xuICBzdGF0ZS5zY3JvbGxQYXJlbnRzID0gW107XG4gIHN0YXRlLnNjcm9sbEVsZW1lbnQgPSBudWxsO1xuICBzdGF0ZS5ldmVudHNFbmFibGVkID0gZmFsc2U7XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuLyoqXG4gKiBJdCB3aWxsIHJlbW92ZSByZXNpemUvc2Nyb2xsIGV2ZW50cyBhbmQgd29uJ3QgcmVjYWxjdWxhdGUgcG9wcGVyIHBvc2l0aW9uXG4gKiB3aGVuIHRoZXkgYXJlIHRyaWdnZXJlZC4gSXQgYWxzbyB3b24ndCB0cmlnZ2VyIG9uVXBkYXRlIGNhbGxiYWNrIGFueW1vcmUsXG4gKiB1bmxlc3MgeW91IGNhbGwgYHVwZGF0ZWAgbWV0aG9kIG1hbnVhbGx5LlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG5mdW5jdGlvbiBkaXNhYmxlRXZlbnRMaXN0ZW5lcnMoKSB7XG4gIGlmICh0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQpIHtcbiAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY2hlZHVsZVVwZGF0ZSk7XG4gICAgdGhpcy5zdGF0ZSA9IHJlbW92ZUV2ZW50TGlzdGVuZXJzKHRoaXMucmVmZXJlbmNlLCB0aGlzLnN0YXRlKTtcbiAgfVxufVxuXG4vKipcbiAqIFNldCB0aGUgYXR0cmlidXRlcyB0byB0aGUgZ2l2ZW4gcG9wcGVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnQgLSBFbGVtZW50IHRvIGFwcGx5IHRoZSBhdHRyaWJ1dGVzIHRvXG4gKiBAYXJndW1lbnQge09iamVjdH0gc3R5bGVzXG4gKiBPYmplY3Qgd2l0aCBhIGxpc3Qgb2YgcHJvcGVydGllcyBhbmQgdmFsdWVzIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudFxuICovXG5mdW5jdGlvbiBzZXRBdHRyaWJ1dGVzKGVsZW1lbnQsIGF0dHJpYnV0ZXMpIHtcbiAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgIHZhciB2YWx1ZSA9IGF0dHJpYnV0ZXNbcHJvcF07XG4gICAgaWYgKHZhbHVlICE9PSBmYWxzZSkge1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUocHJvcCwgYXR0cmlidXRlc1twcm9wXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHByb3ApO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgYHVwZGF0ZWAgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YS5zdHlsZXMgLSBMaXN0IG9mIHN0eWxlIHByb3BlcnRpZXMgLSB2YWx1ZXMgdG8gYXBwbHkgdG8gcG9wcGVyIGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhLmF0dHJpYnV0ZXMgLSBMaXN0IG9mIGF0dHJpYnV0ZSBwcm9wZXJ0aWVzIC0gdmFsdWVzIHRvIGFwcGx5IHRvIHBvcHBlciBlbGVtZW50XG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgc2FtZSBkYXRhIG9iamVjdFxuICovXG5mdW5jdGlvbiBhcHBseVN0eWxlKGRhdGEsIG9wdGlvbnMpIHtcbiAgLy8gYXBwbHkgdGhlIGZpbmFsIG9mZnNldHMgdG8gdGhlIHBvcHBlclxuICAvLyBOT1RFOiAxIERPTSBhY2Nlc3MgaGVyZVxuICB2YXIgc3R5bGVzID0ge1xuICAgIHBvc2l0aW9uOiBkYXRhLm9mZnNldHMucG9wcGVyLnBvc2l0aW9uXG4gIH07XG5cbiAgdmFyIGF0dHJpYnV0ZXMgPSB7XG4gICAgJ3gtcGxhY2VtZW50JzogZGF0YS5wbGFjZW1lbnRcbiAgfTtcblxuICAvLyByb3VuZCB0b3AgYW5kIGxlZnQgdG8gYXZvaWQgYmx1cnJ5IHRleHRcbiAgdmFyIGxlZnQgPSBNYXRoLnJvdW5kKGRhdGEub2Zmc2V0cy5wb3BwZXIubGVmdCk7XG4gIHZhciB0b3AgPSBNYXRoLnJvdW5kKGRhdGEub2Zmc2V0cy5wb3BwZXIudG9wKTtcblxuICAvLyBpZiBncHVBY2NlbGVyYXRpb24gaXMgc2V0IHRvIHRydWUgYW5kIHRyYW5zZm9ybSBpcyBzdXBwb3J0ZWQsXG4gIC8vICB3ZSB1c2UgYHRyYW5zbGF0ZTNkYCB0byBhcHBseSB0aGUgcG9zaXRpb24gdG8gdGhlIHBvcHBlciB3ZVxuICAvLyBhdXRvbWF0aWNhbGx5IHVzZSB0aGUgc3VwcG9ydGVkIHByZWZpeGVkIHZlcnNpb24gaWYgbmVlZGVkXG4gIHZhciBwcmVmaXhlZFByb3BlcnR5ID0gZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKCd0cmFuc2Zvcm0nKTtcbiAgaWYgKG9wdGlvbnMuZ3B1QWNjZWxlcmF0aW9uICYmIHByZWZpeGVkUHJvcGVydHkpIHtcbiAgICBzdHlsZXNbcHJlZml4ZWRQcm9wZXJ0eV0gPSAndHJhbnNsYXRlM2QoJyArIGxlZnQgKyAncHgsICcgKyB0b3AgKyAncHgsIDApJztcbiAgICBzdHlsZXMudG9wID0gMDtcbiAgICBzdHlsZXMubGVmdCA9IDA7XG4gICAgc3R5bGVzLndpbGxDaGFuZ2UgPSAndHJhbnNmb3JtJztcbiAgfSBlbHNlIHtcbiAgICAvLyBvdGh3ZXJpc2UsIHdlIHVzZSB0aGUgc3RhbmRhcmQgYGxlZnRgIGFuZCBgdG9wYCBwcm9wZXJ0aWVzXG4gICAgc3R5bGVzLmxlZnQgPSBsZWZ0O1xuICAgIHN0eWxlcy50b3AgPSB0b3A7XG4gICAgc3R5bGVzLndpbGxDaGFuZ2UgPSAndG9wLCBsZWZ0JztcbiAgfVxuXG4gIC8vIGFueSBwcm9wZXJ0eSBwcmVzZW50IGluIGBkYXRhLnN0eWxlc2Agd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXIsXG4gIC8vIGluIHRoaXMgd2F5IHdlIGNhbiBtYWtlIHRoZSAzcmQgcGFydHkgbW9kaWZpZXJzIGFkZCBjdXN0b20gc3R5bGVzIHRvIGl0XG4gIC8vIEJlIGF3YXJlLCBtb2RpZmllcnMgY291bGQgb3ZlcnJpZGUgdGhlIHByb3BlcnRpZXMgZGVmaW5lZCBpbiB0aGUgcHJldmlvdXNcbiAgLy8gbGluZXMgb2YgdGhpcyBtb2RpZmllciFcbiAgc2V0U3R5bGVzKGRhdGEuaW5zdGFuY2UucG9wcGVyLCBfZXh0ZW5kcyh7fSwgc3R5bGVzLCBkYXRhLnN0eWxlcykpO1xuXG4gIC8vIGFueSBwcm9wZXJ0eSBwcmVzZW50IGluIGBkYXRhLmF0dHJpYnV0ZXNgIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLFxuICAvLyB0aGV5IHdpbGwgYmUgc2V0IGFzIEhUTUwgYXR0cmlidXRlcyBvZiB0aGUgZWxlbWVudFxuICBzZXRBdHRyaWJ1dGVzKGRhdGEuaW5zdGFuY2UucG9wcGVyLCBfZXh0ZW5kcyh7fSwgYXR0cmlidXRlcywgZGF0YS5hdHRyaWJ1dGVzKSk7XG5cbiAgLy8gaWYgdGhlIGFycm93IHN0eWxlIGhhcyBiZWVuIGNvbXB1dGVkLCBhcHBseSB0aGUgYXJyb3cgc3R5bGVcbiAgaWYgKGRhdGEub2Zmc2V0cy5hcnJvdykge1xuICAgIHNldFN0eWxlcyhkYXRhLmFycm93RWxlbWVudCwgZGF0YS5vZmZzZXRzLmFycm93KTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIFNldCB0aGUgeC1wbGFjZW1lbnQgYXR0cmlidXRlIGJlZm9yZSBldmVyeXRoaW5nIGVsc2UgYmVjYXVzZSBpdCBjb3VsZCBiZSB1c2VkXG4gKiB0byBhZGQgbWFyZ2lucyB0byB0aGUgcG9wcGVyIG1hcmdpbnMgbmVlZHMgdG8gYmUgY2FsY3VsYXRlZCB0byBnZXQgdGhlXG4gKiBjb3JyZWN0IHBvcHBlciBvZmZzZXRzLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5tb2RpZmllcnNcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgZWxlbWVudCB1c2VkIHRvIHBvc2l0aW9uIHRoZSBwb3BwZXJcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHBvcHBlciAtIFRoZSBIVE1MIGVsZW1lbnQgdXNlZCBhcyBwb3BwZXIuXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFBvcHBlci5qcyBvcHRpb25zXG4gKi9cbmZ1bmN0aW9uIGFwcGx5U3R5bGVPbkxvYWQocmVmZXJlbmNlLCBwb3BwZXIsIG9wdGlvbnMsIG1vZGlmaWVyT3B0aW9ucywgc3RhdGUpIHtcbiAgLy8gY29tcHV0ZSByZWZlcmVuY2UgZWxlbWVudCBvZmZzZXRzXG4gIHZhciByZWZlcmVuY2VPZmZzZXRzID0gZ2V0UmVmZXJlbmNlT2Zmc2V0cyhzdGF0ZSwgcG9wcGVyLCByZWZlcmVuY2UpO1xuXG4gIC8vIGNvbXB1dGUgYXV0byBwbGFjZW1lbnQsIHN0b3JlIHBsYWNlbWVudCBpbnNpZGUgdGhlIGRhdGEgb2JqZWN0LFxuICAvLyBtb2RpZmllcnMgd2lsbCBiZSBhYmxlIHRvIGVkaXQgYHBsYWNlbWVudGAgaWYgbmVlZGVkXG4gIC8vIGFuZCByZWZlciB0byBvcmlnaW5hbFBsYWNlbWVudCB0byBrbm93IHRoZSBvcmlnaW5hbCB2YWx1ZVxuICB2YXIgcGxhY2VtZW50ID0gY29tcHV0ZUF1dG9QbGFjZW1lbnQob3B0aW9ucy5wbGFjZW1lbnQsIHJlZmVyZW5jZU9mZnNldHMsIHBvcHBlciwgcmVmZXJlbmNlLCBvcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50KTtcblxuICBwb3BwZXIuc2V0QXR0cmlidXRlKCd4LXBsYWNlbWVudCcsIHBsYWNlbWVudCk7XG4gIHJldHVybiBvcHRpb25zO1xufVxuXG4vKipcbiAqIEhlbHBlciB1c2VkIHRvIGtub3cgaWYgdGhlIGdpdmVuIG1vZGlmaWVyIGRlcGVuZHMgZnJvbSBhbm90aGVyIG9uZS48YnIgLz5cbiAqIEl0IGNoZWNrcyBpZiB0aGUgbmVlZGVkIG1vZGlmaWVyIGlzIGxpc3RlZCBhbmQgZW5hYmxlZC5cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7QXJyYXl9IG1vZGlmaWVycyAtIGxpc3Qgb2YgbW9kaWZpZXJzXG4gKiBAcGFyYW0ge1N0cmluZ30gcmVxdWVzdGluZ05hbWUgLSBuYW1lIG9mIHJlcXVlc3RpbmcgbW9kaWZpZXJcbiAqIEBwYXJhbSB7U3RyaW5nfSByZXF1ZXN0ZWROYW1lIC0gbmFtZSBvZiByZXF1ZXN0ZWQgbW9kaWZpZXJcbiAqIEByZXR1cm5zIHtCb29sZWFufVxuICovXG5mdW5jdGlvbiBpc01vZGlmaWVyUmVxdWlyZWQobW9kaWZpZXJzLCByZXF1ZXN0aW5nTmFtZSwgcmVxdWVzdGVkTmFtZSkge1xuICB2YXIgcmVxdWVzdGluZyA9IGZpbmQobW9kaWZpZXJzLCBmdW5jdGlvbiAoX3JlZikge1xuICAgIHZhciBuYW1lID0gX3JlZi5uYW1lO1xuICAgIHJldHVybiBuYW1lID09PSByZXF1ZXN0aW5nTmFtZTtcbiAgfSk7XG5cbiAgdmFyIGlzUmVxdWlyZWQgPSAhIXJlcXVlc3RpbmcgJiYgbW9kaWZpZXJzLnNvbWUoZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgcmV0dXJuIG1vZGlmaWVyLm5hbWUgPT09IHJlcXVlc3RlZE5hbWUgJiYgbW9kaWZpZXIuZW5hYmxlZCAmJiBtb2RpZmllci5vcmRlciA8IHJlcXVlc3Rpbmcub3JkZXI7XG4gIH0pO1xuXG4gIGlmICghaXNSZXF1aXJlZCkge1xuICAgIHZhciBfcmVxdWVzdGluZyA9ICdgJyArIHJlcXVlc3RpbmdOYW1lICsgJ2AnO1xuICAgIHZhciByZXF1ZXN0ZWQgPSAnYCcgKyByZXF1ZXN0ZWROYW1lICsgJ2AnO1xuICAgIGNvbnNvbGUud2FybihyZXF1ZXN0ZWQgKyAnIG1vZGlmaWVyIGlzIHJlcXVpcmVkIGJ5ICcgKyBfcmVxdWVzdGluZyArICcgbW9kaWZpZXIgaW4gb3JkZXIgdG8gd29yaywgYmUgc3VyZSB0byBpbmNsdWRlIGl0IGJlZm9yZSAnICsgX3JlcXVlc3RpbmcgKyAnIScpO1xuICB9XG4gIHJldHVybiBpc1JlcXVpcmVkO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IHVwZGF0ZSBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gYXJyb3coZGF0YSwgb3B0aW9ucykge1xuICAvLyBhcnJvdyBkZXBlbmRzIG9uIGtlZXBUb2dldGhlciBpbiBvcmRlciB0byB3b3JrXG4gIGlmICghaXNNb2RpZmllclJlcXVpcmVkKGRhdGEuaW5zdGFuY2UubW9kaWZpZXJzLCAnYXJyb3cnLCAna2VlcFRvZ2V0aGVyJykpIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHZhciBhcnJvd0VsZW1lbnQgPSBvcHRpb25zLmVsZW1lbnQ7XG5cbiAgLy8gaWYgYXJyb3dFbGVtZW50IGlzIGEgc3RyaW5nLCBzdXBwb3NlIGl0J3MgYSBDU1Mgc2VsZWN0b3JcbiAgaWYgKHR5cGVvZiBhcnJvd0VsZW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgYXJyb3dFbGVtZW50ID0gZGF0YS5pbnN0YW5jZS5wb3BwZXIucXVlcnlTZWxlY3RvcihhcnJvd0VsZW1lbnQpO1xuXG4gICAgLy8gaWYgYXJyb3dFbGVtZW50IGlzIG5vdCBmb3VuZCwgZG9uJ3QgcnVuIHRoZSBtb2RpZmllclxuICAgIGlmICghYXJyb3dFbGVtZW50KSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gaWYgdGhlIGFycm93RWxlbWVudCBpc24ndCBhIHF1ZXJ5IHNlbGVjdG9yIHdlIG11c3QgY2hlY2sgdGhhdCB0aGVcbiAgICAvLyBwcm92aWRlZCBET00gbm9kZSBpcyBjaGlsZCBvZiBpdHMgcG9wcGVyIG5vZGVcbiAgICBpZiAoIWRhdGEuaW5zdGFuY2UucG9wcGVyLmNvbnRhaW5zKGFycm93RWxlbWVudCkpIHtcbiAgICAgIGNvbnNvbGUud2FybignV0FSTklORzogYGFycm93LmVsZW1lbnRgIG11c3QgYmUgY2hpbGQgb2YgaXRzIHBvcHBlciBlbGVtZW50IScpO1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICB9XG5cbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gIHZhciBwb3BwZXIgPSBnZXRDbGllbnRSZWN0KGRhdGEub2Zmc2V0cy5wb3BwZXIpO1xuICB2YXIgcmVmZXJlbmNlID0gZGF0YS5vZmZzZXRzLnJlZmVyZW5jZTtcbiAgdmFyIGlzVmVydGljYWwgPSBbJ2xlZnQnLCAncmlnaHQnXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xO1xuXG4gIHZhciBsZW4gPSBpc1ZlcnRpY2FsID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICB2YXIgc2lkZSA9IGlzVmVydGljYWwgPyAndG9wJyA6ICdsZWZ0JztcbiAgdmFyIGFsdFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBvcFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICB2YXIgYXJyb3dFbGVtZW50U2l6ZSA9IGdldE91dGVyU2l6ZXMoYXJyb3dFbGVtZW50KVtsZW5dO1xuXG4gIC8vXG4gIC8vIGV4dGVuZHMga2VlcFRvZ2V0aGVyIGJlaGF2aW9yIG1ha2luZyBzdXJlIHRoZSBwb3BwZXIgYW5kIGl0cyByZWZlcmVuY2UgaGF2ZSBlbm91Z2ggcGl4ZWxzIGluIGNvbmp1Y3Rpb25cbiAgLy9cblxuICAvLyB0b3AvbGVmdCBzaWRlXG4gIGlmIChyZWZlcmVuY2Vbb3BTaWRlXSAtIGFycm93RWxlbWVudFNpemUgPCBwb3BwZXJbc2lkZV0pIHtcbiAgICBkYXRhLm9mZnNldHMucG9wcGVyW3NpZGVdIC09IHBvcHBlcltzaWRlXSAtIChyZWZlcmVuY2Vbb3BTaWRlXSAtIGFycm93RWxlbWVudFNpemUpO1xuICB9XG4gIC8vIGJvdHRvbS9yaWdodCBzaWRlXG4gIGlmIChyZWZlcmVuY2Vbc2lkZV0gKyBhcnJvd0VsZW1lbnRTaXplID4gcG9wcGVyW29wU2lkZV0pIHtcbiAgICBkYXRhLm9mZnNldHMucG9wcGVyW3NpZGVdICs9IHJlZmVyZW5jZVtzaWRlXSArIGFycm93RWxlbWVudFNpemUgLSBwb3BwZXJbb3BTaWRlXTtcbiAgfVxuXG4gIC8vIGNvbXB1dGUgY2VudGVyIG9mIHRoZSBwb3BwZXJcbiAgdmFyIGNlbnRlciA9IHJlZmVyZW5jZVtzaWRlXSArIHJlZmVyZW5jZVtsZW5dIC8gMiAtIGFycm93RWxlbWVudFNpemUgLyAyO1xuXG4gIC8vIENvbXB1dGUgdGhlIHNpZGVWYWx1ZSB1c2luZyB0aGUgdXBkYXRlZCBwb3BwZXIgb2Zmc2V0c1xuICB2YXIgc2lkZVZhbHVlID0gY2VudGVyIC0gZ2V0Q2xpZW50UmVjdChkYXRhLm9mZnNldHMucG9wcGVyKVtzaWRlXTtcblxuICAvLyBwcmV2ZW50IGFycm93RWxlbWVudCBmcm9tIGJlaW5nIHBsYWNlZCBub3QgY29udGlndW91c2x5IHRvIGl0cyBwb3BwZXJcbiAgc2lkZVZhbHVlID0gTWF0aC5tYXgoTWF0aC5taW4ocG9wcGVyW2xlbl0gLSBhcnJvd0VsZW1lbnRTaXplLCBzaWRlVmFsdWUpLCAwKTtcblxuICBkYXRhLmFycm93RWxlbWVudCA9IGFycm93RWxlbWVudDtcbiAgZGF0YS5vZmZzZXRzLmFycm93ID0ge307XG4gIGRhdGEub2Zmc2V0cy5hcnJvd1tzaWRlXSA9IHNpZGVWYWx1ZTtcbiAgZGF0YS5vZmZzZXRzLmFycm93W2FsdFNpZGVdID0gJyc7IC8vIG1ha2Ugc3VyZSB0byB1bnNldCBhbnkgZXZlbnR1YWwgYWx0U2lkZSB2YWx1ZSBmcm9tIHRoZSBET00gbm9kZVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIEdldCB0aGUgb3Bwb3NpdGUgcGxhY2VtZW50IHZhcmlhdGlvbiBvZiB0aGUgZ2l2ZW4gb25lXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gcGxhY2VtZW50IHZhcmlhdGlvblxuICogQHJldHVybnMge1N0cmluZ30gZmxpcHBlZCBwbGFjZW1lbnQgdmFyaWF0aW9uXG4gKi9cbmZ1bmN0aW9uIGdldE9wcG9zaXRlVmFyaWF0aW9uKHZhcmlhdGlvbikge1xuICBpZiAodmFyaWF0aW9uID09PSAnZW5kJykge1xuICAgIHJldHVybiAnc3RhcnQnO1xuICB9IGVsc2UgaWYgKHZhcmlhdGlvbiA9PT0gJ3N0YXJ0Jykge1xuICAgIHJldHVybiAnZW5kJztcbiAgfVxuICByZXR1cm4gdmFyaWF0aW9uO1xufVxuXG4vKipcbiAqIExpc3Qgb2YgYWNjZXB0ZWQgcGxhY2VtZW50cyB0byB1c2UgYXMgdmFsdWVzIG9mIHRoZSBgcGxhY2VtZW50YCBvcHRpb24uPGJyIC8+XG4gKiBWYWxpZCBwbGFjZW1lbnRzIGFyZTpcbiAqIC0gYGF1dG9gXG4gKiAtIGB0b3BgXG4gKiAtIGByaWdodGBcbiAqIC0gYGJvdHRvbWBcbiAqIC0gYGxlZnRgXG4gKlxuICogRWFjaCBwbGFjZW1lbnQgY2FuIGhhdmUgYSB2YXJpYXRpb24gZnJvbSB0aGlzIGxpc3Q6XG4gKiAtIGAtc3RhcnRgXG4gKiAtIGAtZW5kYFxuICpcbiAqIFZhcmlhdGlvbnMgYXJlIGludGVycHJldGVkIGVhc2lseSBpZiB5b3UgdGhpbmsgb2YgdGhlbSBhcyB0aGUgbGVmdCB0byByaWdodFxuICogd3JpdHRlbiBsYW5ndWFnZXMuIEhvcml6b250YWxseSAoYHRvcGAgYW5kIGBib3R0b21gKSwgYHN0YXJ0YCBpcyBsZWZ0IGFuZCBgZW5kYFxuICogaXMgcmlnaHQuPGJyIC8+XG4gKiBWZXJ0aWNhbGx5IChgbGVmdGAgYW5kIGByaWdodGApLCBgc3RhcnRgIGlzIHRvcCBhbmQgYGVuZGAgaXMgYm90dG9tLlxuICpcbiAqIFNvbWUgdmFsaWQgZXhhbXBsZXMgYXJlOlxuICogLSBgdG9wLWVuZGAgKG9uIHRvcCBvZiByZWZlcmVuY2UsIHJpZ2h0IGFsaWduZWQpXG4gKiAtIGByaWdodC1zdGFydGAgKG9uIHJpZ2h0IG9mIHJlZmVyZW5jZSwgdG9wIGFsaWduZWQpXG4gKiAtIGBib3R0b21gIChvbiBib3R0b20sIGNlbnRlcmVkKVxuICogLSBgYXV0by1yaWdodGAgKG9uIHRoZSBzaWRlIHdpdGggbW9yZSBzcGFjZSBhdmFpbGFibGUsIGFsaWdubWVudCBkZXBlbmRzIGJ5IHBsYWNlbWVudClcbiAqXG4gKiBAc3RhdGljXG4gKiBAdHlwZSB7QXJyYXl9XG4gKiBAZW51bSB7U3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAbWV0aG9kIHBsYWNlbWVudHNcbiAqIEBtZW1iZXJvZiBQb3BwZXJcbiAqL1xudmFyIHBsYWNlbWVudHMgPSBbJ2F1dG8tc3RhcnQnLCAnYXV0bycsICdhdXRvLWVuZCcsICd0b3Atc3RhcnQnLCAndG9wJywgJ3RvcC1lbmQnLCAncmlnaHQtc3RhcnQnLCAncmlnaHQnLCAncmlnaHQtZW5kJywgJ2JvdHRvbS1lbmQnLCAnYm90dG9tJywgJ2JvdHRvbS1zdGFydCcsICdsZWZ0LWVuZCcsICdsZWZ0JywgJ2xlZnQtc3RhcnQnXTtcblxuLy8gR2V0IHJpZCBvZiBgYXV0b2AgYGF1dG8tc3RhcnRgIGFuZCBgYXV0by1lbmRgXG52YXIgdmFsaWRQbGFjZW1lbnRzID0gcGxhY2VtZW50cy5zbGljZSgzKTtcblxuLyoqXG4gKiBHaXZlbiBhbiBpbml0aWFsIHBsYWNlbWVudCwgcmV0dXJucyBhbGwgdGhlIHN1YnNlcXVlbnQgcGxhY2VtZW50c1xuICogY2xvY2t3aXNlIChvciBjb3VudGVyLWNsb2Nrd2lzZSkuXG4gKlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IHBsYWNlbWVudCAtIEEgdmFsaWQgcGxhY2VtZW50IChpdCBhY2NlcHRzIHZhcmlhdGlvbnMpXG4gKiBAYXJndW1lbnQge0Jvb2xlYW59IGNvdW50ZXIgLSBTZXQgdG8gdHJ1ZSB0byB3YWxrIHRoZSBwbGFjZW1lbnRzIGNvdW50ZXJjbG9ja3dpc2VcbiAqIEByZXR1cm5zIHtBcnJheX0gcGxhY2VtZW50cyBpbmNsdWRpbmcgdGhlaXIgdmFyaWF0aW9uc1xuICovXG5mdW5jdGlvbiBjbG9ja3dpc2UocGxhY2VtZW50KSB7XG4gIHZhciBjb3VudGVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTtcblxuICB2YXIgaW5kZXggPSB2YWxpZFBsYWNlbWVudHMuaW5kZXhPZihwbGFjZW1lbnQpO1xuICB2YXIgYXJyID0gdmFsaWRQbGFjZW1lbnRzLnNsaWNlKGluZGV4ICsgMSkuY29uY2F0KHZhbGlkUGxhY2VtZW50cy5zbGljZSgwLCBpbmRleCkpO1xuICByZXR1cm4gY291bnRlciA/IGFyci5yZXZlcnNlKCkgOiBhcnI7XG59XG5cbnZhciBCRUhBVklPUlMgPSB7XG4gIEZMSVA6ICdmbGlwJyxcbiAgQ0xPQ0tXSVNFOiAnY2xvY2t3aXNlJyxcbiAgQ09VTlRFUkNMT0NLV0lTRTogJ2NvdW50ZXJjbG9ja3dpc2UnXG59O1xuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IHVwZGF0ZSBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gZmxpcChkYXRhLCBvcHRpb25zKSB7XG4gIC8vIGlmIGBpbm5lcmAgbW9kaWZpZXIgaXMgZW5hYmxlZCwgd2UgY2FuJ3QgdXNlIHRoZSBgZmxpcGAgbW9kaWZpZXJcbiAgaWYgKGlzTW9kaWZpZXJFbmFibGVkKGRhdGEuaW5zdGFuY2UubW9kaWZpZXJzLCAnaW5uZXInKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgaWYgKGRhdGEuZmxpcHBlZCAmJiBkYXRhLnBsYWNlbWVudCA9PT0gZGF0YS5vcmlnaW5hbFBsYWNlbWVudCkge1xuICAgIC8vIHNlZW1zIGxpa2UgZmxpcCBpcyB0cnlpbmcgdG8gbG9vcCwgcHJvYmFibHkgdGhlcmUncyBub3QgZW5vdWdoIHNwYWNlIG9uIGFueSBvZiB0aGUgZmxpcHBhYmxlIHNpZGVzXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YXIgYm91bmRhcmllcyA9IGdldEJvdW5kYXJpZXMoZGF0YS5pbnN0YW5jZS5wb3BwZXIsIGRhdGEuaW5zdGFuY2UucmVmZXJlbmNlLCBvcHRpb25zLnBhZGRpbmcsIG9wdGlvbnMuYm91bmRhcmllc0VsZW1lbnQpO1xuXG4gIHZhciBwbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICB2YXIgcGxhY2VtZW50T3Bwb3NpdGUgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuICB2YXIgdmFyaWF0aW9uID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVsxXSB8fCAnJztcblxuICB2YXIgZmxpcE9yZGVyID0gW107XG5cbiAgc3dpdGNoIChvcHRpb25zLmJlaGF2aW9yKSB7XG4gICAgY2FzZSBCRUhBVklPUlMuRkxJUDpcbiAgICAgIGZsaXBPcmRlciA9IFtwbGFjZW1lbnQsIHBsYWNlbWVudE9wcG9zaXRlXTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQkVIQVZJT1JTLkNMT0NLV0lTRTpcbiAgICAgIGZsaXBPcmRlciA9IGNsb2Nrd2lzZShwbGFjZW1lbnQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBCRUhBVklPUlMuQ09VTlRFUkNMT0NLV0lTRTpcbiAgICAgIGZsaXBPcmRlciA9IGNsb2Nrd2lzZShwbGFjZW1lbnQsIHRydWUpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGZsaXBPcmRlciA9IG9wdGlvbnMuYmVoYXZpb3I7XG4gIH1cblxuICBmbGlwT3JkZXIuZm9yRWFjaChmdW5jdGlvbiAoc3RlcCwgaW5kZXgpIHtcbiAgICBpZiAocGxhY2VtZW50ICE9PSBzdGVwIHx8IGZsaXBPcmRlci5sZW5ndGggPT09IGluZGV4ICsgMSkge1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgICBwbGFjZW1lbnRPcHBvc2l0ZSA9IGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCk7XG5cbiAgICB2YXIgcG9wcGVyT2Zmc2V0cyA9IGdldENsaWVudFJlY3QoZGF0YS5vZmZzZXRzLnBvcHBlcik7XG4gICAgdmFyIHJlZk9mZnNldHMgPSBkYXRhLm9mZnNldHMucmVmZXJlbmNlO1xuXG4gICAgLy8gdXNpbmcgZmxvb3IgYmVjYXVzZSB0aGUgcmVmZXJlbmNlIG9mZnNldHMgbWF5IGNvbnRhaW4gZGVjaW1hbHMgd2UgYXJlIG5vdCBnb2luZyB0byBjb25zaWRlciBoZXJlXG4gICAgdmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbiAgICB2YXIgb3ZlcmxhcHNSZWYgPSBwbGFjZW1lbnQgPT09ICdsZWZ0JyAmJiBmbG9vcihwb3BwZXJPZmZzZXRzLnJpZ2h0KSA+IGZsb29yKHJlZk9mZnNldHMubGVmdCkgfHwgcGxhY2VtZW50ID09PSAncmlnaHQnICYmIGZsb29yKHBvcHBlck9mZnNldHMubGVmdCkgPCBmbG9vcihyZWZPZmZzZXRzLnJpZ2h0KSB8fCBwbGFjZW1lbnQgPT09ICd0b3AnICYmIGZsb29yKHBvcHBlck9mZnNldHMuYm90dG9tKSA+IGZsb29yKHJlZk9mZnNldHMudG9wKSB8fCBwbGFjZW1lbnQgPT09ICdib3R0b20nICYmIGZsb29yKHBvcHBlck9mZnNldHMudG9wKSA8IGZsb29yKHJlZk9mZnNldHMuYm90dG9tKTtcblxuICAgIHZhciBvdmVyZmxvd3NMZWZ0ID0gZmxvb3IocG9wcGVyT2Zmc2V0cy5sZWZ0KSA8IGZsb29yKGJvdW5kYXJpZXMubGVmdCk7XG4gICAgdmFyIG92ZXJmbG93c1JpZ2h0ID0gZmxvb3IocG9wcGVyT2Zmc2V0cy5yaWdodCkgPiBmbG9vcihib3VuZGFyaWVzLnJpZ2h0KTtcbiAgICB2YXIgb3ZlcmZsb3dzVG9wID0gZmxvb3IocG9wcGVyT2Zmc2V0cy50b3ApIDwgZmxvb3IoYm91bmRhcmllcy50b3ApO1xuICAgIHZhciBvdmVyZmxvd3NCb3R0b20gPSBmbG9vcihwb3BwZXJPZmZzZXRzLmJvdHRvbSkgPiBmbG9vcihib3VuZGFyaWVzLmJvdHRvbSk7XG5cbiAgICB2YXIgb3ZlcmZsb3dzQm91bmRhcmllcyA9IHBsYWNlbWVudCA9PT0gJ2xlZnQnICYmIG92ZXJmbG93c0xlZnQgfHwgcGxhY2VtZW50ID09PSAncmlnaHQnICYmIG92ZXJmbG93c1JpZ2h0IHx8IHBsYWNlbWVudCA9PT0gJ3RvcCcgJiYgb3ZlcmZsb3dzVG9wIHx8IHBsYWNlbWVudCA9PT0gJ2JvdHRvbScgJiYgb3ZlcmZsb3dzQm90dG9tO1xuXG4gICAgLy8gZmxpcCB0aGUgdmFyaWF0aW9uIGlmIHJlcXVpcmVkXG4gICAgdmFyIGlzVmVydGljYWwgPSBbJ3RvcCcsICdib3R0b20nXS5pbmRleE9mKHBsYWNlbWVudCkgIT09IC0xO1xuICAgIHZhciBmbGlwcGVkVmFyaWF0aW9uID0gISFvcHRpb25zLmZsaXBWYXJpYXRpb25zICYmIChpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ3N0YXJ0JyAmJiBvdmVyZmxvd3NMZWZ0IHx8IGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NSaWdodCB8fCAhaXNWZXJ0aWNhbCAmJiB2YXJpYXRpb24gPT09ICdzdGFydCcgJiYgb3ZlcmZsb3dzVG9wIHx8ICFpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ2VuZCcgJiYgb3ZlcmZsb3dzQm90dG9tKTtcblxuICAgIGlmIChvdmVybGFwc1JlZiB8fCBvdmVyZmxvd3NCb3VuZGFyaWVzIHx8IGZsaXBwZWRWYXJpYXRpb24pIHtcbiAgICAgIC8vIHRoaXMgYm9vbGVhbiB0byBkZXRlY3QgYW55IGZsaXAgbG9vcFxuICAgICAgZGF0YS5mbGlwcGVkID0gdHJ1ZTtcblxuICAgICAgaWYgKG92ZXJsYXBzUmVmIHx8IG92ZXJmbG93c0JvdW5kYXJpZXMpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gZmxpcE9yZGVyW2luZGV4ICsgMV07XG4gICAgICB9XG5cbiAgICAgIGlmIChmbGlwcGVkVmFyaWF0aW9uKSB7XG4gICAgICAgIHZhcmlhdGlvbiA9IGdldE9wcG9zaXRlVmFyaWF0aW9uKHZhcmlhdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGRhdGEucGxhY2VtZW50ID0gcGxhY2VtZW50ICsgKHZhcmlhdGlvbiA/ICctJyArIHZhcmlhdGlvbiA6ICcnKTtcbiAgICAgIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBnZXRQb3BwZXJPZmZzZXRzKGRhdGEuaW5zdGFuY2UucG9wcGVyLCBkYXRhLm9mZnNldHMucmVmZXJlbmNlLCBkYXRhLnBsYWNlbWVudCk7XG5cbiAgICAgIGRhdGEgPSBydW5Nb2RpZmllcnMoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsIGRhdGEsICdmbGlwJyk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBrZWVwVG9nZXRoZXIoZGF0YSkge1xuICB2YXIgcG9wcGVyID0gZ2V0Q2xpZW50UmVjdChkYXRhLm9mZnNldHMucG9wcGVyKTtcbiAgdmFyIHJlZmVyZW5jZSA9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2U7XG4gIHZhciBwbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICB2YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xuICB2YXIgaXNWZXJ0aWNhbCA9IFsndG9wJywgJ2JvdHRvbSddLmluZGV4T2YocGxhY2VtZW50KSAhPT0gLTE7XG4gIHZhciBzaWRlID0gaXNWZXJ0aWNhbCA/ICdyaWdodCcgOiAnYm90dG9tJztcbiAgdmFyIG9wU2lkZSA9IGlzVmVydGljYWwgPyAnbGVmdCcgOiAndG9wJztcbiAgdmFyIG1lYXN1cmVtZW50ID0gaXNWZXJ0aWNhbCA/ICd3aWR0aCcgOiAnaGVpZ2h0JztcblxuICBpZiAocG9wcGVyW3NpZGVdIDwgZmxvb3IocmVmZXJlbmNlW29wU2lkZV0pKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltvcFNpZGVdID0gZmxvb3IocmVmZXJlbmNlW29wU2lkZV0pIC0gcG9wcGVyW21lYXN1cmVtZW50XTtcbiAgfVxuICBpZiAocG9wcGVyW29wU2lkZV0gPiBmbG9vcihyZWZlcmVuY2Vbc2lkZV0pKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltvcFNpZGVdID0gZmxvb3IocmVmZXJlbmNlW3NpZGVdKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIGNvbnRhaW5pbmcgdmFsdWUgKyB1bml0IGludG8gYSBweCB2YWx1ZSBudW1iZXJcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIHttb2RpZmllcnN+b2Zmc2V0fVxuICogQHByaXZhdGVcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBzdHIgLSBWYWx1ZSArIHVuaXQgc3RyaW5nXG4gKiBAYXJndW1lbnQge1N0cmluZ30gbWVhc3VyZW1lbnQgLSBgaGVpZ2h0YCBvciBgd2lkdGhgXG4gKiBAYXJndW1lbnQge09iamVjdH0gcG9wcGVyT2Zmc2V0c1xuICogQGFyZ3VtZW50IHtPYmplY3R9IHJlZmVyZW5jZU9mZnNldHNcbiAqIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfVxuICogVmFsdWUgaW4gcGl4ZWxzLCBvciBvcmlnaW5hbCBzdHJpbmcgaWYgbm8gdmFsdWVzIHdlcmUgZXh0cmFjdGVkXG4gKi9cbmZ1bmN0aW9uIHRvVmFsdWUoc3RyLCBtZWFzdXJlbWVudCwgcG9wcGVyT2Zmc2V0cywgcmVmZXJlbmNlT2Zmc2V0cykge1xuICAvLyBzZXBhcmF0ZSB2YWx1ZSBmcm9tIHVuaXRcbiAgdmFyIHNwbGl0ID0gc3RyLm1hdGNoKC8oKD86XFwtfFxcKyk/XFxkKlxcLj9cXGQqKSguKikvKTtcbiAgdmFyIHZhbHVlID0gK3NwbGl0WzFdO1xuICB2YXIgdW5pdCA9IHNwbGl0WzJdO1xuXG4gIC8vIElmIGl0J3Mgbm90IGEgbnVtYmVyIGl0J3MgYW4gb3BlcmF0b3IsIEkgZ3Vlc3NcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBpZiAodW5pdC5pbmRleE9mKCclJykgPT09IDApIHtcbiAgICB2YXIgZWxlbWVudCA9IHZvaWQgMDtcbiAgICBzd2l0Y2ggKHVuaXQpIHtcbiAgICAgIGNhc2UgJyVwJzpcbiAgICAgICAgZWxlbWVudCA9IHBvcHBlck9mZnNldHM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnJSc6XG4gICAgICBjYXNlICclcic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBlbGVtZW50ID0gcmVmZXJlbmNlT2Zmc2V0cztcbiAgICB9XG5cbiAgICB2YXIgcmVjdCA9IGdldENsaWVudFJlY3QoZWxlbWVudCk7XG4gICAgcmV0dXJuIHJlY3RbbWVhc3VyZW1lbnRdIC8gMTAwICogdmFsdWU7XG4gIH0gZWxzZSBpZiAodW5pdCA9PT0gJ3ZoJyB8fCB1bml0ID09PSAndncnKSB7XG4gICAgLy8gaWYgaXMgYSB2aCBvciB2dywgd2UgY2FsY3VsYXRlIHRoZSBzaXplIGJhc2VkIG9uIHRoZSB2aWV3cG9ydFxuICAgIHZhciBzaXplID0gdm9pZCAwO1xuICAgIGlmICh1bml0ID09PSAndmgnKSB7XG4gICAgICBzaXplID0gTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwgd2luZG93LmlubmVySGVpZ2h0IHx8IDApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzaXplID0gTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLCB3aW5kb3cuaW5uZXJXaWR0aCB8fCAwKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpemUgLyAxMDAgKiB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICAvLyBpZiBpcyBhbiBleHBsaWNpdCBwaXhlbCB1bml0LCB3ZSBnZXQgcmlkIG9mIHRoZSB1bml0IGFuZCBrZWVwIHRoZSB2YWx1ZVxuICAgIC8vIGlmIGlzIGFuIGltcGxpY2l0IHVuaXQsIGl0J3MgcHgsIGFuZCB3ZSByZXR1cm4ganVzdCB0aGUgdmFsdWVcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZSBhbiBgb2Zmc2V0YCBzdHJpbmcgdG8gZXh0cmFwb2xhdGUgYHhgIGFuZCBgeWAgbnVtZXJpYyBvZmZzZXRzLlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2Yge21vZGlmaWVyc35vZmZzZXR9XG4gKiBAcHJpdmF0ZVxuICogQGFyZ3VtZW50IHtTdHJpbmd9IG9mZnNldFxuICogQGFyZ3VtZW50IHtPYmplY3R9IHBvcHBlck9mZnNldHNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSByZWZlcmVuY2VPZmZzZXRzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gYmFzZVBsYWNlbWVudFxuICogQHJldHVybnMge0FycmF5fSBhIHR3byBjZWxscyBhcnJheSB3aXRoIHggYW5kIHkgb2Zmc2V0cyBpbiBudW1iZXJzXG4gKi9cbmZ1bmN0aW9uIHBhcnNlT2Zmc2V0KG9mZnNldCwgcG9wcGVyT2Zmc2V0cywgcmVmZXJlbmNlT2Zmc2V0cywgYmFzZVBsYWNlbWVudCkge1xuICB2YXIgb2Zmc2V0cyA9IFswLCAwXTtcblxuICAvLyBVc2UgaGVpZ2h0IGlmIHBsYWNlbWVudCBpcyBsZWZ0IG9yIHJpZ2h0IGFuZCBpbmRleCBpcyAwIG90aGVyd2lzZSB1c2Ugd2lkdGhcbiAgLy8gaW4gdGhpcyB3YXkgdGhlIGZpcnN0IG9mZnNldCB3aWxsIHVzZSBhbiBheGlzIGFuZCB0aGUgc2Vjb25kIG9uZVxuICAvLyB3aWxsIHVzZSB0aGUgb3RoZXIgb25lXG4gIHZhciB1c2VIZWlnaHQgPSBbJ3JpZ2h0JywgJ2xlZnQnXS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpICE9PSAtMTtcblxuICAvLyBTcGxpdCB0aGUgb2Zmc2V0IHN0cmluZyB0byBvYnRhaW4gYSBsaXN0IG9mIHZhbHVlcyBhbmQgb3BlcmFuZHNcbiAgLy8gVGhlIHJlZ2V4IGFkZHJlc3NlcyB2YWx1ZXMgd2l0aCB0aGUgcGx1cyBvciBtaW51cyBzaWduIGluIGZyb250ICgrMTAsIC0yMCwgZXRjKVxuICB2YXIgZnJhZ21lbnRzID0gb2Zmc2V0LnNwbGl0KC8oXFwrfFxcLSkvKS5tYXAoZnVuY3Rpb24gKGZyYWcpIHtcbiAgICByZXR1cm4gZnJhZy50cmltKCk7XG4gIH0pO1xuXG4gIC8vIERldGVjdCBpZiB0aGUgb2Zmc2V0IHN0cmluZyBjb250YWlucyBhIHBhaXIgb2YgdmFsdWVzIG9yIGEgc2luZ2xlIG9uZVxuICAvLyB0aGV5IGNvdWxkIGJlIHNlcGFyYXRlZCBieSBjb21tYSBvciBzcGFjZVxuICB2YXIgZGl2aWRlciA9IGZyYWdtZW50cy5pbmRleE9mKGZpbmQoZnJhZ21lbnRzLCBmdW5jdGlvbiAoZnJhZykge1xuICAgIHJldHVybiBmcmFnLnNlYXJjaCgvLHxcXHMvKSAhPT0gLTE7XG4gIH0pKTtcblxuICBpZiAoZnJhZ21lbnRzW2RpdmlkZXJdICYmIGZyYWdtZW50c1tkaXZpZGVyXS5pbmRleE9mKCcsJykgPT09IC0xKSB7XG4gICAgY29uc29sZS53YXJuKCdPZmZzZXRzIHNlcGFyYXRlZCBieSB3aGl0ZSBzcGFjZShzKSBhcmUgZGVwcmVjYXRlZCwgdXNlIGEgY29tbWEgKCwpIGluc3RlYWQuJyk7XG4gIH1cblxuICAvLyBJZiBkaXZpZGVyIGlzIGZvdW5kLCB3ZSBkaXZpZGUgdGhlIGxpc3Qgb2YgdmFsdWVzIGFuZCBvcGVyYW5kcyB0byBkaXZpZGVcbiAgLy8gdGhlbSBieSBvZnNldCBYIGFuZCBZLlxuICB2YXIgc3BsaXRSZWdleCA9IC9cXHMqLFxccyp8XFxzKy87XG4gIHZhciBvcHMgPSBkaXZpZGVyICE9PSAtMSA/IFtmcmFnbWVudHMuc2xpY2UoMCwgZGl2aWRlcikuY29uY2F0KFtmcmFnbWVudHNbZGl2aWRlcl0uc3BsaXQoc3BsaXRSZWdleClbMF1dKSwgW2ZyYWdtZW50c1tkaXZpZGVyXS5zcGxpdChzcGxpdFJlZ2V4KVsxXV0uY29uY2F0KGZyYWdtZW50cy5zbGljZShkaXZpZGVyICsgMSkpXSA6IFtmcmFnbWVudHNdO1xuXG4gIC8vIENvbnZlcnQgdGhlIHZhbHVlcyB3aXRoIHVuaXRzIHRvIGFic29sdXRlIHBpeGVscyB0byBhbGxvdyBvdXIgY29tcHV0YXRpb25zXG4gIG9wcyA9IG9wcy5tYXAoZnVuY3Rpb24gKG9wLCBpbmRleCkge1xuICAgIC8vIE1vc3Qgb2YgdGhlIHVuaXRzIHJlbHkgb24gdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBwb3BwZXJcbiAgICB2YXIgbWVhc3VyZW1lbnQgPSAoaW5kZXggPT09IDEgPyAhdXNlSGVpZ2h0IDogdXNlSGVpZ2h0KSA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgICB2YXIgbWVyZ2VXaXRoUHJldmlvdXMgPSBmYWxzZTtcbiAgICByZXR1cm4gb3BcbiAgICAvLyBUaGlzIGFnZ3JlZ2F0ZXMgYW55IGArYCBvciBgLWAgc2lnbiB0aGF0IGFyZW4ndCBjb25zaWRlcmVkIG9wZXJhdG9yc1xuICAgIC8vIGUuZy46IDEwICsgKzUgPT4gWzEwLCArLCArNV1cbiAgICAucmVkdWNlKGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICBpZiAoYVthLmxlbmd0aCAtIDFdID09PSAnJyAmJiBbJysnLCAnLSddLmluZGV4T2YoYikgIT09IC0xKSB7XG4gICAgICAgIGFbYS5sZW5ndGggLSAxXSA9IGI7XG4gICAgICAgIG1lcmdlV2l0aFByZXZpb3VzID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2UgaWYgKG1lcmdlV2l0aFByZXZpb3VzKSB7XG4gICAgICAgIGFbYS5sZW5ndGggLSAxXSArPSBiO1xuICAgICAgICBtZXJnZVdpdGhQcmV2aW91cyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBhLmNvbmNhdChiKTtcbiAgICAgIH1cbiAgICB9LCBbXSlcbiAgICAvLyBIZXJlIHdlIGNvbnZlcnQgdGhlIHN0cmluZyB2YWx1ZXMgaW50byBudW1iZXIgdmFsdWVzIChpbiBweClcbiAgICAubWFwKGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgIHJldHVybiB0b1ZhbHVlKHN0ciwgbWVhc3VyZW1lbnQsIHBvcHBlck9mZnNldHMsIHJlZmVyZW5jZU9mZnNldHMpO1xuICAgIH0pO1xuICB9KTtcblxuICAvLyBMb29wIHRyb3VnaCB0aGUgb2Zmc2V0cyBhcnJheXMgYW5kIGV4ZWN1dGUgdGhlIG9wZXJhdGlvbnNcbiAgb3BzLmZvckVhY2goZnVuY3Rpb24gKG9wLCBpbmRleCkge1xuICAgIG9wLmZvckVhY2goZnVuY3Rpb24gKGZyYWcsIGluZGV4Mikge1xuICAgICAgaWYgKGlzTnVtZXJpYyhmcmFnKSkge1xuICAgICAgICBvZmZzZXRzW2luZGV4XSArPSBmcmFnICogKG9wW2luZGV4MiAtIDFdID09PSAnLScgPyAtMSA6IDEpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIG9mZnNldHM7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQGFyZ3VtZW50IHtOdW1iZXJ8U3RyaW5nfSBvcHRpb25zLm9mZnNldD0wXG4gKiBUaGUgb2Zmc2V0IHZhbHVlIGFzIGRlc2NyaWJlZCBpbiB0aGUgbW9kaWZpZXIgZGVzY3JpcHRpb25cbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gb2Zmc2V0KGRhdGEsIF9yZWYpIHtcbiAgdmFyIG9mZnNldCA9IF9yZWYub2Zmc2V0O1xuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQsXG4gICAgICBfZGF0YSRvZmZzZXRzID0gZGF0YS5vZmZzZXRzLFxuICAgICAgcG9wcGVyID0gX2RhdGEkb2Zmc2V0cy5wb3BwZXIsXG4gICAgICByZWZlcmVuY2UgPSBfZGF0YSRvZmZzZXRzLnJlZmVyZW5jZTtcblxuICB2YXIgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuXG4gIHZhciBvZmZzZXRzID0gdm9pZCAwO1xuICBpZiAoaXNOdW1lcmljKCtvZmZzZXQpKSB7XG4gICAgb2Zmc2V0cyA9IFsrb2Zmc2V0LCAwXTtcbiAgfSBlbHNlIHtcbiAgICBvZmZzZXRzID0gcGFyc2VPZmZzZXQob2Zmc2V0LCBwb3BwZXIsIHJlZmVyZW5jZSwgYmFzZVBsYWNlbWVudCk7XG4gIH1cblxuICBpZiAoYmFzZVBsYWNlbWVudCA9PT0gJ2xlZnQnKSB7XG4gICAgcG9wcGVyLnRvcCArPSBvZmZzZXRzWzBdO1xuICAgIHBvcHBlci5sZWZ0IC09IG9mZnNldHNbMV07XG4gIH0gZWxzZSBpZiAoYmFzZVBsYWNlbWVudCA9PT0gJ3JpZ2h0Jykge1xuICAgIHBvcHBlci50b3AgKz0gb2Zmc2V0c1swXTtcbiAgICBwb3BwZXIubGVmdCArPSBvZmZzZXRzWzFdO1xuICB9IGVsc2UgaWYgKGJhc2VQbGFjZW1lbnQgPT09ICd0b3AnKSB7XG4gICAgcG9wcGVyLmxlZnQgKz0gb2Zmc2V0c1swXTtcbiAgICBwb3BwZXIudG9wIC09IG9mZnNldHNbMV07XG4gIH0gZWxzZSBpZiAoYmFzZVBsYWNlbWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICBwb3BwZXIubGVmdCArPSBvZmZzZXRzWzBdO1xuICAgIHBvcHBlci50b3AgKz0gb2Zmc2V0c1sxXTtcbiAgfVxuXG4gIGRhdGEucG9wcGVyID0gcG9wcGVyO1xuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gcHJldmVudE92ZXJmbG93KGRhdGEsIG9wdGlvbnMpIHtcbiAgdmFyIGJvdW5kYXJpZXNFbGVtZW50ID0gb3B0aW9ucy5ib3VuZGFyaWVzRWxlbWVudCB8fCBnZXRPZmZzZXRQYXJlbnQoZGF0YS5pbnN0YW5jZS5wb3BwZXIpO1xuICB2YXIgYm91bmRhcmllcyA9IGdldEJvdW5kYXJpZXMoZGF0YS5pbnN0YW5jZS5wb3BwZXIsIGRhdGEuaW5zdGFuY2UucmVmZXJlbmNlLCBvcHRpb25zLnBhZGRpbmcsIGJvdW5kYXJpZXNFbGVtZW50KTtcbiAgb3B0aW9ucy5ib3VuZGFyaWVzID0gYm91bmRhcmllcztcblxuICB2YXIgb3JkZXIgPSBvcHRpb25zLnByaW9yaXR5O1xuICB2YXIgcG9wcGVyID0gZ2V0Q2xpZW50UmVjdChkYXRhLm9mZnNldHMucG9wcGVyKTtcblxuICB2YXIgY2hlY2sgPSB7XG4gICAgcHJpbWFyeTogZnVuY3Rpb24gcHJpbWFyeShwbGFjZW1lbnQpIHtcbiAgICAgIHZhciB2YWx1ZSA9IHBvcHBlcltwbGFjZW1lbnRdO1xuICAgICAgaWYgKHBvcHBlcltwbGFjZW1lbnRdIDwgYm91bmRhcmllc1twbGFjZW1lbnRdICYmICFvcHRpb25zLmVzY2FwZVdpdGhSZWZlcmVuY2UpIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heChwb3BwZXJbcGxhY2VtZW50XSwgYm91bmRhcmllc1twbGFjZW1lbnRdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkZWZpbmVQcm9wZXJ0eSh7fSwgcGxhY2VtZW50LCB2YWx1ZSk7XG4gICAgfSxcbiAgICBzZWNvbmRhcnk6IGZ1bmN0aW9uIHNlY29uZGFyeShwbGFjZW1lbnQpIHtcbiAgICAgIHZhciBtYWluU2lkZSA9IHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdsZWZ0JyA6ICd0b3AnO1xuICAgICAgdmFyIHZhbHVlID0gcG9wcGVyW21haW5TaWRlXTtcbiAgICAgIGlmIChwb3BwZXJbcGxhY2VtZW50XSA+IGJvdW5kYXJpZXNbcGxhY2VtZW50XSAmJiAhb3B0aW9ucy5lc2NhcGVXaXRoUmVmZXJlbmNlKSB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4ocG9wcGVyW21haW5TaWRlXSwgYm91bmRhcmllc1twbGFjZW1lbnRdIC0gKHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/IHBvcHBlci53aWR0aCA6IHBvcHBlci5oZWlnaHQpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkZWZpbmVQcm9wZXJ0eSh7fSwgbWFpblNpZGUsIHZhbHVlKTtcbiAgICB9XG4gIH07XG5cbiAgb3JkZXIuZm9yRWFjaChmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgdmFyIHNpZGUgPSBbJ2xlZnQnLCAndG9wJ10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMSA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknO1xuICAgIHBvcHBlciA9IF9leHRlbmRzKHt9LCBwb3BwZXIsIGNoZWNrW3NpZGVdKHBsYWNlbWVudCkpO1xuICB9KTtcblxuICBkYXRhLm9mZnNldHMucG9wcGVyID0gcG9wcGVyO1xuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBzaGlmdChkYXRhKSB7XG4gIHZhciBwbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudDtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIHNoaWZ0dmFyaWF0aW9uID0gcGxhY2VtZW50LnNwbGl0KCctJylbMV07XG5cbiAgLy8gaWYgc2hpZnQgc2hpZnR2YXJpYXRpb24gaXMgc3BlY2lmaWVkLCBydW4gdGhlIG1vZGlmaWVyXG4gIGlmIChzaGlmdHZhcmlhdGlvbikge1xuICAgIHZhciByZWZlcmVuY2UgPSBkYXRhLm9mZnNldHMucmVmZXJlbmNlO1xuICAgIHZhciBwb3BwZXIgPSBnZXRDbGllbnRSZWN0KGRhdGEub2Zmc2V0cy5wb3BwZXIpO1xuICAgIHZhciBpc1ZlcnRpY2FsID0gWydib3R0b20nLCAndG9wJ10uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG4gICAgdmFyIHNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gICAgdmFyIG1lYXN1cmVtZW50ID0gaXNWZXJ0aWNhbCA/ICd3aWR0aCcgOiAnaGVpZ2h0JztcblxuICAgIHZhciBzaGlmdE9mZnNldHMgPSB7XG4gICAgICBzdGFydDogZGVmaW5lUHJvcGVydHkoe30sIHNpZGUsIHJlZmVyZW5jZVtzaWRlXSksXG4gICAgICBlbmQ6IGRlZmluZVByb3BlcnR5KHt9LCBzaWRlLCByZWZlcmVuY2Vbc2lkZV0gKyByZWZlcmVuY2VbbWVhc3VyZW1lbnRdIC0gcG9wcGVyW21lYXN1cmVtZW50XSlcbiAgICB9O1xuXG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IF9leHRlbmRzKHt9LCBwb3BwZXIsIHNoaWZ0T2Zmc2V0c1tzaGlmdHZhcmlhdGlvbl0pO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBoaWRlKGRhdGEpIHtcbiAgaWYgKCFpc01vZGlmaWVyUmVxdWlyZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdoaWRlJywgJ3ByZXZlbnRPdmVyZmxvdycpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YXIgcmVmUmVjdCA9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2U7XG4gIHZhciBib3VuZCA9IGZpbmQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsIGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIHJldHVybiBtb2RpZmllci5uYW1lID09PSAncHJldmVudE92ZXJmbG93JztcbiAgfSkuYm91bmRhcmllcztcblxuICBpZiAocmVmUmVjdC5ib3R0b20gPCBib3VuZC50b3AgfHwgcmVmUmVjdC5sZWZ0ID4gYm91bmQucmlnaHQgfHwgcmVmUmVjdC50b3AgPiBib3VuZC5ib3R0b20gfHwgcmVmUmVjdC5yaWdodCA8IGJvdW5kLmxlZnQpIHtcbiAgICAvLyBBdm9pZCB1bm5lY2Vzc2FyeSBET00gYWNjZXNzIGlmIHZpc2liaWxpdHkgaGFzbid0IGNoYW5nZWRcbiAgICBpZiAoZGF0YS5oaWRlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBkYXRhLmhpZGUgPSB0cnVlO1xuICAgIGRhdGEuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddID0gJyc7XG4gIH0gZWxzZSB7XG4gICAgLy8gQXZvaWQgdW5uZWNlc3NhcnkgRE9NIGFjY2VzcyBpZiB2aXNpYmlsaXR5IGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKGRhdGEuaGlkZSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIGRhdGEuaGlkZSA9IGZhbHNlO1xuICAgIGRhdGEuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gaW5uZXIoZGF0YSkge1xuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQ7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gIHZhciBwb3BwZXIgPSBnZXRDbGllbnRSZWN0KGRhdGEub2Zmc2V0cy5wb3BwZXIpO1xuICB2YXIgcmVmZXJlbmNlID0gZ2V0Q2xpZW50UmVjdChkYXRhLm9mZnNldHMucmVmZXJlbmNlKTtcbiAgdmFyIGlzSG9yaXogPSBbJ2xlZnQnLCAncmlnaHQnXS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpICE9PSAtMTtcblxuICB2YXIgc3VidHJhY3RMZW5ndGggPSBbJ3RvcCcsICdsZWZ0J10uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA9PT0gLTE7XG5cbiAgcG9wcGVyW2lzSG9yaXogPyAnbGVmdCcgOiAndG9wJ10gPSByZWZlcmVuY2VbcGxhY2VtZW50XSAtIChzdWJ0cmFjdExlbmd0aCA/IHBvcHBlcltpc0hvcml6ID8gJ3dpZHRoJyA6ICdoZWlnaHQnXSA6IDApO1xuXG4gIGRhdGEucGxhY2VtZW50ID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcbiAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QocG9wcGVyKTtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuLyoqXG4gKiBNb2RpZmllciBmdW5jdGlvbiwgZWFjaCBtb2RpZmllciBjYW4gaGF2ZSBhIGZ1bmN0aW9uIG9mIHRoaXMgdHlwZSBhc3NpZ25lZFxuICogdG8gaXRzIGBmbmAgcHJvcGVydHkuPGJyIC8+XG4gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQgb24gZWFjaCB1cGRhdGUsIHRoaXMgbWVhbnMgdGhhdCB5b3UgbXVzdFxuICogbWFrZSBzdXJlIHRoZXkgYXJlIHBlcmZvcm1hbnQgZW5vdWdoIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGJvdHRsZW5lY2tzLlxuICpcbiAqIEBmdW5jdGlvbiBNb2RpZmllckZuXG4gKiBAYXJndW1lbnQge2RhdGFPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge2RhdGFPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuXG4vKipcbiAqIE1vZGlmaWVycyBhcmUgcGx1Z2lucyB1c2VkIHRvIGFsdGVyIHRoZSBiZWhhdmlvciBvZiB5b3VyIHBvcHBlcnMuPGJyIC8+XG4gKiBQb3BwZXIuanMgdXNlcyBhIHNldCBvZiA5IG1vZGlmaWVycyB0byBwcm92aWRlIGFsbCB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0aWVzXG4gKiBuZWVkZWQgYnkgdGhlIGxpYnJhcnkuXG4gKlxuICogVXN1YWxseSB5b3UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSB0aGUgYG9yZGVyYCwgYGZuYCBhbmQgYG9uTG9hZGAgcHJvcHMuXG4gKiBBbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgYXJlIGNvbmZpZ3VyYXRpb25zIHRoYXQgY291bGQgYmUgdHdlYWtlZC5cbiAqIEBuYW1lc3BhY2UgbW9kaWZpZXJzXG4gKi9cbnZhciBtb2RpZmllcnMgPSB7XG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIHNoaWZ0IHRoZSBwb3BwZXIgb24gdGhlIHN0YXJ0IG9yIGVuZCBvZiBpdHMgcmVmZXJlbmNlXG4gICAqIGVsZW1lbnQuPGJyIC8+XG4gICAqIEl0IHdpbGwgcmVhZCB0aGUgdmFyaWF0aW9uIG9mIHRoZSBgcGxhY2VtZW50YCBwcm9wZXJ0eS48YnIgLz5cbiAgICogSXQgY2FuIGJlIG9uZSBlaXRoZXIgYC1lbmRgIG9yIGAtc3RhcnRgLlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgc2hpZnQ6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9MTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiAxMDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBzaGlmdFxuICB9LFxuXG4gIC8qKlxuICAgKiBUaGUgYG9mZnNldGAgbW9kaWZpZXIgY2FuIHNoaWZ0IHlvdXIgcG9wcGVyIG9uIGJvdGggaXRzIGF4aXMuXG4gICAqXG4gICAqIEl0IGFjY2VwdHMgdGhlIGZvbGxvd2luZyB1bml0czpcbiAgICogLSBgcHhgIG9yIHVuaXRsZXNzLCBpbnRlcnByZXRlZCBhcyBwaXhlbHNcbiAgICogLSBgJWAgb3IgYCVyYCwgcGVyY2VudGFnZSByZWxhdGl2ZSB0byB0aGUgbGVuZ3RoIG9mIHRoZSByZWZlcmVuY2UgZWxlbWVudFxuICAgKiAtIGAlcGAsIHBlcmNlbnRhZ2UgcmVsYXRpdmUgdG8gdGhlIGxlbmd0aCBvZiB0aGUgcG9wcGVyIGVsZW1lbnRcbiAgICogLSBgdndgLCBDU1Mgdmlld3BvcnQgd2lkdGggdW5pdFxuICAgKiAtIGB2aGAsIENTUyB2aWV3cG9ydCBoZWlnaHQgdW5pdFxuICAgKlxuICAgKiBGb3IgbGVuZ3RoIGlzIGludGVuZGVkIHRoZSBtYWluIGF4aXMgcmVsYXRpdmUgdG8gdGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wcGVyLjxiciAvPlxuICAgKiBUaGlzIG1lYW5zIHRoYXQgaWYgdGhlIHBsYWNlbWVudCBpcyBgdG9wYCBvciBgYm90dG9tYCwgdGhlIGxlbmd0aCB3aWxsIGJlIHRoZVxuICAgKiBgd2lkdGhgLiBJbiBjYXNlIG9mIGBsZWZ0YCBvciBgcmlnaHRgLCBpdCB3aWxsIGJlIHRoZSBoZWlnaHQuXG4gICAqXG4gICAqIFlvdSBjYW4gcHJvdmlkZSBhIHNpbmdsZSB2YWx1ZSAoYXMgYE51bWJlcmAgb3IgYFN0cmluZ2ApLCBvciBhIHBhaXIgb2YgdmFsdWVzXG4gICAqIGFzIGBTdHJpbmdgIGRpdmlkZWQgYnkgYSBjb21tYSBvciBvbmUgKG9yIG1vcmUpIHdoaXRlIHNwYWNlcy48YnIgLz5cbiAgICogVGhlIGxhdHRlciBpcyBhIGRlcHJlY2F0ZWQgbWV0aG9kIGJlY2F1c2UgaXQgbGVhZHMgdG8gY29uZnVzaW9uIGFuZCB3aWxsIGJlXG4gICAqIHJlbW92ZWQgaW4gdjIuPGJyIC8+XG4gICAqIEFkZGl0aW9uYWxseSwgaXQgYWNjZXB0cyBhZGRpdGlvbnMgYW5kIHN1YnRyYWN0aW9ucyBiZXR3ZWVuIGRpZmZlcmVudCB1bml0cy5cbiAgICogTm90ZSB0aGF0IG11bHRpcGxpY2F0aW9ucyBhbmQgZGl2aXNpb25zIGFyZW4ndCBzdXBwb3J0ZWQuXG4gICAqXG4gICAqIFZhbGlkIGV4YW1wbGVzIGFyZTpcbiAgICogYGBgXG4gICAqIDEwXG4gICAqICcxMCUnXG4gICAqICcxMCwgMTAnXG4gICAqICcxMCUsIDEwJ1xuICAgKiAnMTAgKyAxMCUnXG4gICAqICcxMCAtIDV2aCArIDMlJ1xuICAgKiAnLTEwcHggKyA1dmgsIDVweCAtIDYlJ1xuICAgKiBgYGBcbiAgICpcbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIG9mZnNldDoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj0yMDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDIwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IG9mZnNldCxcbiAgICAvKiogQHByb3Age051bWJlcnxTdHJpbmd9IG9mZnNldD0wXG4gICAgICogVGhlIG9mZnNldCB2YWx1ZSBhcyBkZXNjcmliZWQgaW4gdGhlIG1vZGlmaWVyIGRlc2NyaXB0aW9uXG4gICAgICovXG4gICAgb2Zmc2V0OiAwXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gcHJldmVudCB0aGUgcG9wcGVyIGZyb20gYmVpbmcgcG9zaXRpb25lZCBvdXRzaWRlIHRoZSBib3VuZGFyeS5cbiAgICpcbiAgICogQW4gc2NlbmFyaW8gZXhpc3RzIHdoZXJlIHRoZSByZWZlcmVuY2UgaXRzZWxmIGlzIG5vdCB3aXRoaW4gdGhlIGJvdW5kYXJpZXMuPGJyIC8+XG4gICAqIFdlIGNhbiBzYXkgaXQgaGFzIFwiZXNjYXBlZCB0aGUgYm91bmRhcmllc1wiIOKAlCBvciBqdXN0IFwiZXNjYXBlZFwiLjxiciAvPlxuICAgKiBJbiB0aGlzIGNhc2Ugd2UgbmVlZCB0byBkZWNpZGUgd2hldGhlciB0aGUgcG9wcGVyIHNob3VsZCBlaXRoZXI6XG4gICAqXG4gICAqIC0gZGV0YWNoIGZyb20gdGhlIHJlZmVyZW5jZSBhbmQgcmVtYWluIFwidHJhcHBlZFwiIGluIHRoZSBib3VuZGFyaWVzLCBvclxuICAgKiAtIGlmIGl0IHNob3VsZCBpZ25vcmUgdGhlIGJvdW5kYXJ5IGFuZCBcImVzY2FwZSB3aXRoIGl0cyByZWZlcmVuY2VcIlxuICAgKlxuICAgKiBXaGVuIGBlc2NhcGVXaXRoUmVmZXJlbmNlYCBpcyBzZXQgdG9gdHJ1ZWAgYW5kIHJlZmVyZW5jZSBpcyBjb21wbGV0ZWx5XG4gICAqIG91dHNpZGUgaXRzIGJvdW5kYXJpZXMsIHRoZSBwb3BwZXIgd2lsbCBvdmVyZmxvdyAob3IgY29tcGxldGVseSBsZWF2ZSlcbiAgICogdGhlIGJvdW5kYXJpZXMgaW4gb3JkZXIgdG8gcmVtYWluIGF0dGFjaGVkIHRvIHRoZSBlZGdlIG9mIHRoZSByZWZlcmVuY2UuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBwcmV2ZW50T3ZlcmZsb3c6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9MzAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiAzMDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBwcmV2ZW50T3ZlcmZsb3csXG4gICAgLyoqXG4gICAgICogQHByb3Age0FycmF5fSBwcmlvcml0eT1bJ2xlZnQnLCAncmlnaHQnLCAndG9wJywgJ2JvdHRvbSddXG4gICAgICogUG9wcGVyIHdpbGwgdHJ5IHRvIHByZXZlbnQgb3ZlcmZsb3cgZm9sbG93aW5nIHRoZXNlIHByaW9yaXRpZXMgYnkgZGVmYXVsdCxcbiAgICAgKiB0aGVuLCBpdCBjb3VsZCBvdmVyZmxvdyBvbiB0aGUgbGVmdCBhbmQgb24gdG9wIG9mIHRoZSBgYm91bmRhcmllc0VsZW1lbnRgXG4gICAgICovXG4gICAgcHJpb3JpdHk6IFsnbGVmdCcsICdyaWdodCcsICd0b3AnLCAnYm90dG9tJ10sXG4gICAgLyoqXG4gICAgICogQHByb3Age251bWJlcn0gcGFkZGluZz01XG4gICAgICogQW1vdW50IG9mIHBpeGVsIHVzZWQgdG8gZGVmaW5lIGEgbWluaW11bSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBib3VuZGFyaWVzXG4gICAgICogYW5kIHRoZSBwb3BwZXIgdGhpcyBtYWtlcyBzdXJlIHRoZSBwb3BwZXIgaGFzIGFsd2F5cyBhIGxpdHRsZSBwYWRkaW5nXG4gICAgICogYmV0d2VlbiB0aGUgZWRnZXMgb2YgaXRzIGNvbnRhaW5lclxuICAgICAqL1xuICAgIHBhZGRpbmc6IDUsXG4gICAgLyoqXG4gICAgICogQHByb3Age1N0cmluZ3xIVE1MRWxlbWVudH0gYm91bmRhcmllc0VsZW1lbnQ9J3Njcm9sbFBhcmVudCdcbiAgICAgKiBCb3VuZGFyaWVzIHVzZWQgYnkgdGhlIG1vZGlmaWVyLCBjYW4gYmUgYHNjcm9sbFBhcmVudGAsIGB3aW5kb3dgLFxuICAgICAqIGB2aWV3cG9ydGAgb3IgYW55IERPTSBlbGVtZW50LlxuICAgICAqL1xuICAgIGJvdW5kYXJpZXNFbGVtZW50OiAnc2Nyb2xsUGFyZW50J1xuICB9LFxuXG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIG1ha2Ugc3VyZSB0aGUgcmVmZXJlbmNlIGFuZCBpdHMgcG9wcGVyIHN0YXkgbmVhciBlYWNob3RoZXJzXG4gICAqIHdpdGhvdXQgbGVhdmluZyBhbnkgZ2FwIGJldHdlZW4gdGhlIHR3by4gRXhwZWNpYWxseSB1c2VmdWwgd2hlbiB0aGUgYXJyb3cgaXNcbiAgICogZW5hYmxlZCBhbmQgeW91IHdhbnQgdG8gYXNzdXJlIGl0IHRvIHBvaW50IHRvIGl0cyByZWZlcmVuY2UgZWxlbWVudC5cbiAgICogSXQgY2FyZXMgb25seSBhYm91dCB0aGUgZmlyc3QgYXhpcywgeW91IGNhbiBzdGlsbCBoYXZlIHBvcHBlcnMgd2l0aCBtYXJnaW5cbiAgICogYmV0d2VlbiB0aGUgcG9wcGVyIGFuZCBpdHMgcmVmZXJlbmNlIGVsZW1lbnQuXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBrZWVwVG9nZXRoZXI6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NDAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA0MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBrZWVwVG9nZXRoZXJcbiAgfSxcblxuICAvKipcbiAgICogVGhpcyBtb2RpZmllciBpcyB1c2VkIHRvIG1vdmUgdGhlIGBhcnJvd0VsZW1lbnRgIG9mIHRoZSBwb3BwZXIgdG8gbWFrZVxuICAgKiBzdXJlIGl0IGlzIHBvc2l0aW9uZWQgYmV0d2VlbiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQgYW5kIGl0cyBwb3BwZXIgZWxlbWVudC5cbiAgICogSXQgd2lsbCByZWFkIHRoZSBvdXRlciBzaXplIG9mIHRoZSBgYXJyb3dFbGVtZW50YCBub2RlIHRvIGRldGVjdCBob3cgbWFueVxuICAgKiBwaXhlbHMgb2YgY29uanVjdGlvbiBhcmUgbmVlZGVkLlxuICAgKlxuICAgKiBJdCBoYXMgbm8gZWZmZWN0IGlmIG5vIGBhcnJvd0VsZW1lbnRgIGlzIHByb3ZpZGVkLlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgYXJyb3c6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA1MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBhcnJvdyxcbiAgICAvKiogQHByb3Age1N0cmluZ3xIVE1MRWxlbWVudH0gZWxlbWVudD0nW3gtYXJyb3ddJyAtIFNlbGVjdG9yIG9yIG5vZGUgdXNlZCBhcyBhcnJvdyAqL1xuICAgIGVsZW1lbnQ6ICdbeC1hcnJvd10nXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gZmxpcCB0aGUgcG9wcGVyJ3MgcGxhY2VtZW50IHdoZW4gaXQgc3RhcnRzIHRvIG92ZXJsYXAgaXRzXG4gICAqIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKlxuICAgKiBSZXF1aXJlcyB0aGUgYHByZXZlbnRPdmVyZmxvd2AgbW9kaWZpZXIgYmVmb3JlIGl0IGluIG9yZGVyIHRvIHdvcmsuXG4gICAqXG4gICAqICoqTk9URToqKiB0aGlzIG1vZGlmaWVyIHdpbGwgaW50ZXJydXB0IHRoZSBjdXJyZW50IHVwZGF0ZSBjeWNsZSBhbmQgd2lsbFxuICAgKiByZXN0YXJ0IGl0IGlmIGl0IGRldGVjdHMgdGhlIG5lZWQgdG8gZmxpcCB0aGUgcGxhY2VtZW50LlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgZmxpcDoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj02MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDYwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGZsaXAsXG4gICAgLyoqXG4gICAgICogQHByb3Age1N0cmluZ3xBcnJheX0gYmVoYXZpb3I9J2ZsaXAnXG4gICAgICogVGhlIGJlaGF2aW9yIHVzZWQgdG8gY2hhbmdlIHRoZSBwb3BwZXIncyBwbGFjZW1lbnQuIEl0IGNhbiBiZSBvbmUgb2ZcbiAgICAgKiBgZmxpcGAsIGBjbG9ja3dpc2VgLCBgY291bnRlcmNsb2Nrd2lzZWAgb3IgYW4gYXJyYXkgd2l0aCBhIGxpc3Qgb2YgdmFsaWRcbiAgICAgKiBwbGFjZW1lbnRzICh3aXRoIG9wdGlvbmFsIHZhcmlhdGlvbnMpLlxuICAgICAqL1xuICAgIGJlaGF2aW9yOiAnZmxpcCcsXG4gICAgLyoqXG4gICAgICogQHByb3Age251bWJlcn0gcGFkZGluZz01XG4gICAgICogVGhlIHBvcHBlciB3aWxsIGZsaXAgaWYgaXQgaGl0cyB0aGUgZWRnZXMgb2YgdGhlIGBib3VuZGFyaWVzRWxlbWVudGBcbiAgICAgKi9cbiAgICBwYWRkaW5nOiA1LFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtTdHJpbmd8SFRNTEVsZW1lbnR9IGJvdW5kYXJpZXNFbGVtZW50PSd2aWV3cG9ydCdcbiAgICAgKiBUaGUgZWxlbWVudCB3aGljaCB3aWxsIGRlZmluZSB0aGUgYm91bmRhcmllcyBvZiB0aGUgcG9wcGVyIHBvc2l0aW9uLFxuICAgICAqIHRoZSBwb3BwZXIgd2lsbCBuZXZlciBiZSBwbGFjZWQgb3V0c2lkZSBvZiB0aGUgZGVmaW5lZCBib3VuZGFyaWVzXG4gICAgICogKGV4Y2VwdCBpZiBrZWVwVG9nZXRoZXIgaXMgZW5hYmxlZClcbiAgICAgKi9cbiAgICBib3VuZGFyaWVzRWxlbWVudDogJ3ZpZXdwb3J0J1xuICB9LFxuXG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIG1ha2UgdGhlIHBvcHBlciBmbG93IHRvd2FyZCB0aGUgaW5uZXIgb2YgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICAgKiBCeSBkZWZhdWx0LCB3aGVuIHRoaXMgbW9kaWZpZXIgaXMgZGlzYWJsZWQsIHRoZSBwb3BwZXIgd2lsbCBiZSBwbGFjZWQgb3V0c2lkZVxuICAgKiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBpbm5lcjoge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj03MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDcwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9ZmFsc2UgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIC8qKiBAcHJvcCB7TW9kaWZpZXJGbn0gKi9cbiAgICBmbjogaW5uZXJcbiAgfSxcblxuICAvKipcbiAgICogTW9kaWZpZXIgdXNlZCB0byBoaWRlIHRoZSBwb3BwZXIgd2hlbiBpdHMgcmVmZXJlbmNlIGVsZW1lbnQgaXMgb3V0c2lkZSBvZiB0aGVcbiAgICogcG9wcGVyIGJvdW5kYXJpZXMuIEl0IHdpbGwgc2V0IGEgYHgtb3V0LW9mLWJvdW5kYXJpZXNgIGF0dHJpYnV0ZSB3aGljaCBjYW5cbiAgICogYmUgdXNlZCB0byBoaWRlIHdpdGggYSBDU1Mgc2VsZWN0b3IgdGhlIHBvcHBlciB3aGVuIGl0cyByZWZlcmVuY2UgaXNcbiAgICogb3V0IG9mIGJvdW5kYXJpZXMuXG4gICAqXG4gICAqIFJlcXVpcmVzIHRoZSBgcHJldmVudE92ZXJmbG93YCBtb2RpZmllciBiZWZvcmUgaXQgaW4gb3JkZXIgdG8gd29yay5cbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGhpZGU6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9ODAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA4MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBoaWRlXG4gIH0sXG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgdGhlIGNvbXB1dGVkIHN0eWxlcyB0byB0aGUgcG9wcGVyIGVsZW1lbnQuXG4gICAqXG4gICAqIEFsbCB0aGUgRE9NIG1hbmlwdWxhdGlvbnMgYXJlIGxpbWl0ZWQgdG8gdGhpcyBtb2RpZmllci4gVGhpcyBpcyB1c2VmdWwgaW4gY2FzZVxuICAgKiB5b3Ugd2FudCB0byBpbnRlZ3JhdGUgUG9wcGVyLmpzIGluc2lkZSBhIGZyYW1ld29yayBvciB2aWV3IGxpYnJhcnkgYW5kIHlvdVxuICAgKiB3YW50IHRvIGRlbGVnYXRlIGFsbCB0aGUgRE9NIG1hbmlwdWxhdGlvbnMgdG8gaXQuXG4gICAqXG4gICAqIEp1c3QgZGlzYWJsZSB0aGlzIG1vZGlmaWVyIGFuZCBkZWZpbmUgeW91IG93biB0byBhY2hpZXZlIHRoZSBkZXNpcmVkIGVmZmVjdC5cbiAgICpcbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGFwcGx5U3R5bGU6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9OTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA5MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBhcHBseVN0eWxlLFxuICAgIC8qKiBAcHJvcCB7RnVuY3Rpb259ICovXG4gICAgb25Mb2FkOiBhcHBseVN0eWxlT25Mb2FkLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtCb29sZWFufSBncHVBY2NlbGVyYXRpb249dHJ1ZVxuICAgICAqIElmIHRydWUsIGl0IHVzZXMgdGhlIENTUyAzZCB0cmFuc2Zvcm1hdGlvbiB0byBwb3NpdGlvbiB0aGUgcG9wcGVyLlxuICAgICAqIE90aGVyd2lzZSwgaXQgd2lsbCB1c2UgdGhlIGB0b3BgIGFuZCBgbGVmdGAgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBncHVBY2NlbGVyYXRpb246IHRydWVcbiAgfVxufTtcblxuLyoqXG4gKiBUaGUgYGRhdGFPYmplY3RgIGlzIGFuIG9iamVjdCBjb250YWluaW5nIGFsbCB0aGUgaW5mb3JtYXRpb25zIHVzZWQgYnkgUG9wcGVyLmpzXG4gKiB0aGlzIG9iamVjdCBnZXQgcGFzc2VkIHRvIG1vZGlmaWVycyBhbmQgdG8gdGhlIGBvbkNyZWF0ZWAgYW5kIGBvblVwZGF0ZWAgY2FsbGJhY2tzLlxuICogQG5hbWUgZGF0YU9iamVjdFxuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEuaW5zdGFuY2UgVGhlIFBvcHBlci5qcyBpbnN0YW5jZVxuICogQHByb3BlcnR5IHtTdHJpbmd9IGRhdGEucGxhY2VtZW50IFBsYWNlbWVudCBhcHBsaWVkIHRvIHBvcHBlclxuICogQHByb3BlcnR5IHtTdHJpbmd9IGRhdGEub3JpZ2luYWxQbGFjZW1lbnQgUGxhY2VtZW50IG9yaWdpbmFsbHkgZGVmaW5lZCBvbiBpbml0XG4gKiBAcHJvcGVydHkge0Jvb2xlYW59IGRhdGEuZmxpcHBlZCBUcnVlIGlmIHBvcHBlciBoYXMgYmVlbiBmbGlwcGVkIGJ5IGZsaXAgbW9kaWZpZXJcbiAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gZGF0YS5oaWRlIFRydWUgaWYgdGhlIHJlZmVyZW5jZSBlbGVtZW50IGlzIG91dCBvZiBib3VuZGFyaWVzLCB1c2VmdWwgdG8ga25vdyB3aGVuIHRvIGhpZGUgdGhlIHBvcHBlci5cbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IGRhdGEuYXJyb3dFbGVtZW50IE5vZGUgdXNlZCBhcyBhcnJvdyBieSBhcnJvdyBtb2RpZmllclxuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEuc3R5bGVzIEFueSBDU1MgcHJvcGVydHkgZGVmaW5lZCBoZXJlIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLCBpdCBleHBlY3RzIHRoZSBKYXZhU2NyaXB0IG5vbWVuY2xhdHVyZSAoZWcuIGBtYXJnaW5Cb3R0b21gKVxuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEuYm91bmRhcmllcyBPZmZzZXRzIG9mIHRoZSBwb3BwZXIgYm91bmRhcmllc1xuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEub2Zmc2V0cyBUaGUgbWVhc3VyZW1lbnRzIG9mIHBvcHBlciwgcmVmZXJlbmNlIGFuZCBhcnJvdyBlbGVtZW50cy5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLm9mZnNldHMucG9wcGVyIGB0b3BgLCBgbGVmdGAsIGB3aWR0aGAsIGBoZWlnaHRgIHZhbHVlc1xuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2UgYHRvcGAsIGBsZWZ0YCwgYHdpZHRoYCwgYGhlaWdodGAgdmFsdWVzXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5vZmZzZXRzLmFycm9dIGB0b3BgIGFuZCBgbGVmdGAgb2Zmc2V0cywgb25seSBvbmUgb2YgdGhlbSB3aWxsIGJlIGRpZmZlcmVudCBmcm9tIDBcbiAqL1xuXG4vKipcbiAqIERlZmF1bHQgb3B0aW9ucyBwcm92aWRlZCB0byBQb3BwZXIuanMgY29uc3RydWN0b3IuPGJyIC8+XG4gKiBUaGVzZSBjYW4gYmUgb3ZlcnJpZGVuIHVzaW5nIHRoZSBgb3B0aW9uc2AgYXJndW1lbnQgb2YgUG9wcGVyLmpzLjxiciAvPlxuICogVG8gb3ZlcnJpZGUgYW4gb3B0aW9uLCBzaW1wbHkgcGFzcyBhcyAzcmQgYXJndW1lbnQgYW4gb2JqZWN0IHdpdGggdGhlIHNhbWVcbiAqIHN0cnVjdHVyZSBvZiB0aGlzIG9iamVjdCwgZXhhbXBsZTpcbiAqIGBgYFxuICogbmV3IFBvcHBlcihyZWYsIHBvcCwge1xuICogICBtb2RpZmllcnM6IHtcbiAqICAgICBwcmV2ZW50T3ZlcmZsb3c6IHsgZW5hYmxlZDogZmFsc2UgfVxuICogICB9XG4gKiB9KVxuICogYGBgXG4gKiBAdHlwZSB7T2JqZWN0fVxuICogQHN0YXRpY1xuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG52YXIgREVGQVVMVFMgPSB7XG4gIC8qKlxuICAgKiBQb3BwZXIncyBwbGFjZW1lbnRcbiAgICogQHByb3Age1BvcHBlci5wbGFjZW1lbnRzfSBwbGFjZW1lbnQ9J2JvdHRvbSdcbiAgICovXG4gIHBsYWNlbWVudDogJ2JvdHRvbScsXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgZXZlbnRzIChyZXNpemUsIHNjcm9sbCkgYXJlIGluaXRpYWxseSBlbmFibGVkXG4gICAqIEBwcm9wIHtCb29sZWFufSBldmVudHNFbmFibGVkPXRydWVcbiAgICovXG4gIGV2ZW50c0VuYWJsZWQ6IHRydWUsXG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBwb3BwZXIgd2hlblxuICAgKiB5b3UgY2FsbCB0aGUgYGRlc3Ryb3lgIG1ldGhvZC5cbiAgICogQHByb3Age0Jvb2xlYW59IHJlbW92ZU9uRGVzdHJveT1mYWxzZVxuICAgKi9cbiAgcmVtb3ZlT25EZXN0cm95OiBmYWxzZSxcblxuICAvKipcbiAgICogQ2FsbGJhY2sgY2FsbGVkIHdoZW4gdGhlIHBvcHBlciBpcyBjcmVhdGVkLjxiciAvPlxuICAgKiBCeSBkZWZhdWx0LCBpcyBzZXQgdG8gbm8tb3AuPGJyIC8+XG4gICAqIEFjY2VzcyBQb3BwZXIuanMgaW5zdGFuY2Ugd2l0aCBgZGF0YS5pbnN0YW5jZWAuXG4gICAqIEBwcm9wIHtvbkNyZWF0ZUNhbGxiYWNrfVxuICAgKi9cbiAgb25DcmVhdGU6IGZ1bmN0aW9uIG9uQ3JlYXRlKCkge30sXG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGNhbGxlZCB3aGVuIHRoZSBwb3BwZXIgaXMgdXBkYXRlZCwgdGhpcyBjYWxsYmFjayBpcyBub3QgY2FsbGVkXG4gICAqIG9uIHRoZSBpbml0aWFsaXphdGlvbi9jcmVhdGlvbiBvZiB0aGUgcG9wcGVyLCBidXQgb25seSBvbiBzdWJzZXF1ZW50XG4gICAqIHVwZGF0ZXMuPGJyIC8+XG4gICAqIEJ5IGRlZmF1bHQsIGlzIHNldCB0byBuby1vcC48YnIgLz5cbiAgICogQWNjZXNzIFBvcHBlci5qcyBpbnN0YW5jZSB3aXRoIGBkYXRhLmluc3RhbmNlYC5cbiAgICogQHByb3Age29uVXBkYXRlQ2FsbGJhY2t9XG4gICAqL1xuICBvblVwZGF0ZTogZnVuY3Rpb24gb25VcGRhdGUoKSB7fSxcblxuICAvKipcbiAgICogTGlzdCBvZiBtb2RpZmllcnMgdXNlZCB0byBtb2RpZnkgdGhlIG9mZnNldHMgYmVmb3JlIHRoZXkgYXJlIGFwcGxpZWQgdG8gdGhlIHBvcHBlci5cbiAgICogVGhleSBwcm92aWRlIG1vc3Qgb2YgdGhlIGZ1bmN0aW9uYWxpdGllcyBvZiBQb3BwZXIuanNcbiAgICogQHByb3Age21vZGlmaWVyc31cbiAgICovXG4gIG1vZGlmaWVyczogbW9kaWZpZXJzXG59O1xuXG4vKipcbiAqIEBjYWxsYmFjayBvbkNyZWF0ZUNhbGxiYWNrXG4gKiBAcGFyYW0ge2RhdGFPYmplY3R9IGRhdGFcbiAqL1xuXG4vKipcbiAqIEBjYWxsYmFjayBvblVwZGF0ZUNhbGxiYWNrXG4gKiBAcGFyYW0ge2RhdGFPYmplY3R9IGRhdGFcbiAqL1xuXG4vLyBVdGlsc1xuLy8gTWV0aG9kc1xudmFyIFBvcHBlciA9XG4vKipcbiAqIENyZWF0ZSBhIG5ldyBQb3BwZXIuanMgaW5zdGFuY2VcbiAqIEBjbGFzcyBQb3BwZXJcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8cmVmZXJlbmNlT2JqZWN0fSByZWZlcmVuY2UgLSBUaGUgcmVmZXJlbmNlIGVsZW1lbnQgdXNlZCB0byBwb3NpdGlvbiB0aGUgcG9wcGVyXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBwb3BwZXIgLSBUaGUgSFRNTCBlbGVtZW50IHVzZWQgYXMgcG9wcGVyLlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBZb3VyIGN1c3RvbSBvcHRpb25zIHRvIG92ZXJyaWRlIHRoZSBvbmVzIGRlZmluZWQgaW4gW0RFRkFVTFRTXSgjZGVmYXVsdHMpXG4gKiBAcmV0dXJuIHtPYmplY3R9IGluc3RhbmNlIC0gVGhlIGdlbmVyYXRlZCBQb3BwZXIuanMgaW5zdGFuY2VcbiAqL1xuZnVuY3Rpb24gUG9wcGVyKHJlZmVyZW5jZSwgcG9wcGVyKSB7XG4gIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuICBjbGFzc0NhbGxDaGVjayh0aGlzLCBQb3BwZXIpO1xuICB0aGlzLnVwZGF0ZSA9IHVwZGF0ZTtcbiAgdGhpcy5kZXN0cm95ID0gZGVzdHJveTtcbiAgdGhpcy5lbmFibGVFdmVudExpc3RlbmVycyA9IGVuYWJsZUV2ZW50TGlzdGVuZXJzO1xuICB0aGlzLmRpc2FibGVFdmVudExpc3RlbmVycyA9IGRpc2FibGVFdmVudExpc3RlbmVycztcblxuICB0aGlzLnNjaGVkdWxlVXBkYXRlID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoX3RoaXMudXBkYXRlKTtcbiAgfTtcblxuICAvLyBtYWtlIHVwZGF0ZSgpIGRlYm91bmNlZCwgc28gdGhhdCBpdCBvbmx5IHJ1bnMgYXQgbW9zdCBvbmNlLXBlci10aWNrXG4gIHRoaXMudXBkYXRlID0gZGVib3VuY2UodGhpcy51cGRhdGUuYmluZCh0aGlzKSk7XG5cbiAgLy8gd2l0aCB7fSB3ZSBjcmVhdGUgYSBuZXcgb2JqZWN0IHdpdGggdGhlIG9wdGlvbnMgaW5zaWRlIGl0XG4gIHRoaXMub3B0aW9ucyA9IF9leHRlbmRzKHt9LCBQb3BwZXIuRGVmYXVsdHMsIG9wdGlvbnMpO1xuXG4gIC8vIGluaXQgc3RhdGVcbiAgdGhpcy5zdGF0ZSA9IHtcbiAgICBpc0Rlc3Ryb3llZDogZmFsc2UsXG4gICAgaXNDcmVhdGVkOiBmYWxzZSxcbiAgICBzY3JvbGxQYXJlbnRzOiBbXVxuICB9O1xuXG4gIC8vIGdldCByZWZlcmVuY2UgYW5kIHBvcHBlciBlbGVtZW50cyAoYWxsb3cgalF1ZXJ5IHdyYXBwZXJzKVxuICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZS5qcXVlcnkgPyByZWZlcmVuY2VbMF0gOiByZWZlcmVuY2U7XG4gIHRoaXMucG9wcGVyID0gcG9wcGVyLmpxdWVyeSA/IHBvcHBlclswXSA6IHBvcHBlcjtcblxuICAvLyBtYWtlIHN1cmUgdG8gYXBwbHkgdGhlIHBvcHBlciBwb3NpdGlvbiBiZWZvcmUgYW55IGNvbXB1dGF0aW9uXG4gIHNldFN0eWxlcyh0aGlzLnBvcHBlciwgeyBwb3NpdGlvbjogJ2Fic29sdXRlJyB9KTtcblxuICAvLyByZWZhY3RvcmluZyBtb2RpZmllcnMnIGxpc3QgKE9iamVjdCA9PiBBcnJheSlcbiAgdGhpcy5tb2RpZmllcnMgPSBPYmplY3Qua2V5cyhQb3BwZXIuRGVmYXVsdHMubW9kaWZpZXJzKS5tYXAoZnVuY3Rpb24gKG5hbWUpIHtcbiAgICByZXR1cm4gX2V4dGVuZHMoe1xuICAgICAgbmFtZTogbmFtZVxuICAgIH0sIFBvcHBlci5EZWZhdWx0cy5tb2RpZmllcnNbbmFtZV0pO1xuICB9KTtcblxuICAvLyBhc3NpZ24gZGVmYXVsdCB2YWx1ZXMgdG8gbW9kaWZpZXJzLCBtYWtpbmcgc3VyZSB0byBvdmVycmlkZSB0aGVtIHdpdGhcbiAgLy8gdGhlIG9uZXMgZGVmaW5lZCBieSB1c2VyXG4gIHRoaXMubW9kaWZpZXJzID0gdGhpcy5tb2RpZmllcnMubWFwKGZ1bmN0aW9uIChkZWZhdWx0Q29uZmlnKSB7XG4gICAgdmFyIHVzZXJDb25maWcgPSBvcHRpb25zLm1vZGlmaWVycyAmJiBvcHRpb25zLm1vZGlmaWVyc1tkZWZhdWx0Q29uZmlnLm5hbWVdIHx8IHt9O1xuICAgIHJldHVybiBfZXh0ZW5kcyh7fSwgZGVmYXVsdENvbmZpZywgdXNlckNvbmZpZyk7XG4gIH0pO1xuXG4gIC8vIGFkZCBjdXN0b20gbW9kaWZpZXJzIHRvIHRoZSBtb2RpZmllcnMgbGlzdFxuICBpZiAob3B0aW9ucy5tb2RpZmllcnMpIHtcbiAgICB0aGlzLm9wdGlvbnMubW9kaWZpZXJzID0gX2V4dGVuZHMoe30sIFBvcHBlci5EZWZhdWx0cy5tb2RpZmllcnMsIG9wdGlvbnMubW9kaWZpZXJzKTtcbiAgICBPYmplY3Qua2V5cyhvcHRpb25zLm1vZGlmaWVycykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgLy8gdGFrZSBpbiBhY2NvdW50IG9ubHkgY3VzdG9tIG1vZGlmaWVyc1xuICAgICAgaWYgKFBvcHBlci5EZWZhdWx0cy5tb2RpZmllcnNbbmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YXIgbW9kaWZpZXIgPSBvcHRpb25zLm1vZGlmaWVyc1tuYW1lXTtcbiAgICAgICAgbW9kaWZpZXIubmFtZSA9IG5hbWU7XG4gICAgICAgIF90aGlzLm1vZGlmaWVycy5wdXNoKG1vZGlmaWVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIHNvcnQgdGhlIG1vZGlmaWVycyBieSBvcmRlclxuICB0aGlzLm1vZGlmaWVycyA9IHRoaXMubW9kaWZpZXJzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gIH0pO1xuXG4gIC8vIG1vZGlmaWVycyBoYXZlIHRoZSBhYmlsaXR5IHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgd2hlbiBQb3BwZXIuanMgZ2V0IGluaXRlZFxuICAvLyBzdWNoIGNvZGUgaXMgZXhlY3V0ZWQgaW4gdGhlIHNhbWUgb3JkZXIgb2YgaXRzIG1vZGlmaWVyXG4gIC8vIHRoZXkgY291bGQgYWRkIG5ldyBwcm9wZXJ0aWVzIHRvIHRoZWlyIG9wdGlvbnMgY29uZmlndXJhdGlvblxuICAvLyBCRSBBV0FSRTogZG9uJ3QgYWRkIG9wdGlvbnMgdG8gYG9wdGlvbnMubW9kaWZpZXJzLm5hbWVgIGJ1dCB0byBgbW9kaWZpZXJPcHRpb25zYCFcbiAgdGhpcy5tb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXJPcHRpb25zKSB7XG4gICAgaWYgKG1vZGlmaWVyT3B0aW9ucy5lbmFibGVkICYmIGlzRnVuY3Rpb24obW9kaWZpZXJPcHRpb25zLm9uTG9hZCkpIHtcbiAgICAgIG1vZGlmaWVyT3B0aW9ucy5vbkxvYWQoX3RoaXMucmVmZXJlbmNlLCBfdGhpcy5wb3BwZXIsIF90aGlzLm9wdGlvbnMsIG1vZGlmaWVyT3B0aW9ucywgX3RoaXMuc3RhdGUpO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gZmlyZSB0aGUgZmlyc3QgdXBkYXRlIHRvIHBvc2l0aW9uIHRoZSBwb3BwZXIgaW4gdGhlIHJpZ2h0IHBsYWNlXG4gIHRoaXMudXBkYXRlKCk7XG5cbiAgdmFyIGV2ZW50c0VuYWJsZWQgPSB0aGlzLm9wdGlvbnMuZXZlbnRzRW5hYmxlZDtcbiAgaWYgKGV2ZW50c0VuYWJsZWQpIHtcbiAgICAvLyBzZXR1cCBldmVudCBsaXN0ZW5lcnMsIHRoZXkgd2lsbCB0YWtlIGNhcmUgb2YgdXBkYXRlIHRoZSBwb3NpdGlvbiBpbiBzcGVjaWZpYyBzaXR1YXRpb25zXG4gICAgdGhpcy5lbmFibGVFdmVudExpc3RlbmVycygpO1xuICB9XG5cbiAgdGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkID0gZXZlbnRzRW5hYmxlZDtcbn07XG5cbi8qKlxuICogVGhlIGByZWZlcmVuY2VPYmplY3RgIGlzIGFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIGFuIGludGVyZmFjZSBjb21wYXRpYmxlIHdpdGggUG9wcGVyLmpzXG4gKiBhbmQgbGV0cyB5b3UgdXNlIGl0IGFzIHJlcGxhY2VtZW50IG9mIGEgcmVhbCBET00gbm9kZS48YnIgLz5cbiAqIFlvdSBjYW4gdXNlIHRoaXMgbWV0aG9kIHRvIHBvc2l0aW9uIGEgcG9wcGVyIHJlbGF0aXZlbHkgdG8gYSBzZXQgb2YgY29vcmRpbmF0ZXNcbiAqIGluIGNhc2UgeW91IGRvbid0IGhhdmUgYSBET00gbm9kZSB0byB1c2UgYXMgcmVmZXJlbmNlLlxuICpcbiAqIGBgYFxuICogbmV3IFBvcHBlcihyZWZlcmVuY2VPYmplY3QsIHBvcHBlck5vZGUpO1xuICogYGBgXG4gKlxuICogTkI6IFRoaXMgZmVhdHVyZSBpc24ndCBzdXBwb3J0ZWQgaW4gSW50ZXJuZXQgRXhwbG9yZXIgMTBcbiAqIEBuYW1lIHJlZmVyZW5jZU9iamVjdFxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gZGF0YS5nZXRCb3VuZGluZ0NsaWVudFJlY3RcbiAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgc2V0IG9mIGNvb3JkaW5hdGVzIGNvbXBhdGlibGUgd2l0aCB0aGUgbmF0aXZlIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIG1ldGhvZC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBkYXRhLmNsaWVudFdpZHRoXG4gKiBBbiBFUzYgZ2V0dGVyIHRoYXQgd2lsbCByZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSB2aXJ0dWFsIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGRhdGEuY2xpZW50SGVpZ2h0XG4gKiBBbiBFUzYgZ2V0dGVyIHRoYXQgd2lsbCByZXR1cm4gdGhlIGhlaWdodCBvZiB0aGUgdmlydHVhbCByZWZlcmVuY2UgZWxlbWVudC5cbiAqL1xuXG5cblBvcHBlci5VdGlscyA9ICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IGdsb2JhbCkuUG9wcGVyVXRpbHM7XG5Qb3BwZXIucGxhY2VtZW50cyA9IHBsYWNlbWVudHM7XG5Qb3BwZXIuRGVmYXVsdHMgPSBERUZBVUxUUztcblxuZXhwb3J0IGRlZmF1bHQgUG9wcGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cG9wcGVyLmpzLm1hcFxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vfi9wb3BwZXIuanMvZGlzdC9lc20vcG9wcGVyLmpzIiwiaW1wb3J0IFBvcHBlciBmcm9tICdwb3BwZXIuanMnO1xuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBnaXZlbiB2YXJpYWJsZSBpcyBhIGZ1bmN0aW9uXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQgeyp9IGZ1bmN0aW9uVG9DaGVjayAtIHZhcmlhYmxlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gYW5zd2VyIHRvOiBpcyBhIGZ1bmN0aW9uP1xuICovXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKGZ1bmN0aW9uVG9DaGVjaykge1xuICB2YXIgZ2V0VHlwZSA9IHt9O1xuICByZXR1cm4gZnVuY3Rpb25Ub0NoZWNrICYmIGdldFR5cGUudG9TdHJpbmcuY2FsbChmdW5jdGlvblRvQ2hlY2spID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xufVxuXG52YXIgY2xhc3NDYWxsQ2hlY2sgPSBmdW5jdGlvbiAoaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgfVxufTtcblxudmFyIGNyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykge1xuICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gICAgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICB9O1xufSgpO1xuXG5cblxuXG5cblxuXG52YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufTtcblxudmFyIERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgY29udGFpbmVyOiBmYWxzZSxcbiAgZGVsYXk6IDAsXG4gIGh0bWw6IGZhbHNlLFxuICBwbGFjZW1lbnQ6ICd0b3AnLFxuICB0aXRsZTogJycsXG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cInRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiPjxkaXYgY2xhc3M9XCJ0b29sdGlwLWFycm93XCI+PC9kaXY+PGRpdiBjbGFzcz1cInRvb2x0aXAtaW5uZXJcIj48L2Rpdj48L2Rpdj4nLFxuICB0cmlnZ2VyOiAnaG92ZXIgZm9jdXMnLFxuICBvZmZzZXQ6IDBcbn07XG5cbnZhciBUb29sdGlwID0gZnVuY3Rpb24gKCkge1xuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IFRvb2x0aXAuanMgaW5zdGFuY2VcbiAgICogQGNsYXNzIFRvb2x0aXBcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSBlbGVtZW50IHVzZWQgdG8gcG9zaXRpb24gdGhlIHRvb2x0aXBcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAgICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMucGxhY2VtZW50PWJvdHRvbVxuICAgKiAgICAgIFBsYWNlbWVudCBvZiB0aGUgcG9wcGVyIGFjY2VwdGVkIHZhbHVlczogYHRvcCgtc3RhcnQsIC1lbmQpLCByaWdodCgtc3RhcnQsIC1lbmQpLCBib3R0b20oLXN0YXJ0LCAtZW5kKSxcbiAgICogICAgICBsZWZ0KC1zdGFydCwgLWVuZClgXG4gICAqXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHJlZmVyZW5jZSAtIFRoZSBET00gbm9kZSB1c2VkIGFzIHJlZmVyZW5jZSBvZiB0aGUgdG9vbHRpcCAoaXQgY2FuIGJlIGEgalF1ZXJ5IGVsZW1lbnQpLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb2YgdGhlIHRvb2x0aXBcbiAgICogQHBhcmFtIHtIVE1MRWxlbWVudHxTdHJpbmd8ZmFsc2V9IG9wdGlvbnMuY29udGFpbmVyPWZhbHNlIC0gQXBwZW5kIHRoZSB0b29sdGlwIHRvIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAgICogQHBhcmFtIHtOdW1iZXJ8T2JqZWN0fSBvcHRpb25zLmRlbGF5PTBcbiAgICogICAgICBEZWxheSBzaG93aW5nIGFuZCBoaWRpbmcgdGhlIHRvb2x0aXAgKG1zKSAtIGRvZXMgbm90IGFwcGx5IHRvIG1hbnVhbCB0cmlnZ2VyIHR5cGUuXG4gICAqICAgICAgSWYgYSBudW1iZXIgaXMgc3VwcGxpZWQsIGRlbGF5IGlzIGFwcGxpZWQgdG8gYm90aCBoaWRlL3Nob3cuXG4gICAqICAgICAgT2JqZWN0IHN0cnVjdHVyZSBpczogYHsgc2hvdzogNTAwLCBoaWRlOiAxMDAgfWBcbiAgICogQHBhcmFtIHtCb29sZWFufSBvcHRpb25zLmh0bWw9ZmFsc2UgLSBJbnNlcnQgSFRNTCBpbnRvIHRoZSB0b29sdGlwLiBJZiBmYWxzZSwgdGhlIGNvbnRlbnQgd2lsbCBpbnNlcnRlZCB3aXRoIGBpbm5lclRleHRgLlxuICAgKiBAcGFyYW0ge1N0cmluZ3xQbGFjZW1lbnRGdW5jdGlvbn0gb3B0aW9ucy5wbGFjZW1lbnQ9J3RvcCcgLSBPbmUgb2YgdGhlIGFsbG93ZWQgcGxhY2VtZW50cywgb3IgYSBmdW5jdGlvbiByZXR1cm5pbmcgb25lIG9mIHRoZW0uXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBvcHRpb25zLnRlbXBsYXRlPSc8ZGl2IGNsYXNzPVwidG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCI+PGRpdiBjbGFzcz1cInRvb2x0aXAtYXJyb3dcIj48L2Rpdj48ZGl2IGNsYXNzPVwidG9vbHRpcC1pbm5lclwiPjwvZGl2PjwvZGl2PidcbiAgICogICAgICBCYXNlIEhUTUwgdG8gdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSB0b29sdGlwLlxuICAgKiAgICAgIFRoZSB0b29sdGlwJ3MgYHRpdGxlYCB3aWxsIGJlIGluamVjdGVkIGludG8gdGhlIGAudG9vbHRpcC1pbm5lcmAgb3IgYC50b29sdGlwX19pbm5lcmAuXG4gICAqICAgICAgYC50b29sdGlwLWFycm93YCBvciBgLnRvb2x0aXBfX2Fycm93YCB3aWxsIGJlY29tZSB0aGUgdG9vbHRpcCdzIGFycm93LlxuICAgKiAgICAgIFRoZSBvdXRlcm1vc3Qgd3JhcHBlciBlbGVtZW50IHNob3VsZCBoYXZlIHRoZSBgLnRvb2x0aXBgIGNsYXNzLlxuICAgKiBAcGFyYW0ge1N0cmluZ3xIVE1MRWxlbWVudHxUaXRsZUZ1bmN0aW9ufSBvcHRpb25zLnRpdGxlPScnIC0gRGVmYXVsdCB0aXRsZSB2YWx1ZSBpZiBgdGl0bGVgIGF0dHJpYnV0ZSBpc24ndCBwcmVzZW50LlxuICAgKiBAcGFyYW0ge1N0cmluZ30gb3B0aW9ucy50cmlnZ2VyPSdob3ZlciBmb2N1cydcbiAgICogICAgICBIb3cgdG9vbHRpcCBpcyB0cmlnZ2VyZWQgLSBjbGljayB8IGhvdmVyIHwgZm9jdXMgfCBtYW51YWwuXG4gICAqICAgICAgWW91IG1heSBwYXNzIG11bHRpcGxlIHRyaWdnZXJzOyBzZXBhcmF0ZSB0aGVtIHdpdGggYSBzcGFjZS4gYG1hbnVhbGAgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYW55IG90aGVyIHRyaWdnZXIuXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG9wdGlvbnMuYm91bmRhcmllc0VsZW1lbnRcbiAgICogICAgICBUaGUgZWxlbWVudCB1c2VkIGFzIGJvdW5kYXJpZXMgZm9yIHRoZSB0b29sdGlwLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiByZWZlciB0byBQb3BwZXIuanMnXG4gICAqICAgICAgW2JvdW5kYXJpZXNFbGVtZW50IGRvY3NdKGh0dHBzOi8vcG9wcGVyLmpzLm9yZy9wb3BwZXItZG9jdW1lbnRhdGlvbi5odG1sKVxuICAgKiBAcGFyYW0ge051bWJlcnxTdHJpbmd9IG9wdGlvbnMub2Zmc2V0PTAgLSBPZmZzZXQgb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gaXRzIHJlZmVyZW5jZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcmVmZXIgdG8gUG9wcGVyLmpzJ1xuICAgKiAgICAgIFtvZmZzZXQgZG9jc10oaHR0cHM6Ly9wb3BwZXIuanMub3JnL3BvcHBlci1kb2N1bWVudGF0aW9uLmh0bWwpXG4gICAqIEByZXR1cm4ge09iamVjdH0gaW5zdGFuY2UgLSBUaGUgZ2VuZXJhdGVkIHRvb2x0aXAgaW5zdGFuY2VcbiAgICovXG4gIGZ1bmN0aW9uIFRvb2x0aXAocmVmZXJlbmNlLCBvcHRpb25zKSB7XG4gICAgY2xhc3NDYWxsQ2hlY2sodGhpcywgVG9vbHRpcCk7XG5cbiAgICBfaW5pdGlhbGlzZVByb3BzLmNhbGwodGhpcyk7XG5cbiAgICAvLyBhcHBseSB1c2VyIG9wdGlvbnMgb3ZlciBkZWZhdWx0IG9uZXNcbiAgICBvcHRpb25zID0gX2V4dGVuZHMoe30sIERFRkFVTFRfT1BUSU9OUywgb3B0aW9ucyk7XG5cbiAgICByZWZlcmVuY2UuanF1ZXJ5ICYmIChyZWZlcmVuY2UgPSByZWZlcmVuY2VbMF0pO1xuXG4gICAgLy8gY2FjaGUgcmVmZXJlbmNlIGFuZCBvcHRpb25zXG4gICAgdGhpcy5yZWZlcmVuY2UgPSByZWZlcmVuY2U7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICAgIC8vIGdldCBldmVudHMgbGlzdFxuICAgIHZhciBldmVudHMgPSB0eXBlb2Ygb3B0aW9ucy50cmlnZ2VyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMudHJpZ2dlci5zcGxpdCgnICcpLmZpbHRlcihmdW5jdGlvbiAodHJpZ2dlcikge1xuICAgICAgcmV0dXJuIFsnY2xpY2snLCAnaG92ZXInLCAnZm9jdXMnXS5pbmRleE9mKHRyaWdnZXIpICE9PSAtMTtcbiAgICB9KSA6IFtdO1xuXG4gICAgLy8gc2V0IGluaXRpYWwgc3RhdGVcbiAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcblxuICAgIC8vIHNldCBldmVudCBsaXN0ZW5lcnNcbiAgICB0aGlzLl9zZXRFdmVudExpc3RlbmVycyhyZWZlcmVuY2UsIGV2ZW50cywgb3B0aW9ucyk7XG4gIH1cblxuICAvL1xuICAvLyBQdWJsaWMgbWV0aG9kc1xuICAvL1xuXG4gIC8qKlxuICAgKiBSZXZlYWxzIGFuIGVsZW1lbnQncyB0b29sdGlwLiBUaGlzIGlzIGNvbnNpZGVyZWQgYSBcIm1hbnVhbFwiIHRyaWdnZXJpbmcgb2YgdGhlIHRvb2x0aXAuXG4gICAqIFRvb2x0aXBzIHdpdGggemVyby1sZW5ndGggdGl0bGVzIGFyZSBuZXZlciBkaXNwbGF5ZWQuXG4gICAqIEBtZW1iZXJvZiBUb29sdGlwXG4gICAqL1xuXG5cbiAgLyoqXG4gICAqIEhpZGVzIGFuIGVsZW1lbnTigJlzIHRvb2x0aXAuIFRoaXMgaXMgY29uc2lkZXJlZCBhIOKAnG1hbnVhbOKAnSB0cmlnZ2VyaW5nIG9mIHRoZSB0b29sdGlwLlxuICAgKiBAbWVtYmVyb2YgVG9vbHRpcFxuICAgKi9cblxuXG4gIC8qKlxuICAgKiBIaWRlcyBhbmQgZGVzdHJveXMgYW4gZWxlbWVudOKAmXMgdG9vbHRpcC5cbiAgICogQG1lbWJlcm9mIFRvb2x0aXBcbiAgICovXG5cblxuICAvKipcbiAgICogVG9nZ2xlcyBhbiBlbGVtZW504oCZcyB0b29sdGlwLiBUaGlzIGlzIGNvbnNpZGVyZWQgYSDigJxtYW51YWzigJ0gdHJpZ2dlcmluZyBvZiB0aGUgdG9vbHRpcC5cbiAgICogQG1lbWJlcm9mIFRvb2x0aXBcbiAgICovXG5cblxuICAvL1xuICAvLyBEZWZhdWx0c1xuICAvL1xuXG5cbiAgLy9cbiAgLy8gUHJpdmF0ZSBtZXRob2RzXG4gIC8vXG5cbiAgY3JlYXRlQ2xhc3MoVG9vbHRpcCwgW3tcbiAgICBrZXk6ICdfY3JlYXRlJyxcblxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyB0b29sdGlwIG5vZGVcbiAgICAgKiBAbWVtYmVyb2YgVG9vbHRpcFxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcmVmZXJlbmNlXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHRlbXBsYXRlXG4gICAgICogQHBhcmFtIHtTdHJpbmd8SFRNTEVsZW1lbnR8VGl0bGVGdW5jdGlvbn0gdGl0bGVcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGFsbG93SHRtbFxuICAgICAqIEByZXR1cm4ge0hUTUxlbGVtZW50fSB0b29sdGlwTm9kZVxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBfY3JlYXRlKHJlZmVyZW5jZSwgdGVtcGxhdGUsIHRpdGxlLCBhbGxvd0h0bWwpIHtcbiAgICAgIC8vIGNyZWF0ZSB0b29sdGlwIGVsZW1lbnRcbiAgICAgIHZhciB0b29sdGlwR2VuZXJhdG9yID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdG9vbHRpcEdlbmVyYXRvci5pbm5lckhUTUwgPSB0ZW1wbGF0ZTtcbiAgICAgIHZhciB0b29sdGlwTm9kZSA9IHRvb2x0aXBHZW5lcmF0b3IuY2hpbGROb2Rlc1swXTtcblxuICAgICAgLy8gYWRkIHVuaXF1ZSBJRCB0byBvdXIgdG9vbHRpcCAobmVlZGVkIGZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMpXG4gICAgICB0b29sdGlwTm9kZS5pZCA9ICd0b29sdGlwXycgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgMTApO1xuXG4gICAgICAvLyBzZXQgaW5pdGlhbCBgYXJpYS1oaWRkZW5gIHN0YXRlIHRvIGBmYWxzZWAgKGl0J3MgdmlzaWJsZSEpXG4gICAgICB0b29sdGlwTm9kZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ2ZhbHNlJyk7XG5cbiAgICAgIC8vIGFkZCB0aXRsZSB0byB0b29sdGlwXG4gICAgICB2YXIgdGl0bGVOb2RlID0gdG9vbHRpcEdlbmVyYXRvci5xdWVyeVNlbGVjdG9yKHRoaXMuaW5uZXJTZWxlY3Rvcik7XG4gICAgICBpZiAodGl0bGUubm9kZVR5cGUgPT09IDEpIHtcbiAgICAgICAgLy8gaWYgdGl0bGUgaXMgYSBub2RlLCBhcHBlbmQgaXQgb25seSBpZiBhbGxvd0h0bWwgaXMgdHJ1ZVxuICAgICAgICBhbGxvd0h0bWwgJiYgdGl0bGVOb2RlLmFwcGVuZENoaWxkKHRpdGxlKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbih0aXRsZSkpIHtcbiAgICAgICAgLy8gaWYgdGl0bGUgaXMgYSBmdW5jdGlvbiwgY2FsbCBpdCBhbmQgc2V0IGlubmVyVGV4dCBvciBpbm5lckh0bWwgZGVwZW5kaW5nIGJ5IGBhbGxvd0h0bWxgIHZhbHVlXG4gICAgICAgIHZhciB0aXRsZVRleHQgPSB0aXRsZS5jYWxsKHJlZmVyZW5jZSk7XG4gICAgICAgIGFsbG93SHRtbCA/IHRpdGxlTm9kZS5pbm5lckhUTUwgPSB0aXRsZVRleHQgOiB0aXRsZU5vZGUuaW5uZXJUZXh0ID0gdGl0bGVUZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gaWYgaXQncyBqdXN0IGEgc2ltcGxlIHRleHQsIHNldCBpbm5lclRleHQgb3IgaW5uZXJIdG1sIGRlcGVuZGluZyBieSBgYWxsb3dIdG1sYCB2YWx1ZVxuICAgICAgICBhbGxvd0h0bWwgPyB0aXRsZU5vZGUuaW5uZXJIVE1MID0gdGl0bGUgOiB0aXRsZU5vZGUuaW5uZXJUZXh0ID0gdGl0bGU7XG4gICAgICB9XG5cbiAgICAgIC8vIHJldHVybiB0aGUgZ2VuZXJhdGVkIHRvb2x0aXAgbm9kZVxuICAgICAgcmV0dXJuIHRvb2x0aXBOb2RlO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ19zaG93JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gX3Nob3cocmVmZXJlbmNlLCBvcHRpb25zKSB7XG4gICAgICAvLyBkb24ndCBzaG93IGlmIGl0J3MgYWxyZWFkeSB2aXNpYmxlXG4gICAgICBpZiAodGhpcy5faXNPcGVuKSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcblxuICAgICAgLy8gaWYgdGhlIHRvb2x0aXBOb2RlIGFscmVhZHkgZXhpc3RzLCBqdXN0IHNob3cgaXRcbiAgICAgIGlmICh0aGlzLl90b29sdGlwTm9kZSkge1xuICAgICAgICB0aGlzLl90b29sdGlwTm9kZS5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBOb2RlLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAnZmFsc2UnKTtcbiAgICAgICAgdGhpcy5wb3BwZXJJbnN0YW5jZS51cGRhdGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIC8vIGdldCB0aXRsZVxuICAgICAgdmFyIHRpdGxlID0gcmVmZXJlbmNlLmdldEF0dHJpYnV0ZSgndGl0bGUnKSB8fCBvcHRpb25zLnRpdGxlO1xuXG4gICAgICAvLyBkb24ndCBzaG93IHRvb2x0aXAgaWYgbm8gdGl0bGUgaXMgZGVmaW5lZFxuICAgICAgaWYgKCF0aXRsZSkge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cblxuICAgICAgLy8gY3JlYXRlIHRvb2x0aXAgbm9kZVxuICAgICAgdmFyIHRvb2x0aXBOb2RlID0gdGhpcy5fY3JlYXRlKHJlZmVyZW5jZSwgb3B0aW9ucy50ZW1wbGF0ZSwgdGl0bGUsIG9wdGlvbnMuaHRtbCk7XG5cbiAgICAgIC8vIEFkZCBgYXJpYS1kZXNjcmliZWRieWAgdG8gb3VyIHJlZmVyZW5jZSBlbGVtZW50IGZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnNcbiAgICAgIHRvb2x0aXBOb2RlLnNldEF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScsIHRvb2x0aXBOb2RlLmlkKTtcblxuICAgICAgLy8gYXBwZW5kIHRvb2x0aXAgdG8gY29udGFpbmVyXG4gICAgICB2YXIgY29udGFpbmVyID0gdGhpcy5fZmluZENvbnRhaW5lcihvcHRpb25zLmNvbnRhaW5lciwgcmVmZXJlbmNlKTtcblxuICAgICAgdGhpcy5fYXBwZW5kKHRvb2x0aXBOb2RlLCBjb250YWluZXIpO1xuXG4gICAgICB2YXIgcG9wcGVyT3B0aW9ucyA9IHtcbiAgICAgICAgcGxhY2VtZW50OiBvcHRpb25zLnBsYWNlbWVudCxcbiAgICAgICAgYXJyb3dFbGVtZW50OiB0aGlzLmFycm93U2VsZWN0b3JcbiAgICAgIH07XG5cbiAgICAgIGlmIChvcHRpb25zLmJvdW5kYXJpZXNFbGVtZW50KSB7XG4gICAgICAgIHBvcHBlck9wdGlvbnMuYm91bmRhcmllc0VsZW1lbnQgPSBvcHRpb25zLmJvdW5kYXJpZXNFbGVtZW50O1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBvcHBlckluc3RhbmNlID0gbmV3IFBvcHBlcihyZWZlcmVuY2UsIHRvb2x0aXBOb2RlLCBwb3BwZXJPcHRpb25zKTtcblxuICAgICAgdGhpcy5fdG9vbHRpcE5vZGUgPSB0b29sdGlwTm9kZTtcblxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnX2hpZGUnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfaGlkZSgpIC8qcmVmZXJlbmNlLCBvcHRpb25zKi97XG4gICAgICAvLyBkb24ndCBoaWRlIGlmIGl0J3MgYWxyZWFkeSBoaWRkZW5cbiAgICAgIGlmICghdGhpcy5faXNPcGVuKSB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcblxuICAgICAgLy8gaGlkZSB0b29sdGlwTm9kZVxuICAgICAgdGhpcy5fdG9vbHRpcE5vZGUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgIHRoaXMuX3Rvb2x0aXBOb2RlLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdfZGlzcG9zZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9kaXNwb3NlKCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgaWYgKHRoaXMuX3Rvb2x0aXBOb2RlKSB7XG4gICAgICAgIHRoaXMuX2hpZGUoKTtcblxuICAgICAgICAvLyBkZXN0cm95IGluc3RhbmNlXG4gICAgICAgIHRoaXMucG9wcGVySW5zdGFuY2UuZGVzdHJveSgpO1xuXG4gICAgICAgIC8vIHJlbW92ZSBldmVudCBsaXN0ZW5lcnNcbiAgICAgICAgdGhpcy5fZXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgICAgICB2YXIgZnVuYyA9IF9yZWYuZnVuYyxcbiAgICAgICAgICAgICAgZXZlbnQgPSBfcmVmLmV2ZW50O1xuXG4gICAgICAgICAgX3RoaXMuX3Rvb2x0aXBOb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGZ1bmMpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZXZlbnRzID0gW107XG5cbiAgICAgICAgLy8gZGVzdHJveSB0b29sdGlwTm9kZVxuICAgICAgICB0aGlzLl90b29sdGlwTm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3Rvb2x0aXBOb2RlKTtcbiAgICAgICAgdGhpcy5fdG9vbHRpcE5vZGUgPSBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnX2ZpbmRDb250YWluZXInLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZmluZENvbnRhaW5lcihjb250YWluZXIsIHJlZmVyZW5jZSkge1xuICAgICAgLy8gaWYgY29udGFpbmVyIGlzIGEgcXVlcnksIGdldCB0aGUgcmVsYXRpdmUgZWxlbWVudFxuICAgICAgaWYgKHR5cGVvZiBjb250YWluZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnRhaW5lciA9IHdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGNvbnRhaW5lcik7XG4gICAgICB9IGVsc2UgaWYgKGNvbnRhaW5lciA9PT0gZmFsc2UpIHtcbiAgICAgICAgLy8gaWYgY29udGFpbmVyIGlzIGBmYWxzZWAsIHNldCBpdCB0byByZWZlcmVuY2UgcGFyZW50XG4gICAgICAgIGNvbnRhaW5lciA9IHJlZmVyZW5jZS5wYXJlbnROb2RlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcHBlbmQgdG9vbHRpcCB0byBjb250YWluZXJcbiAgICAgKiBAbWVtYmVyb2YgVG9vbHRpcFxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gdG9vbHRpcFxuICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8U3RyaW5nfGZhbHNlfSBjb250YWluZXJcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiAnX2FwcGVuZCcsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9hcHBlbmQodG9vbHRpcE5vZGUsIGNvbnRhaW5lcikge1xuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRvb2x0aXBOb2RlKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdfc2V0RXZlbnRMaXN0ZW5lcnMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfc2V0RXZlbnRMaXN0ZW5lcnMocmVmZXJlbmNlLCBldmVudHMsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICB2YXIgZGlyZWN0RXZlbnRzID0gW107XG4gICAgICB2YXIgb3Bwb3NpdGVFdmVudHMgPSBbXTtcblxuICAgICAgZXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgICAgICBjYXNlICdob3Zlcic6XG4gICAgICAgICAgICBkaXJlY3RFdmVudHMucHVzaCgnbW91c2VlbnRlcicpO1xuICAgICAgICAgICAgb3Bwb3NpdGVFdmVudHMucHVzaCgnbW91c2VsZWF2ZScpO1xuICAgICAgICAgIGNhc2UgJ2ZvY3VzJzpcbiAgICAgICAgICAgIGRpcmVjdEV2ZW50cy5wdXNoKCdmb2N1cycpO1xuICAgICAgICAgICAgb3Bwb3NpdGVFdmVudHMucHVzaCgnYmx1cicpO1xuICAgICAgICAgIGNhc2UgJ2NsaWNrJzpcbiAgICAgICAgICAgIGRpcmVjdEV2ZW50cy5wdXNoKCdjbGljaycpO1xuICAgICAgICAgICAgb3Bwb3NpdGVFdmVudHMucHVzaCgnY2xpY2snKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIHNjaGVkdWxlIHNob3cgdG9vbHRpcFxuICAgICAgZGlyZWN0RXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gZnVuYyhldnQpIHtcbiAgICAgICAgICBpZiAoX3RoaXMyLl9pc09wZW4gPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXZ0LnVzZWRCeVRvb2x0aXAgPSB0cnVlO1xuICAgICAgICAgIF90aGlzMi5fc2NoZWR1bGVTaG93KHJlZmVyZW5jZSwgb3B0aW9ucy5kZWxheSwgb3B0aW9ucywgZXZ0KTtcbiAgICAgICAgfTtcbiAgICAgICAgX3RoaXMyLl9ldmVudHMucHVzaCh7IGV2ZW50OiBldmVudCwgZnVuYzogZnVuYyB9KTtcbiAgICAgICAgcmVmZXJlbmNlLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGZ1bmMpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIHNjaGVkdWxlIGhpZGUgdG9vbHRpcFxuICAgICAgb3Bwb3NpdGVFdmVudHMuZm9yRWFjaChmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiBmdW5jKGV2dCkge1xuICAgICAgICAgIGlmIChldnQudXNlZEJ5VG9vbHRpcCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBfdGhpczIuX3NjaGVkdWxlSGlkZShyZWZlcmVuY2UsIG9wdGlvbnMuZGVsYXksIG9wdGlvbnMsIGV2dCk7XG4gICAgICAgIH07XG4gICAgICAgIF90aGlzMi5fZXZlbnRzLnB1c2goeyBldmVudDogZXZlbnQsIGZ1bmM6IGZ1bmMgfSk7XG4gICAgICAgIHJlZmVyZW5jZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmdW5jKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ19zY2hlZHVsZVNob3cnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfc2NoZWR1bGVTaG93KHJlZmVyZW5jZSwgZGVsYXksIG9wdGlvbnMgLyosIGV2dCAqLykge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIC8vIGRlZmF1bHRzIHRvIDBcbiAgICAgIHZhciBjb21wdXRlZERlbGF5ID0gZGVsYXkgJiYgZGVsYXkuc2hvdyB8fCBkZWxheSB8fCAwO1xuICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gX3RoaXMzLl9zaG93KHJlZmVyZW5jZSwgb3B0aW9ucyk7XG4gICAgICB9LCBjb21wdXRlZERlbGF5KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdfc2NoZWR1bGVIaWRlJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gX3NjaGVkdWxlSGlkZShyZWZlcmVuY2UsIGRlbGF5LCBvcHRpb25zLCBldnQpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICAvLyBkZWZhdWx0cyB0byAwXG4gICAgICB2YXIgY29tcHV0ZWREZWxheSA9IGRlbGF5ICYmIGRlbGF5LmhpZGUgfHwgZGVsYXkgfHwgMDtcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKF90aGlzNC5faXNPcGVuID09PSBmYWxzZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWRvY3VtZW50LmJvZHkuY29udGFpbnMoX3RoaXM0Ll90b29sdGlwTm9kZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiB3ZSBhcmUgaGlkaW5nIGJlY2F1c2Ugb2YgYSBtb3VzZWxlYXZlLCB3ZSBtdXN0IGNoZWNrIHRoYXQgdGhlIG5ld1xuICAgICAgICAvLyByZWZlcmVuY2UgaXNuJ3QgdGhlIHRvb2x0aXAsIGJlY2F1c2UgaW4gdGhpcyBjYXNlIHdlIGRvbid0IHdhbnQgdG8gaGlkZSBpdFxuICAgICAgICBpZiAoZXZ0LnR5cGUgPT09ICdtb3VzZWxlYXZlJykge1xuICAgICAgICAgIHZhciBpc1NldCA9IF90aGlzNC5fc2V0VG9vbHRpcE5vZGVFdmVudChldnQsIHJlZmVyZW5jZSwgZGVsYXksIG9wdGlvbnMpO1xuXG4gICAgICAgICAgLy8gaWYgd2Ugc2V0IHRoZSBuZXcgZXZlbnQsIGRvbid0IGhpZGUgdGhlIHRvb2x0aXAgeWV0XG4gICAgICAgICAgLy8gdGhlIG5ldyBldmVudCB3aWxsIHRha2UgY2FyZSB0byBoaWRlIGl0IGlmIG5lY2Vzc2FyeVxuICAgICAgICAgIGlmIChpc1NldCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIF90aGlzNC5faGlkZShyZWZlcmVuY2UsIG9wdGlvbnMpO1xuICAgICAgfSwgY29tcHV0ZWREZWxheSk7XG4gICAgfVxuICB9XSk7XG4gIHJldHVybiBUb29sdGlwO1xufSgpO1xuXG4vKipcbiAqIFBsYWNlbWVudCBmdW5jdGlvbiwgaXRzIGNvbnRleHQgaXMgdGhlIFRvb2x0aXAgaW5zdGFuY2UuXG4gKiBAbWVtYmVyb2YgVG9vbHRpcFxuICogQGNhbGxiYWNrIFBsYWNlbWVudEZ1bmN0aW9uXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSB0b29sdGlwIC0gdG9vbHRpcCBET00gbm9kZS5cbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHJlZmVyZW5jZSAtIHJlZmVyZW5jZSBET00gbm9kZS5cbiAqIEByZXR1cm4ge1N0cmluZ30gcGxhY2VtZW50IC0gT25lIG9mIHRoZSBhbGxvd2VkIHBsYWNlbWVudCBvcHRpb25zLlxuICovXG5cbi8qKlxuICogVGl0bGUgZnVuY3Rpb24sIGl0cyBjb250ZXh0IGlzIHRoZSBUb29sdGlwIGluc3RhbmNlLlxuICogQG1lbWJlcm9mIFRvb2x0aXBcbiAqIEBjYWxsYmFjayBUaXRsZUZ1bmN0aW9uXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHBsYWNlbWVudCAtIFRoZSBkZXNpcmVkIHRpdGxlLlxuICovXG5cblxudmFyIF9pbml0aWFsaXNlUHJvcHMgPSBmdW5jdGlvbiBfaW5pdGlhbGlzZVByb3BzKCkge1xuICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICB0aGlzLnNob3cgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIF90aGlzNS5fc2hvdyhfdGhpczUucmVmZXJlbmNlLCBfdGhpczUub3B0aW9ucyk7XG4gIH07XG5cbiAgdGhpcy5oaWRlID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBfdGhpczUuX2hpZGUoKTtcbiAgfTtcblxuICB0aGlzLmRpc3Bvc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIF90aGlzNS5fZGlzcG9zZSgpO1xuICB9O1xuXG4gIHRoaXMudG9nZ2xlID0gZnVuY3Rpb24gKCkge1xuICAgIGlmIChfdGhpczUuX2lzT3Blbikge1xuICAgICAgcmV0dXJuIF90aGlzNS5oaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBfdGhpczUuc2hvdygpO1xuICAgIH1cbiAgfTtcblxuICB0aGlzLmFycm93U2VsZWN0b3IgPSAnLnRvb2x0aXAtYXJyb3csIC50b29sdGlwX19hcnJvdyc7XG4gIHRoaXMuaW5uZXJTZWxlY3RvciA9ICcudG9vbHRpcC1pbm5lciwgLnRvb2x0aXBfX2lubmVyJztcbiAgdGhpcy5fZXZlbnRzID0gW107XG5cbiAgdGhpcy5fc2V0VG9vbHRpcE5vZGVFdmVudCA9IGZ1bmN0aW9uIChldnQsIHJlZmVyZW5jZSwgZGVsYXksIG9wdGlvbnMpIHtcbiAgICB2YXIgcmVsYXRlZHJlZmVyZW5jZSA9IGV2dC5yZWxhdGVkcmVmZXJlbmNlIHx8IGV2dC50b0VsZW1lbnQ7XG5cbiAgICB2YXIgY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjayhldnQyKSB7XG4gICAgICB2YXIgcmVsYXRlZHJlZmVyZW5jZTIgPSBldnQyLnJlbGF0ZWRyZWZlcmVuY2UgfHwgZXZ0Mi50b0VsZW1lbnQ7XG5cbiAgICAgIC8vIFJlbW92ZSBldmVudCBsaXN0ZW5lciBhZnRlciBjYWxsXG4gICAgICBfdGhpczUuX3Rvb2x0aXBOb2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZ0LnR5cGUsIGNhbGxiYWNrKTtcblxuICAgICAgLy8gSWYgdGhlIG5ldyByZWZlcmVuY2UgaXMgbm90IHRoZSByZWZlcmVuY2UgZWxlbWVudFxuICAgICAgaWYgKCFyZWZlcmVuY2UuY29udGFpbnMocmVsYXRlZHJlZmVyZW5jZTIpKSB7XG4gICAgICAgIC8vIFNjaGVkdWxlIHRvIGhpZGUgdG9vbHRpcFxuICAgICAgICBfdGhpczUuX3NjaGVkdWxlSGlkZShyZWZlcmVuY2UsIG9wdGlvbnMuZGVsYXksIG9wdGlvbnMsIGV2dDIpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoX3RoaXM1Ll90b29sdGlwTm9kZS5jb250YWlucyhyZWxhdGVkcmVmZXJlbmNlKSkge1xuICAgICAgLy8gbGlzdGVuIHRvIG1vdXNlbGVhdmUgb24gdGhlIHRvb2x0aXAgZWxlbWVudCB0byBiZSBhYmxlIHRvIGhpZGUgdGhlIHRvb2x0aXBcbiAgICAgIF90aGlzNS5fdG9vbHRpcE5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldnQudHlwZSwgY2FsbGJhY2spO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRvb2x0aXAuanMubWFwXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9+L3Rvb2x0aXAuanMvZGlzdC9lc20vdG9vbHRpcC5qcyIsImltcG9ydCB2dG9vbHRpcCwgeyBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4vdi10b29sdGlwJ1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbGwgKFZ1ZSwgb3B0aW9ucykge1xyXG4gIGlmIChpbnN0YWxsLmluc3RhbGxlZCkgcmV0dXJuXHJcbiAgaW5zdGFsbC5pbnN0YWxsZWQgPSB0cnVlXHJcblxyXG4gIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgb3B0aW9ucyB8fCB7fSlcclxuICB2dG9vbHRpcC5vcHRpb25zID0gb3B0aW9uc1xyXG4gIFZ1ZS5kaXJlY3RpdmUoJ3Rvb2x0aXAnLCB2dG9vbHRpcClcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFZUb29sdGlwID0gdnRvb2x0aXBcclxuXHJcbmNvbnN0IHBsdWdpbiA9IHtcclxuICBpbnN0YWxsLFxyXG59XHJcblxyXG4vLyBBdXRvLWluc3RhbGxcclxubGV0IEdsb2JhbFZ1ZSA9IG51bGxcclxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgR2xvYmFsVnVlID0gd2luZG93LlZ1ZVxyXG59IGVsc2UgaWYgKHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgR2xvYmFsVnVlID0gZ2xvYmFsLlZ1ZVxyXG59XHJcbmlmIChHbG9iYWxWdWUpIHtcclxuICBHbG9iYWxWdWUudXNlKHBsdWdpbilcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgcGx1Z2luXHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/v-tooltip/dist/v-tooltip.common.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nvar Vue = require('vue');\nVue = 'default' in Vue ? Vue['default'] : Vue;\n\nvar version = '2.1.0';\n\nvar compatible = (/^2\\./).test(Vue.version);\nif (!compatible) {\n Vue.util.warn('VueClickaway ' + version + ' only supports Vue 2.x, and does not support Vue ' + Vue.version);\n}\n\n\n\n// @SECTION: implementation\n\nvar HANDLER = '_vue_clickaway_handler';\n\nfunction bind(el, binding) {\n unbind(el);\n\n var callback = binding.value;\n if (typeof callback !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n Vue.util.warn(\n 'v-' + binding.name + '=\"' +\n binding.expression + '\" expects a function value, ' +\n 'got ' + callback\n );\n }\n return;\n }\n\n // @NOTE: Vue binds directives in microtasks, while UI events are dispatched\n // in macrotasks. This causes the listener to be set up before\n // the \"origin\" click event (the event that lead to the binding of\n // the directive) arrives at the document root. To work around that,\n // we ignore events until the end of the \"initial\" macrotask.\n // @REFERENCE: https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/\n // @REFERENCE: https://github.com/simplesmiler/vue-clickaway/issues/8\n var initialMacrotaskEnded = false;\n setTimeout(function() {\n initialMacrotaskEnded = true;\n }, 0);\n\n el[HANDLER] = function(ev) {\n // @NOTE: IE 5.0+\n // @REFERENCE: https://developer.mozilla.org/en/docs/Web/API/Node/contains\n if (initialMacrotaskEnded && !el.contains(ev.target)) {\n return callback(ev);\n }\n };\n\n document.documentElement.addEventListener('click', el[HANDLER], false);\n}\n\nfunction unbind(el) {\n document.documentElement.removeEventListener('click', el[HANDLER], false);\n delete el[HANDLER];\n}\n\nvar directive = {\n bind: bind,\n update: function(el, binding) {\n if (binding.value === binding.oldValue) return;\n bind(el, binding);\n },\n unbind: unbind,\n};\n\nvar mixin = {\n directives: { onClickaway: directive },\n};\n\nexports.version = version;\nexports.directive = directive;\nexports.mixin = mixin;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-clickaway/dist/vue-clickaway.common.js\n// module id = 14\n// module chunks = 0","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueColor=t():e.VueColor=t()}(this,function(){return function(e){function t(r){if(o[r])return o[r].exports;var a=o[r]={exports:{},id:r,loaded:!1};return e[r].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var o={};return t.m=e,t.c=o,t.p=\"\",t(0)}([function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}var a=o(37),i=r(a),n=o(38),s=r(n),l=o(41),c=r(l),u=o(42),h=r(u),d=o(39),f=r(d),p=o(40),_=r(p),v=o(36),g=r(v),b=o(6),x=r(b),m=o(8),w=r(m),C=o(4),y=r(C),k=o(5),F=r(k),A=o(7),R=r(A),S=o(3),M=r(S),E={version:\"2.0.9\",Compact:i.default,Material:s.default,Slider:c.default,Swatches:h.default,Photoshop:f.default,Sketch:_.default,Chrome:g.default,Alpha:x.default,Checkboard:w.default,EditableInput:y.default,Hue:F.default,Saturation:R.default,ColorMixin:M.default};e.exports=E},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t=0&&g.splice(t,1)}function s(e){var t=document.createElement(\"style\");return t.type=\"text/css\",i(e,t),t}function l(e,t){var o,r,a;if(t.singleton){var i=v++;o=_||(_=s(t)),r=c.bind(null,o,i,!1),a=c.bind(null,o,i,!0)}else o=s(t),r=u.bind(null,o),a=function(){n(o)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else a()}}function c(e,t,o,r){var a=o?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=b(t,a);else{var i=document.createTextNode(a),n=e.childNodes;n[t]&&e.removeChild(n[t]),n.length?e.insertBefore(i,n[t]):e.appendChild(i)}}function u(e,t){var o=t.css,r=t.media,a=t.sourceMap;if(r&&e.setAttribute(\"media\",r),a&&(o+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var h={},d=function(e){var t;return function(){return\"undefined\"==typeof t&&(t=e.apply(this,arguments)),t}},f=d(function(){return/msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase())}),p=d(function(){return document.head||document.getElementsByTagName(\"head\")[0]}),_=null,v=0,g=[];e.exports=function(e,t){t=t||{},\"undefined\"==typeof t.singleton&&(t.singleton=f()),\"undefined\"==typeof t.insertAt&&(t.insertAt=\"bottom\");var o=a(e);return r(o,t),function(e){for(var i=[],n=0;n0?(0,n.default)(e.hex):(0,n.default)(e),o&&o.setAlpha(r||1);var a=o.toHsl(),i=o.toHsv();return 0===a.s&&(a.h=e.h||t||0,i.h=e.h||t||0),{hsl:a,hex:o.toHexString().toUpperCase(),rgba:o.toRgb(),hsv:i,oldHue:e.h||t||a.h,source:e.source,a:e.a||o.getAlpha()}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(35),n=r(i);t.default={props:[\"value\"],data:function(){return{val:a(this.value)}},computed:{colors:{get:function(){return this.val},set:function(e){this.val=e,this.$emit(\"input\",e)}}},watch:{value:function(e){this.val=a(e)}},methods:{colorChange:function(e,t){this.oldHue=this.colors.hsl.h,this.colors=a(e,t||this.oldHue)},isValidHex:function(e){return(0,n.default)(e).isValid()},simpleCheckForValidColor:function(e){for(var t=[\"r\",\"g\",\"b\",\"a\",\"h\",\"s\",\"a\",\"v\"],o=0,r=0,a=0;a=2?void(this.fieldsIndex=0):void this.fieldsIndex++},showHighlight:function(){this.highlight=!0},hideHighlight:function(){this.highlight=!1}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(3),i=r(a),n=o(4),s=r(n),l=[\"#4D4D4D\",\"#999999\",\"#FFFFFF\",\"#F44E3B\",\"#FE9200\",\"#FCDC00\",\"#DBDF00\",\"#A4DD00\",\"#68CCCA\",\"#73D8FF\",\"#AEA1FF\",\"#FDA1FF\",\"#333333\",\"#808080\",\"#CCCCCC\",\"#D33115\",\"#E27300\",\"#FCC400\",\"#B0BC00\",\"#68BC00\",\"#16A5A5\",\"#009CE0\",\"#7B64FF\",\"#FA28FF\",\"#000000\",\"#666666\",\"#B3B3B3\",\"#9F0500\",\"#C45100\",\"#FB9E00\",\"#808900\",\"#194D33\",\"#0C797D\",\"#0062B1\",\"#653294\",\"#AB149E\"];t.default={name:\"Compact\",mixins:[i.default],props:{},components:{\"ed-in\":s.default},computed:{pick:function(){return this.colors.hex}},data:function(){return{defaultColors:l}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})},onChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(4),i=r(a),n=o(3),s=r(n);t.default={name:\"Material\",mixins:[s.default],components:{\"ed-in\":i.default},methods:{onChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(3),i=r(a),n=o(4),s=r(n),l=o(7),c=r(l),u=o(5),h=r(u),d=o(6),f=r(d);t.default={name:\"Photoshop\",mixins:[i.default],props:{head:{type:String,default:\"Color Picker\"}},components:{saturation:c.default,hue:h.default,alpha:f.default,\"ed-in\":s.default},data:function(){return{currentColor:\"#FFF\"}},created:function(){this.currentColor=this.colors.hex},methods:{childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e[\"#\"]?this.isValidHex(e[\"#\"])&&this.colorChange({hex:e[\"#\"],source:\"hex\"}):(e.r||e.g||e.b||e.a)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))},handleAccept:function(){this.$emit(\"ok\")},handleCancel:function(){this.$emit(\"cancel\")}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(3),i=r(a),n=o(4),s=r(n),l=o(7),c=r(l),u=o(5),h=r(u),d=o(6),f=r(d),p=[\"#D0021B\",\"#F5A623\",\"#F8E71C\",\"#8B572A\",\"#7ED321\",\"#417505\",\"#BD10E0\",\"#9013FE\",\"#4A90E2\",\"#50E3C2\",\"#B8E986\",\"#000000\",\"#4A4A4A\",\"#9B9B9B\",\"#FFFFFF\"];t.default={name:\"Sketch\",mixins:[i.default],components:{saturation:c.default,hue:h.default,alpha:f.default,\"ed-in\":s.default},data:function(){return{presetColors:p}},computed:{activeColor:function(){var e=this.colors.rgba;return\"rgba(\"+[e.r,e.g,e.b,e.a].join(\",\")+\")\"}},methods:{handlePreset:function(e){this.colorChange({hex:e,source:\"hex\"})},childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b||e.a)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(3),i=r(a),n=o(5),s=r(n);t.default={name:\"Slider\",mixins:[i.default],props:{direction:String},components:{hue:s.default},computed:{activeOffset:function(){return Math.round(100*this.colors.hsl.s)/100===.5?Math.round(100*this.colors.hsl.l)/100:0}},data:function(){return{swatches:[\".80\",\".65\",\".50\",\".35\",\".20\"]}},methods:{hueChange:function(e){this.colorChange(e)},handleSwClick:function(e,t){this.colorChange({h:this.colors.hsl.h,s:.5,l:t,source:\"hsl\"})}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(34),i=r(a),n=o(3),s=r(n),l=[\"red\",\"pink\",\"purple\",\"deepPurple\",\"indigo\",\"blue\",\"lightBlue\",\"cyan\",\"teal\",\"green\",\"lightGreen\",\"lime\",\"yellow\",\"amber\",\"orange\",\"deepOrange\",\"brown\",\"blueGrey\"],c=[\"900\",\"700\",\"500\",\"300\",\"100\"],u=function(){var e=[];return l.forEach(function(t){var o=[];c.forEach(function(e){o.push(i.default[t][e].toUpperCase())}),e.push(o)}),e}();t.default={name:\"Swatches\",mixins:[s.default],computed:{pick:function(){return this.colors.hex}},data:function(){return{defaultColors:u}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(8),i=r(a);t.default={name:\"Alpha\",props:{value:Object,onChange:Function},components:{checkboard:i.default},computed:{colors:function(){return this.value},gradientColor:function(){var e=this.colors.rgba,t=[e.r,e.g,e.b].join(\",\");return\"linear-gradient(to right, rgba(\"+t+\", 0) 0%, rgba(\"+t+\", 1) 100%)\"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var o,r=this.$refs.container,a=r.clientWidth,i=r.getBoundingClientRect().left+window.pageXOffset,n=e.pageX||(e.touches?e.touches[0].pageX:0),s=n-i;o=s<0?0:s>a?1:Math.round(100*s/a)/100,this.colors.a!==o&&this.$emit(\"change\",{h:this.colors.hsl.h,s:this.colors.hsl.s,l:this.colors.hsl.l,a:o,source:\"rgba\"})},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t){\"use strict\";function o(e,t,o){if(\"undefined\"==typeof document)return null;var r=document.createElement(\"canvas\");r.width=r.height=2*o;var a=r.getContext(\"2d\");return a?(a.fillStyle=e,a.fillRect(0,0,r.width,r.height),a.fillStyle=t,a.fillRect(0,0,o,o),a.translate(o,o),a.fillRect(0,0,o,o),r.toDataURL()):null}function r(e,t,r){var i=e+\",\"+t+\",\"+r;if(a[i])return a[i];var n=o(e,t,r);return a[i]=n,n}Object.defineProperty(t,\"__esModule\",{value:!0});var a={};t.default={name:\"Checkboard\",props:{size:{type:[Number,String],default:8},white:{type:String,default:\"#fff\"},grey:{type:String,default:\"#e6e6e6\"}},computed:{bgStyle:function(){return\"url(\"+r(this.white,this.grey,this.size)+\") center left\"}}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"editableInput\",props:{label:String,value:[String,Number],max:Number,arrowOffset:{type:Number,default:1}},computed:{val:function(){return this.value}},filters:{maxFilter:{read:function(e){return this.max&&e>this.max?this.max:e},write:function(e,t){return e}}},methods:{update:function(e){this.handleChange(e.target.value)},handleChange:function(e){var t={};t[this.label]=e,this.$emit(\"change\",t)},handleBlur:function(e){console.log(e)},handleKeyDown:function(e){var t=this.val,o=Number(t);if(o){var r=this.arrowOffset||1;38===e.keyCode&&(t=o+r,this.handleChange(t),e.preventDefault()),40===e.keyCode&&(t=o-r,this.handleChange(t),e.preventDefault())}},handleDrag:function(e){console.log(e)},handleMouseDown:function(e){console.log(e)}}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"Hue\",props:{value:Object,direction:{type:String,default:\"horizontal\"}},computed:{colors:function(){return this.value},directionClass:function(){return{\"vue-color__c-hue--horizontal\":\"horizontal\"===this.direction,\"vue-color__c-hue--vertical\":\"vertical\"===this.direction}},pointerTop:function(){return\"vertical\"===this.direction?-(100*this.colors.hsl.h/360)+100+\"%\":0},pointerLeft:function(){return\"vertical\"===this.direction?0:100*this.colors.hsl.h/360+\"%\"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var o,r,a=this.$refs.container,i=a.clientWidth,n=a.clientHeight,s=a.getBoundingClientRect().left+window.pageXOffset,l=a.getBoundingClientRect().top+window.pageYOffset,c=e.pageX||(e.touches?e.touches[0].pageX:0),u=e.pageY||(e.touches?e.touches[0].pageY:0),h=c-s,d=u-l;\"vertical\"===this.direction?(d<0?o=359:d>n?o=0:(r=-(100*d/n)+100,o=360*r/100),this.colors.hsl.h!==o&&this.$emit(\"change\",{h:o,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:\"hsl\"})):(h<0?o=0:h>i?o=359:(r=100*h/i,o=360*r/100),this.colors.hsl.h!==o&&this.$emit(\"change\",{h:o,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:\"hsl\"}))},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,o){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(33),i=r(a);t.default={name:\"Saturation\",props:{value:Object},computed:{colors:function(){return this.value},bgColor:function(){return\"hsl(\"+this.colors.hsl.h+\", 100%, 50%)\"},pointerTop:function(){return-(100*this.colors.hsv.v)+100+\"%\"},pointerLeft:function(){return 100*this.colors.hsv.s+\"%\"}},methods:{throttle:(0,i.default)(function(e,t){e(t)},20,{leading:!0,trailing:!1}),handleChange:function(e,t){!t&&e.preventDefault();var o=this.$refs.container,r=o.clientWidth,a=o.clientHeight,i=o.getBoundingClientRect().left+window.pageXOffset,n=o.getBoundingClientRect().top+window.pageYOffset,s=e.pageX||(e.touches?e.touches[0].pageX:0),l=e.pageY||(e.touches?e.touches[0].pageY:0),c=s-i,u=l-n;c<0?c=0:c>r?c=r:u<0?u=0:u>a&&(u=a);var h=100*c/r,d=-(100*u/a)+100;this.throttle(this.onChange,{h:this.colors.hsl.h,s:h,v:d>0?d:.01,a:this.colors.hsl.a,source:\"hsva\"})},onChange:function(e){this.$emit(\"change\",e)},handleMouseDown:function(e){window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__compact{padding-top:5px;padding-left:5px;width:240px;border-radius:2px;box-shadow:0 2px 10px rgba(0,0,0,.12),0 2px 5px rgba(0,0,0,.16);background-color:#fff}.vue-color__compact__colors{overflow:hidden;padding:0;margin:0}.vue-color__compact__color-item{list-style:none;width:15px;height:15px;float:left;margin-right:5px;margin-bottom:5px;position:relative;cursor:pointer}.vue-color__compact__color-item--white{box-shadow:inset 0 0 0 1px #ddd}.vue-color__compact__color-item--white .vue-color__compact__dot{background:#000}.vue-color__compact__dot{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;opacity:1;background:#fff}.vue-color__compact__fields{display:flex;padding-bottom:6px;padding-right:5px;position:relative}.vue-color__compact__fields .vue-color__editable-input__input{width:70%;padding-left:30%;background:none;font-size:12px;color:#333;height:16px}.vue-color__compact__fields .vue-color__editable-input__label{position:absolute;top:3px;left:0;line-height:16px;text-transform:uppercase;font-size:12px;color:#999}.vue-color__compact__pick-color{position:absolute;top:6px;left:5px;height:9px;width:9px}.vue-color__compact__col-3{flex:1}.vue_color__compact__col-hex{flex:2}.vue_color__compact__col-hex .vue-color__editable-input__input{width:80%;padding-left:20%}.vue_color__compact__col-hex .vue-color__editable-input__label{display:none}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__editable-input{position:relative}.vue-color__editable-input__input{padding:0;border:0;outline:none}.vue-color__editable-input__label{text-transform:capitalize}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__c-hue{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px}.vue-color__c-hue--horizontal{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vue-color__c-hue--vertical{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vue-color__c-hue__container{cursor:pointer;margin:0 2px;position:relative;height:100%}.vue-color__c-hue__pointer{z-index:2;position:absolute}.vue-color__c-hue__picker{cursor:pointer;margin-top:1px;width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;transform:translateX(-2px)}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__saturation,.vue-color__saturation--black,.vue-color__saturation--white{cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0}.vue-color__saturation--white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.vue-color__saturation--black{background:linear-gradient(0deg,#000,transparent)}.vue-color__saturation--pointer{cursor:pointer;position:absolute}.vue-color__saturation--circle{cursor:head;width:4px;height:4px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;transform:translate(-2px,-2px)}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__material{width:98px;height:98px;padding:16px;font-family:Roboto;position:relative;border-radius:2px;box-shadow:0 2px 10px rgba(0,0,0,.12),0 2px 5px rgba(0,0,0,.16);background-color:#fff}.vue-color__material .vue-color__editable-input__input{width:100%;margin-top:12px;font-size:15px;color:#333;height:30px}.vue-color__material .vue-color__editable-input__label{position:absolute;top:0;left:0;font-size:11px;color:#999;text-transform:capitalize}.vue-color__material__hex{border-bottom-width:2px;border-bottom-style:solid}.vue-color__material__split{display:flex;margin-right:-10px;padding-top:11px}.vue-color__material__third{flex:1;padding-right:10px}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__slider{position:relative;width:410px}.vue-color__slider__hue-warp{height:12px;position:relative}.vue-color__slider__hue-warp .vue-color__c-hue__picker{width:14px;height:14px;border-radius:6px;transform:translate(-7px,-2px);background-color:#f8f8f8;box-shadow:0 1px 4px 0 rgba(0,0,0,.37)}.vue-color__slider__swatches{display:flex;margin-top:20px}.vue-color__slider__swatch{margin-right:1px;flex:1;width:20%}.vue-color__slider__swatch:first-child{margin-right:1px}.vue-color__slider__swatch:first-child .vue-color__slider__swatch-picker{border-radius:2px 0 0 2px}.vue-color__slider__swatch:last-child{margin-right:0}.vue-color__slider__swatch:last-child .vue-color__slider__swatch-picker{border-radius:0 2px 2px 0}.vue-color__slider__swatch-picker{cursor:pointer;height:12px}.vue-color__slider__swatch-picker--active{transform:scaleY(1.8);border-radius:3.6px/2px}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__swatches{width:320px;height:240px;overflow-y:scroll;background-color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12),0 2px 5px rgba(0,0,0,.16)}.vue-color__swatches__box{padding:16px 0 6px 16px;overflow:hidden}.vue-color__swatches__color-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}.vue-color__swatches__color-it{width:40px;height:24px;cursor:pointer;background:#880e4f;margin-bottom:1px;overflow:hidden;border-radius:2px 2px 0 0}.vue-color__swatches__pick{fill:#fff;margin-left:8px;display:block}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,'.vue-color__photoshop{background:#dcdcdc;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.15);box-sizing:initial;width:513px;font-family:Roboto}.vue-color__photoshop__head{background-image:linear-gradient(-180deg,#f0f0f0,#d4d4d4);border-bottom:1px solid #b1b1b1;box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.2),inset 0 -1px 0 0 rgba(0,0,0,.02);height:23px;line-height:24px;border-radius:4px 4px 0 0;font-size:13px;color:#4d4d4d;text-align:center}.vue-color__photoshop__body{padding:15px;display:flex}.vue-color__photoshop__saturation-wrap{width:256px;height:256px;position:relative;border:2px solid #b3b3b3;border-bottom:2px solid #f0f0f0;overflow:hidden}.vue-color__photoshop__saturation-wrap .vue-color__saturation--circle{width:12px;height:12px}.vue-color__photoshop__hue-wrap{position:relative;height:256px;width:19px;margin-left:10px;border:2px solid #b3b3b3;border-bottom:2px solid #f0f0f0}.vue-color__photoshop__hue-pointer{position:relative}.vue-color__photoshop__hue-pointer--left,.vue-color__photoshop__hue-pointer--right{position:absolute;width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #555}.vue-color__photoshop__hue-pointer--left:after,.vue-color__photoshop__hue-pointer--right:after{content:\"\";width:0;height:0;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent #fff;position:absolute;top:1px;left:1px;transform:translate(-8px,-5px)}.vue-color__photoshop__hue-pointer--left{transform:translate(-13px,-4px)}.vue-color__photoshop__hue-pointer--right{transform:translate(20px,-4px) rotate(180deg)}.vue-color__photoshop__controls{width:180px;margin-left:10px;display:flex}.vue-color__photoshop__actions{margin-left:20px;flex:1}.vue-color__photoshop__ac-btn{cursor:pointer;background-image:linear-gradient(-180deg,#fff,#e6e6e6);border:1px solid #878787;border-radius:2px;height:20px;box-shadow:0 1px 0 0 #eaeaea;font-size:14px;color:#000;line-height:20px;text-align:center;margin-bottom:10px}.vue-color__photoshop__previews{width:60px}.vue-color__photoshop__previews__swatches{border:1px solid #b3b3b3;border-bottom:1px solid #f0f0f0;margin-bottom:2px;margin-top:1px}.vue-color__photoshop__previews__pr-color{height:34px;box-shadow:inset 1px 0 0 #000,inset -1px 0 0 #000,inset 0 1px 0 #000}.vue-color__photoshop__previews__label{font-size:14px;color:#000;text-align:center}.vue-color__photoshop__fields{padding-top:5px;padding-bottom:9px;width:80px;position:relative}.vue-color__photoshop__fields .vue-color__editable-input__input{margin-left:40%;width:40%;height:18px;border:1px solid #888;box-shadow:inset 0 1px 1px rgba(0,0,0,.1),0 1px 0 0 #ececec;margin-bottom:5px;font-size:13px;padding-left:3px;margin-right:10px}.vue-color__photoshop__fields .vue-color__editable-input__label{top:0;left:0;width:34px;text-transform:uppercase;font-size:13px;height:18px;line-height:22px;position:absolute}.vue-color__photoshop__fields__divider{height:5px}.vue-color__photoshop__fields__hex .vue-color__editable-input__input{margin-left:20%;width:80%;height:18px;border:1px solid #888;box-shadow:inset 0 1px 1px rgba(0,0,0,.1),0 1px 0 0 #ececec;margin-bottom:6px;font-size:13px;padding-left:3px}.vue-color__photoshop__fields__hex .vue-color__editable-input__label{position:absolute;top:0;left:0;width:14px;text-transform:uppercase;font-size:13px;height:18px;line-height:22px}',\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__sketch{position:relative;width:200px;padding:10px 10px 0;box-sizing:initial;background:#fff;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15)}.vue-color__sketch__saturation-wrap{width:100%;padding-bottom:75%;position:relative;overflow:hidden}.vue-color__sketch__controls{display:flex}.vue-color__sketch__sliders{padding:4px 0;flex:1}.vue-color__sketch__sliders .vue-color__c-alpha__gradient,.vue-color__sketch__sliders .vue-color__c-hue{border-radius:2px}.vue-color__sketch__hue-wrap{position:relative;height:10px}.vue-color__sketch__alpha-wrap{position:relative;height:10px;margin-top:4px;overflow:hidden}.vue-color__sketch__color-wrap{width:24px;height:24px;position:relative;margin-top:4px;margin-left:4px;border-radius:3px}.vue-color__sketch__active-color{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);z-index:2}.vue-color__sketch__field{display:flex;padding-top:4px}.vue-color__sketch__field .vue-color__editable-input__input{width:80%;padding:4px 10% 3px;border:none;box-shadow:inset 0 0 0 1px #ccc;font-size:11px}.vue-color__sketch__field .vue-color__editable-input__label{display:block;text-align:center;font-size:11px;color:#222;padding-top:3px;padding-bottom:4px;text-transform:capitalize}.vue-color__sketch__field--single{flex:1;padding-left:6px}.vue-color__sketch__field--double{flex:2}.vue-color__sketch__presets{margin-right:-10px;margin-left:-10px;padding-left:10px;padding-top:10px;border-top:1px solid #eee}.vue-color__sketch__presets-color{border-radius:3px;overflow:hidden;position:relative;display:inline-block;margin:0 10px 10px 0;vertical-align:top;cursor:pointer;width:16px;height:16px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__chrome{background:#fff;border-radius:2px;box-shadow:0 0 2px rgba(0,0,0,.3),0 4px 8px rgba(0,0,0,.3);box-sizing:initial;width:225px;font-family:Menlo;background-color:#fff}.vue-color__chrome__controls{display:flex}.vue-color__chrome__color-wrap{width:32px}.vue-color__chrome__active-color{margin-top:6px;width:16px;height:16px;border-radius:8px;position:relative;overflow:hidden}.vue-color__chrome__sliders{flex:1}.vue-color__chrome__sliders .vue-color__c-alpha__gradient,.vue-color__chrome__sliders .vue-color__c-hue{border-radius:2px}.vue-color__chrome__sliders .vue-color__c-alpha__picker,.vue-color__chrome__sliders .vue-color__c-hue__picker{width:12px;height:12px;border-radius:6px;transform:translate(-6px,-2px);background-color:#f8f8f8;box-shadow:0 1px 4px 0 rgba(0,0,0,.37)}.vue-color__chrome__fields-wrap{padding-top:16px;display:flex}.vue-color__chrome__fields{display:flex;margin-left:-6px;flex:1}.vue-color__chrome__field{padding-left:6px;width:100%}.vue-color__chrome__toggle-btn{width:32px;text-align:right;position:relative}.vue-color__chrome__icon{margin-right:-4px;margin-top:12px;cursor:pointer;position:relative;z-index:2}.vue-color__chrome__icon-highlight{position:absolute;width:24px;height:28px;background:#eee;border-radius:4px;top:10px;left:12px}.vue-color__chrome__hue-wrap{margin-bottom:8px}.vue-color__chrome__alpha-wrap,.vue-color__chrome__hue-wrap{position:relative;height:10px}.vue-color__chrome__chrome-body{padding:16px 16px 12px;background-color:#fff}.vue-color__chrome__saturation-wrap{width:100%;padding-bottom:55%;position:relative;border-radius:2px 2px 0 0;overflow:hidden}.vue-color__chrome__saturation-wrap .vue-color__saturation--circle{width:12px;height:12px}.vue-color__chrome__fields .vue-color__editable-input__input{font-size:11px;color:#333;width:100%;border-rradius:2px;border:none;box-shadow:inset 0 0 0 1px #dadada;height:21px;text-align:center}.vue-color__chrome__fields .vue-color__editable-input__label{text-transform:uppercase;font-size:11px;line-height:11px;color:#969696;text-align:center;display:block;margin-top:12px}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__c-alpha,.vue-color__c-alpha__checkboard-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.vue-color__c-alpha__checkboard-wrap{overflow:hidden}.vue-color__c-alpha__gradient{position:absolute;top:0;right:0;bottom:0;left:0}.vue-color__c-alpha__container{cursor:pointer;position:relative;z-index:2;height:100%;margin:0 3px}.vue-color__c-alpha__pointer{z-index:2;position:absolute}.vue-color__c-alpha__picker{cursor:pointer;width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;margin-top:1px;transform:translateX(-2px)}\",\"\"])},function(e,t,o){t=e.exports=o(1)(),t.push([e.id,\".vue-color__c-checkerboard{position:absolute;top:0;right:0;bottom:0;left:0}\",\"\"])},function(e,t){(function(t){function o(e,t,o){function r(t){var o=_,r=v;return _=v=void 0,k=t,b=e.apply(r,o)}function i(e){return k=e,x=setTimeout(u,t),F?r(e):b}function n(e){var o=e-m,r=e-k,a=t-o;return A?C(a,g-r):a}function c(e){var o=e-m,r=e-k;return void 0===m||o>=t||o<0||A&&r>=g}function u(){var e=y();return c(e)?h(e):void(x=setTimeout(u,n(e)))}function h(e){return x=void 0,R&&_?r(e):(_=v=void 0,b)}function d(){void 0!==x&&clearTimeout(x),k=0,_=m=v=x=void 0}function f(){return void 0===x?b:h(y())}function p(){var e=y(),o=c(e);if(_=arguments,v=this,m=e,o){if(void 0===x)return i(m);if(A)return x=setTimeout(u,t),r(m)}return void 0===x&&(x=setTimeout(u,t)),\nb}var _,v,g,b,x,m,k=0,F=!1,A=!1,R=!0;if(\"function\"!=typeof e)throw new TypeError(l);return t=s(t)||0,a(o)&&(F=!!o.leading,A=\"maxWait\"in o,g=A?w(s(o.maxWait)||0,t):g,R=\"trailing\"in o?!!o.trailing:R),p.cancel=d,p.flush=f,p}function r(e,t,r){var i=!0,n=!0;if(\"function\"!=typeof e)throw new TypeError(l);return a(r)&&(i=\"leading\"in r?!!r.leading:i,n=\"trailing\"in r?!!r.trailing:n),o(e,t,{leading:i,maxWait:t,trailing:n})}function a(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function i(e){return!!e&&\"object\"==typeof e}function n(e){return\"symbol\"==typeof e||i(e)&&m.call(e)==u}function s(e){if(\"number\"==typeof e)return e;if(n(e))return c;if(a(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=a(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(h,\"\");var o=f.test(e);return o||p.test(e)?_(e.slice(2),o?2:8):d.test(e)?c:+e}var l=\"Expected a function\",c=NaN,u=\"[object Symbol]\",h=/^\\s+|\\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,p=/^0o[0-7]+$/i,_=parseInt,v=\"object\"==typeof t&&t&&t.Object===Object&&t,g=\"object\"==typeof self&&self&&self.Object===Object&&self,b=v||g||Function(\"return this\")(),x=Object.prototype,m=x.toString,w=Math.max,C=Math.min,y=function(){return b.Date.now()};e.exports=r}).call(t,function(){return this}())},function(e,t,o){var r,a,i;!function(o,n){a=[],r=n,i=\"function\"==typeof r?r.apply(t,a):r,!(void 0!==i&&(e.exports=i))}(this,function(){return{red:{50:\"#ffebee\",100:\"#ffcdd2\",200:\"#ef9a9a\",300:\"#e57373\",400:\"#ef5350\",500:\"#f44336\",600:\"#e53935\",700:\"#d32f2f\",800:\"#c62828\",900:\"#b71c1c\",a100:\"#ff8a80\",a200:\"#ff5252\",a400:\"#ff1744\",a700:\"#d50000\"},pink:{50:\"#fce4ec\",100:\"#f8bbd0\",200:\"#f48fb1\",300:\"#f06292\",400:\"#ec407a\",500:\"#e91e63\",600:\"#d81b60\",700:\"#c2185b\",800:\"#ad1457\",900:\"#880e4f\",a100:\"#ff80ab\",a200:\"#ff4081\",a400:\"#f50057\",a700:\"#c51162\"},purple:{50:\"#f3e5f5\",100:\"#e1bee7\",200:\"#ce93d8\",300:\"#ba68c8\",400:\"#ab47bc\",500:\"#9c27b0\",600:\"#8e24aa\",700:\"#7b1fa2\",800:\"#6a1b9a\",900:\"#4a148c\",a100:\"#ea80fc\",a200:\"#e040fb\",a400:\"#d500f9\",a700:\"#aa00ff\"},deepPurple:{50:\"#ede7f6\",100:\"#d1c4e9\",200:\"#b39ddb\",300:\"#9575cd\",400:\"#7e57c2\",500:\"#673ab7\",600:\"#5e35b1\",700:\"#512da8\",800:\"#4527a0\",900:\"#311b92\",a100:\"#b388ff\",a200:\"#7c4dff\",a400:\"#651fff\",a700:\"#6200ea\"},indigo:{50:\"#e8eaf6\",100:\"#c5cae9\",200:\"#9fa8da\",300:\"#7986cb\",400:\"#5c6bc0\",500:\"#3f51b5\",600:\"#3949ab\",700:\"#303f9f\",800:\"#283593\",900:\"#1a237e\",a100:\"#8c9eff\",a200:\"#536dfe\",a400:\"#3d5afe\",a700:\"#304ffe\"},blue:{50:\"#e3f2fd\",100:\"#bbdefb\",200:\"#90caf9\",300:\"#64b5f6\",400:\"#42a5f5\",500:\"#2196f3\",600:\"#1e88e5\",700:\"#1976d2\",800:\"#1565c0\",900:\"#0d47a1\",a100:\"#82b1ff\",a200:\"#448aff\",a400:\"#2979ff\",a700:\"#2962ff\"},lightBlue:{50:\"#e1f5fe\",100:\"#b3e5fc\",200:\"#81d4fa\",300:\"#4fc3f7\",400:\"#29b6f6\",500:\"#03a9f4\",600:\"#039be5\",700:\"#0288d1\",800:\"#0277bd\",900:\"#01579b\",a100:\"#80d8ff\",a200:\"#40c4ff\",a400:\"#00b0ff\",a700:\"#0091ea\"},cyan:{50:\"#e0f7fa\",100:\"#b2ebf2\",200:\"#80deea\",300:\"#4dd0e1\",400:\"#26c6da\",500:\"#00bcd4\",600:\"#00acc1\",700:\"#0097a7\",800:\"#00838f\",900:\"#006064\",a100:\"#84ffff\",a200:\"#18ffff\",a400:\"#00e5ff\",a700:\"#00b8d4\"},teal:{50:\"#e0f2f1\",100:\"#b2dfdb\",200:\"#80cbc4\",300:\"#4db6ac\",400:\"#26a69a\",500:\"#009688\",600:\"#00897b\",700:\"#00796b\",800:\"#00695c\",900:\"#004d40\",a100:\"#a7ffeb\",a200:\"#64ffda\",a400:\"#1de9b6\",a700:\"#00bfa5\"},green:{50:\"#e8f5e9\",100:\"#c8e6c9\",200:\"#a5d6a7\",300:\"#81c784\",400:\"#66bb6a\",500:\"#4caf50\",600:\"#43a047\",700:\"#388e3c\",800:\"#2e7d32\",900:\"#1b5e20\",a100:\"#b9f6ca\",a200:\"#69f0ae\",a400:\"#00e676\",a700:\"#00c853\"},lightGreen:{50:\"#f1f8e9\",100:\"#dcedc8\",200:\"#c5e1a5\",300:\"#aed581\",400:\"#9ccc65\",500:\"#8bc34a\",600:\"#7cb342\",700:\"#689f38\",800:\"#558b2f\",900:\"#33691e\",a100:\"#ccff90\",a200:\"#b2ff59\",a400:\"#76ff03\",a700:\"#64dd17\"},lime:{50:\"#f9fbe7\",100:\"#f0f4c3\",200:\"#e6ee9c\",300:\"#dce775\",400:\"#d4e157\",500:\"#cddc39\",600:\"#c0ca33\",700:\"#afb42b\",800:\"#9e9d24\",900:\"#827717\",a100:\"#f4ff81\",a200:\"#eeff41\",a400:\"#c6ff00\",a700:\"#aeea00\"},yellow:{50:\"#fffde7\",100:\"#fff9c4\",200:\"#fff59d\",300:\"#fff176\",400:\"#ffee58\",500:\"#ffeb3b\",600:\"#fdd835\",700:\"#fbc02d\",800:\"#f9a825\",900:\"#f57f17\",a100:\"#ffff8d\",a200:\"#ffff00\",a400:\"#ffea00\",a700:\"#ffd600\"},amber:{50:\"#fff8e1\",100:\"#ffecb3\",200:\"#ffe082\",300:\"#ffd54f\",400:\"#ffca28\",500:\"#ffc107\",600:\"#ffb300\",700:\"#ffa000\",800:\"#ff8f00\",900:\"#ff6f00\",a100:\"#ffe57f\",a200:\"#ffd740\",a400:\"#ffc400\",a700:\"#ffab00\"},orange:{50:\"#fff3e0\",100:\"#ffe0b2\",200:\"#ffcc80\",300:\"#ffb74d\",400:\"#ffa726\",500:\"#ff9800\",600:\"#fb8c00\",700:\"#f57c00\",800:\"#ef6c00\",900:\"#e65100\",a100:\"#ffd180\",a200:\"#ffab40\",a400:\"#ff9100\",a700:\"#ff6d00\"},deepOrange:{50:\"#fbe9e7\",100:\"#ffccbc\",200:\"#ffab91\",300:\"#ff8a65\",400:\"#ff7043\",500:\"#ff5722\",600:\"#f4511e\",700:\"#e64a19\",800:\"#d84315\",900:\"#bf360c\",a100:\"#ff9e80\",a200:\"#ff6e40\",a400:\"#ff3d00\",a700:\"#dd2c00\"},brown:{50:\"#efebe9\",100:\"#d7ccc8\",200:\"#bcaaa4\",300:\"#a1887f\",400:\"#8d6e63\",500:\"#795548\",600:\"#6d4c41\",700:\"#5d4037\",800:\"#4e342e\",900:\"#3e2723\"},grey:{50:\"#fafafa\",100:\"#f5f5f5\",200:\"#eeeeee\",300:\"#e0e0e0\",400:\"#bdbdbd\",500:\"#9e9e9e\",600:\"#757575\",700:\"#616161\",800:\"#424242\",900:\"#212121\"},blueGrey:{50:\"#eceff1\",100:\"#cfd8dc\",200:\"#b0bec5\",300:\"#90a4ae\",400:\"#78909c\",500:\"#607d8b\",600:\"#546e7a\",700:\"#455a64\",800:\"#37474f\",900:\"#263238\"},darkText:{primary:\"rgba(0, 0, 0, 0.87)\",secondary:\"rgba(0, 0, 0, 0.54)\",disabled:\"rgba(0, 0, 0, 0.38)\",dividers:\"rgba(0, 0, 0, 0.12)\"},lightText:{primary:\"rgba(255, 255, 255, 1)\",secondary:\"rgba(255, 255, 255, 0.7)\",disabled:\"rgba(255, 255, 255, 0.5)\",dividers:\"rgba(255, 255, 255, 0.12)\"},darkIcons:{active:\"rgba(0, 0, 0, 0.54)\",inactive:\"rgba(0, 0, 0, 0.38)\"},lightIcons:{active:\"rgba(255, 255, 255, 1)\",inactive:\"rgba(255, 255, 255, 0.5)\"},white:\"#ffffff\",black:\"#000000\"}})},function(e,t,o){var r;!function(a){function i(e,t){if(e=e?e:\"\",t=t||{},e instanceof i)return e;if(!(this instanceof i))return new i(e,t);var o=n(e);this._originalInput=e,this._r=o.r,this._g=o.g,this._b=o.b,this._a=o.a,this._roundA=X(100*this._a)/100,this._format=t.format||o.format,this._gradientType=t.gradientType,this._r<1&&(this._r=X(this._r)),this._g<1&&(this._g=X(this._g)),this._b<1&&(this._b=X(this._b)),this._ok=o.ok,this._tc_id=V++}function n(e){var t={r:0,g:0,b:0},o=1,r=null,a=null,i=null,n=!1,l=!1;return\"string\"==typeof e&&(e=P(e)),\"object\"==typeof e&&(N(e.r)&&N(e.g)&&N(e.b)?(t=s(e.r,e.g,e.b),n=!0,l=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):N(e.h)&&N(e.s)&&N(e.v)?(r=B(e.s),a=B(e.v),t=h(e.h,r,a),n=!0,l=\"hsv\"):N(e.h)&&N(e.s)&&N(e.l)&&(r=B(e.s),i=B(e.l),t=c(e.h,r,i),n=!0,l=\"hsl\"),e.hasOwnProperty(\"a\")&&(o=e.a)),o=M(o),{ok:n,format:e.format||l,r:q(255,Y(t.r,0)),g:q(255,Y(t.g,0)),b:q(255,Y(t.b,0)),a:o}}function s(e,t,o){return{r:255*E(e,255),g:255*E(t,255),b:255*E(o,255)}}function l(e,t,o){e=E(e,255),t=E(t,255),o=E(o,255);var r,a,i=Y(e,t,o),n=q(e,t,o),s=(i+n)/2;if(i==n)r=a=0;else{var l=i-n;switch(a=s>.5?l/(2-i-n):l/(i+n),i){case e:r=(t-o)/l+(t1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e}var a,i,n;if(e=E(e,360),t=E(t,100),o=E(o,100),0===t)a=i=n=o;else{var s=o<.5?o*(1+t):o+t-o*t,l=2*o-s;a=r(l,s,e+1/3),i=r(l,s,e),n=r(l,s,e-1/3)}return{r:255*a,g:255*i,b:255*n}}function u(e,t,o){e=E(e,255),t=E(t,255),o=E(o,255);var r,a,i=Y(e,t,o),n=q(e,t,o),s=i,l=i-n;if(a=0===i?0:l/i,i==n)r=0;else{switch(i){case e:r=(t-o)/l+(t>1)+720)%360;--t;)r.h=(r.h+a)%360,n.push(i(r));return n}function R(e,t){t=t||6;for(var o=i(e).toHsv(),r=o.h,a=o.s,n=o.v,s=[],l=1/t;t--;)s.push(i({h:r,s:a,v:n})),n=(n+l)%1;return s}function S(e){var t={};for(var o in e)e.hasOwnProperty(o)&&(t[e[o]]=o);return t}function M(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function E(e,t){H(e)&&(e=\"100%\");var o=O(e);return e=q(t,Y(0,parseFloat(e))),o&&(e=parseInt(e*t,10)/100),a.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function j(e){return q(1,Y(0,e))}function L(e){return parseInt(e,16)}function H(e){return\"string\"==typeof e&&e.indexOf(\".\")!=-1&&1===parseFloat(e)}function O(e){return\"string\"==typeof e&&e.indexOf(\"%\")!=-1}function z(e){return 1==e.length?\"0\"+e:\"\"+e}function B(e){return e<=1&&(e=100*e+\"%\"),e}function D(e){return a.round(255*parseFloat(e)).toString(16)}function $(e){return L(e)/255}function N(e){return!!Z.CSS_UNIT.exec(e)}function P(e){e=e.replace(T,\"\").replace(U,\"\").toLowerCase();var t=!1;if(G[e])e=G[e],t=!0;else if(\"transparent\"==e)return{r:0,g:0,b:0,a:0,format:\"name\"};var o;return(o=Z.rgb.exec(e))?{r:o[1],g:o[2],b:o[3]}:(o=Z.rgba.exec(e))?{r:o[1],g:o[2],b:o[3],a:o[4]}:(o=Z.hsl.exec(e))?{h:o[1],s:o[2],l:o[3]}:(o=Z.hsla.exec(e))?{h:o[1],s:o[2],l:o[3],a:o[4]}:(o=Z.hsv.exec(e))?{h:o[1],s:o[2],v:o[3]}:(o=Z.hsva.exec(e))?{h:o[1],s:o[2],v:o[3],a:o[4]}:(o=Z.hex8.exec(e))?{r:L(o[1]),g:L(o[2]),b:L(o[3]),a:$(o[4]),format:t?\"name\":\"hex8\"}:(o=Z.hex6.exec(e))?{r:L(o[1]),g:L(o[2]),b:L(o[3]),format:t?\"name\":\"hex\"}:(o=Z.hex4.exec(e))?{r:L(o[1]+\"\"+o[1]),g:L(o[2]+\"\"+o[2]),b:L(o[3]+\"\"+o[3]),a:$(o[4]+\"\"+o[4]),format:t?\"name\":\"hex8\"}:!!(o=Z.hex3.exec(e))&&{r:L(o[1]+\"\"+o[1]),g:L(o[2]+\"\"+o[2]),b:L(o[3]+\"\"+o[3]),format:t?\"name\":\"hex\"}}function I(e){var t,o;return e=e||{level:\"AA\",size:\"small\"},t=(e.level||\"AA\").toUpperCase(),o=(e.size||\"small\").toLowerCase(),\"AA\"!==t&&\"AAA\"!==t&&(t=\"AA\"),\"small\"!==o&&\"large\"!==o&&(o=\"small\"),{level:t,size:o}}var T=/^\\s+/,U=/\\s+$/,V=0,X=a.round,q=a.min,Y=a.max,W=a.random;i.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,o,r,i,n,s=this.toRgb();return e=s.r/255,t=s.g/255,o=s.b/255,r=e<=.03928?e/12.92:a.pow((e+.055)/1.055,2.4),i=t<=.03928?t/12.92:a.pow((t+.055)/1.055,2.4),n=o<=.03928?o/12.92:a.pow((o+.055)/1.055,2.4),.2126*r+.7152*i+.0722*n},setAlpha:function(e){return this._a=M(e),this._roundA=X(100*this._a)/100,this},toHsv:function(){var e=u(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=u(this._r,this._g,this._b),t=X(360*e.h),o=X(100*e.s),r=X(100*e.v);return 1==this._a?\"hsv(\"+t+\", \"+o+\"%, \"+r+\"%)\":\"hsva(\"+t+\", \"+o+\"%, \"+r+\"%, \"+this._roundA+\")\"},toHsl:function(){var e=l(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=l(this._r,this._g,this._b),t=X(360*e.h),o=X(100*e.s),r=X(100*e.l);return 1==this._a?\"hsl(\"+t+\", \"+o+\"%, \"+r+\"%)\":\"hsla(\"+t+\", \"+o+\"%, \"+r+\"%, \"+this._roundA+\")\"},toHex:function(e){return d(this._r,this._g,this._b,e)},toHexString:function(e){return\"#\"+this.toHex(e)},toHex8:function(e){return f(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return\"#\"+this.toHex8(e)},toRgb:function(){return{r:X(this._r),g:X(this._g),b:X(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+X(this._r)+\", \"+X(this._g)+\", \"+X(this._b)+\")\":\"rgba(\"+X(this._r)+\", \"+X(this._g)+\", \"+X(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:X(100*E(this._r,255))+\"%\",g:X(100*E(this._g,255))+\"%\",b:X(100*E(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+X(100*E(this._r,255))+\"%, \"+X(100*E(this._g,255))+\"%, \"+X(100*E(this._b,255))+\"%)\":\"rgba(\"+X(100*E(this._r,255))+\"%, \"+X(100*E(this._g,255))+\"%, \"+X(100*E(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(K[d(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t=\"#\"+p(this._r,this._g,this._b,this._a),o=t,r=this._gradientType?\"GradientType = 1, \":\"\";if(e){var a=i(e);o=\"#\"+p(a._r,a._g,a._b,a._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+r+\"startColorstr=\"+t+\",endColorstr=\"+o+\")\"},toString:function(e){var t=!!e;e=e||this._format;var o=!1,r=this._a<1&&this._a>=0,a=!t&&r&&(\"hex\"===e||\"hex6\"===e||\"hex3\"===e||\"hex4\"===e||\"hex8\"===e||\"name\"===e);return a?\"name\"===e&&0===this._a?this.toName():this.toRgbString():(\"rgb\"===e&&(o=this.toRgbString()),\"prgb\"===e&&(o=this.toPercentageRgbString()),\"hex\"!==e&&\"hex6\"!==e||(o=this.toHexString()),\"hex3\"===e&&(o=this.toHexString(!0)),\"hex4\"===e&&(o=this.toHex8String(!0)),\"hex8\"===e&&(o=this.toHex8String()),\"name\"===e&&(o=this.toName()),\"hsl\"===e&&(o=this.toHslString()),\"hsv\"===e&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return i(this.toString())},_applyModification:function(e,t){var o=e.apply(null,[this].concat([].slice.call(t)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(x,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(_,arguments)},saturate:function(){return this._applyModification(v,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(w,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(C,arguments)},monochromatic:function(){return this._applyCombination(R,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(y,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},i.fromRatio=function(e,t){if(\"object\"==typeof e){var o={};for(var r in e)e.hasOwnProperty(r)&&(\"a\"===r?o[r]=e[r]:o[r]=B(e[r]));e=o}return i(e,t)},i.equals=function(e,t){return!(!e||!t)&&i(e).toRgbString()==i(t).toRgbString()},i.random=function(){return i.fromRatio({r:W(),g:W(),b:W()})},i.mix=function(e,t,o){o=0===o?0:o||50;var r=i(e).toRgb(),a=i(t).toRgb(),n=o/100,s={r:(a.r-r.r)*n+r.r,g:(a.g-r.g)*n+r.g,b:(a.b-r.b)*n+r.b,a:(a.a-r.a)*n+r.a};return i(s)},i.readability=function(e,t){var o=i(e),r=i(t);return(a.max(o.getLuminance(),r.getLuminance())+.05)/(a.min(o.getLuminance(),r.getLuminance())+.05)},i.isReadable=function(e,t,o){var r,a,n=i.readability(e,t);switch(a=!1,r=I(o),r.level+r.size){case\"AAsmall\":case\"AAAlarge\":a=n>=4.5;break;case\"AAlarge\":a=n>=3;break;case\"AAAsmall\":a=n>=7}return a},i.mostReadable=function(e,t,o){var r,a,n,s,l=null,c=0;o=o||{},a=o.includeFallbackColors,n=o.level,s=o.size;for(var u=0;uc&&(c=r,l=i(t[u]));return i.isReadable(e,l,{level:n,size:s})||!a?l:(o.includeFallbackColors=!1,i.mostReadable(e,[\"#fff\",\"#000\"],o))};var G=i.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},K=i.hexNames=S(G),Z=function(){var e=\"[-\\\\+]?\\\\d+%?\",t=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",o=\"(?:\"+t+\")|(?:\"+e+\")\",r=\"[\\\\s|\\\\(]+(\"+o+\")[,|\\\\s]+(\"+o+\")[,|\\\\s]+(\"+o+\")\\\\s*\\\\)?\",a=\"[\\\\s|\\\\(]+(\"+o+\")[,|\\\\s]+(\"+o+\")[,|\\\\s]+(\"+o+\")[,|\\\\s]+(\"+o+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(o),rgb:new RegExp(\"rgb\"+r),rgba:new RegExp(\"rgba\"+a),hsl:new RegExp(\"hsl\"+r),hsla:new RegExp(\"hsla\"+a),hsv:new RegExp(\"hsv\"+r),hsva:new RegExp(\"hsva\"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();\"undefined\"!=typeof e&&e.exports?e.exports=i:(r=function(){return i}.call(t,o,t,e),!(void 0!==r&&(e.exports=r)))}(Math)},function(e,t,o){var r,a;o(64),r=o(9);var i=o(52);a=r=r||{},\"object\"!=typeof r.default&&\"function\"!=typeof r.default||(a=r=r.default),\"function\"==typeof a&&(a=a.options),a.render=i.render,a.staticRenderFns=i.staticRenderFns,e.exports=r},function(e,t,o){var r,a;o(55),r=o(10);var i=o(43);a=r=r||{},\"object\"!=typeof r.default&&\"function\"!=typeof r.default||(a=r=r.default),\"function\"==typeof a&&(a=a.options),a.render=i.render,a.staticRenderFns=i.staticRenderFns,e.exports=r},function(e,t,o){var r,a;o(59),r=o(11);var i=o(47);a=r=r||{},\"object\"!=typeof r.default&&\"function\"!=typeof r.default||(a=r=r.default),\"function\"==typeof a&&(a=a.options),a.render=i.render,a.staticRenderFns=i.staticRenderFns,e.exports=r},function(e,t,o){var r,a;o(62),r=o(12);var i=o(50);a=r=r||{},\"object\"!=typeof r.default&&\"function\"!=typeof r.default||(a=r=r.default),\"function\"==typeof a&&(a=a.options),a.render=i.render,a.staticRenderFns=i.staticRenderFns,e.exports=r},function(e,t,o){var r,a;o(63),r=o(13);var i=o(51);a=r=r||{},\"object\"!=typeof r.default&&\"function\"!=typeof r.default||(a=r=r.default),\"function\"==typeof a&&(a=a.options),a.render=i.render,a.staticRenderFns=i.staticRenderFns,e.exports=r},function(e,t,o){var r,a;o(60),r=o(14);var i=o(48);a=r=r||{},\"object\"!=typeof r.default&&\"function\"!=typeof r.default||(a=r=r.default),\"function\"==typeof a&&(a=a.options),a.render=i.render,a.staticRenderFns=i.staticRenderFns,e.exports=r},function(e,t,o){var r,a;o(61),r=o(15);var i=o(49);a=r=r||{},\"object\"!=typeof r.default&&\"function\"!=typeof r.default||(a=r=r.default),\"function\"==typeof a&&(a=a.options),a.render=i.render,a.staticRenderFns=i.staticRenderFns,e.exports=r},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__compact\"},[o(\"ul\",{staticClass:\"vue-color__compact__colors\"},e._l(e.defaultColors,function(t){return o(\"li\",{staticClass:\"vue-color__compact__color-item\",class:{\"vue-color__compact__color-item--white\":\"#FFFFFF\"===t},style:{background:t},on:{click:function(o){e.handlerClick(t)}}},[o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t===e.pick,expression:\"c === pick\"}],staticClass:\"vue-color__compact__dot\"})])}))])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__editable-input\"},[o(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.val,expression:\"val\"}],staticClass:\"vue-color__editable-input__input\",domProps:{value:e.val},on:{keydown:e.handleKeyDown,input:[function(t){t.target.composing||(e.val=t.target.value)},e.update]}}),e._v(\" \"),o(\"span\",{staticClass:\"vue-color__editable-input__label\"},[e._v(e._s(e.label))])])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{class:[\"vue-color__c-hue\",e.directionClass]},[o(\"div\",{ref:\"container\",staticClass:\"vue-color__c-hue__container\",on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[o(\"div\",{staticClass:\"vue-color__c-hue__pointer\",style:{top:e.pointerTop,left:e.pointerLeft}},[o(\"div\",{staticClass:\"vue-color__c-hue__picker\"})])])])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{ref:\"container\",staticClass:\"vue-color__saturation\",style:{background:e.bgColor},on:{mousedown:e.handleMouseDown}},[o(\"div\",{staticClass:\"vue-color__saturation--white\"}),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__saturation--black\"}),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__saturation--pointer\",style:{top:e.pointerTop,left:e.pointerLeft}},[o(\"div\",{staticClass:\"vue-color__saturation--circle\"})])])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__material\"},[o(\"ed-in\",{staticClass:\"vue-color__material__hex\",style:{borderColor:e.colors.hex},attrs:{label:\"hex\"},on:{change:e.onChange},model:{value:e.colors.hex,callback:function(t){e.colors.hex=t},expression:\"colors.hex\"}}),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__material__split\"},[o(\"div\",{staticClass:\"vue-color__material__third\"},[o(\"ed-in\",{attrs:{label:\"r\"},on:{change:e.onChange},model:{value:e.colors.rgba.r,callback:function(t){e.colors.rgba.r=t},expression:\"colors.rgba.r\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__material__third\"},[o(\"ed-in\",{attrs:{label:\"g\"},on:{change:e.onChange},model:{value:e.colors.rgba.g,callback:function(t){e.colors.rgba.g=t},expression:\"colors.rgba.g\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__material__third\"},[o(\"ed-in\",{attrs:{label:\"b\"},on:{change:e.onChange},model:{value:e.colors.rgba.b,callback:function(t){e.colors.rgba.b=t},expression:\"colors.rgba.b\"}})],1)])],1)},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__slider\"},[o(\"div\",{staticClass:\"vue-color__slider__hue-warp\"},[o(\"hue\",{on:{change:e.hueChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__slider__swatches\"},e._l(e.swatches,function(t,r){return o(\"div\",{staticClass:\"vue-color__slider__swatch\",attrs:{\"data-index\":r},on:{click:function(o){e.handleSwClick(r,t)}}},[o(\"div\",{staticClass:\"vue-color__slider__swatch-picker\",class:{\"vue-color__slider__swatch-picker--active\":t==e.activeOffset},style:{background:\"hsl(\"+e.colors.hsl.h+\", 50%, \"+100*t+\"%)\"}})])}))])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__swatches\",attrs:{\"data-pick\":e.pick}},[o(\"div\",{staticClass:\"vue-color__swatches__box\"},e._l(e.defaultColors,function(t){return o(\"div\",{staticClass:\"vue-color__swatches__color-group\"},e._l(t,function(t){return o(\"div\",{staticClass:\"vue-color__swatches__color-it\",style:{background:t},attrs:{\"data-color\":t},on:{click:function(o){e.handlerClick(t)}}},[o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t==e.pick,expression:\"c == pick\"}],staticClass:\"vue-color__swatches__pick\"},[o(\"svg\",{staticStyle:{width:\"24px\",height:\"24px\"},attrs:{viewBox:\"0 0 24 24\"}},[o(\"path\",{attrs:{d:\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"}})])])])}))}))])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__photoshop\"},[o(\"div\",{staticClass:\"vue-color__photoshop__head\"},[e._v(e._s(e.head))]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__body\"},[o(\"div\",{staticClass:\"vue-color__photoshop__saturation-wrap\"},[o(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__hue-wrap\"},[o(\"hue\",{attrs:{direction:\"vertical\"},on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}},[o(\"div\",{staticClass:\"vue-color__photoshop__hue-pointer\"},[o(\"i\",{staticClass:\"vue-color__photoshop__hue-pointer--left\"}),o(\"i\",{staticClass:\"vue-color__photoshop__hue-pointer--right\"})])])],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__controls\"},[o(\"div\",{staticClass:\"vue-color__photoshop__previews\"},[o(\"div\",{staticClass:\"vue-color__photoshop__previews__label\"},[e._v(\"new\")]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__previews__swatches\"},[o(\"div\",{staticClass:\"vue-color__photoshop__previews__pr-color\",style:{background:e.colors.hex}}),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__previews__pr-color\",style:{background:e.currentColor}})]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__previews__label\"},[e._v(\"current\")])]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__actions\"},[o(\"div\",{staticClass:\"vue-color__photoshop__ac-btn\",on:{click:e.handleAccept}},[e._v(\"OK\")]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__ac-btn\",on:{click:e.handleCancel}},[e._v(\"Cancel\")]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__fields\"},[o(\"ed-in\",{attrs:{label:\"h\"},on:{change:e.inputChange},model:{value:e.colors.hsl.h,callback:function(t){e.colors.hsl.h=t},expression:\"colors.hsl.h\"}}),e._v(\" \"),o(\"ed-in\",{attrs:{label:\"s\"},on:{change:e.inputChange},model:{value:e.colors.hsl.s,callback:function(t){e.colors.hsl.s=t},expression:\"colors.hsl.s\"}}),e._v(\" \"),o(\"ed-in\",{attrs:{label:\"v\"},on:{change:e.inputChange},model:{value:e.colors.hsl.l,callback:function(t){e.colors.hsl.l=t},expression:\"colors.hsl.l\"}}),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__fields__divider\"}),e._v(\" \"),o(\"ed-in\",{attrs:{label:\"r\"},on:{change:e.inputChange},model:{value:e.colors.rgba.r,callback:function(t){e.colors.rgba.r=t},expression:\"colors.rgba.r\"}}),e._v(\" \"),o(\"ed-in\",{attrs:{label:\"g\"},on:{change:e.inputChange},model:{value:e.colors.rgba.g,callback:function(t){e.colors.rgba.g=t},expression:\"colors.rgba.g\"}}),e._v(\" \"),o(\"ed-in\",{attrs:{label:\"b\"},on:{change:e.inputChange},model:{value:e.colors.rgba.b,callback:function(t){e.colors.rgba.b=t},expression:\"colors.rgba.b\"}}),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__photoshop__fields__divider\"}),e._v(\" \"),o(\"ed-in\",{staticClass:\"vue-color__photoshop__fields__hex\",attrs:{label:\"#\"},on:{change:e.inputChange},model:{value:e.colors.hex,callback:function(t){e.colors.hex=t},expression:\"colors.hex\"}})],1)])])])])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__sketch\"},[o(\"div\",{staticClass:\"vue-color__sketch__saturation-wrap\"},[o(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__controls\"},[o(\"div\",{staticClass:\"vue-color__sketch__sliders\"},[o(\"div\",{staticClass:\"vue-color__sketch__hue-wrap\"},[o(\"hue\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__alpha-wrap\"},[o(\"alpha\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1)]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__color-wrap\"},[o(\"div\",{staticClass:\"vue-color__sketch__active-color\",style:{background:e.activeColor}})])]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__field\"},[o(\"div\",{staticClass:\"vue-color__sketch__field--double\"},[o(\"ed-in\",{attrs:{label:\"hex\"},on:{change:e.inputChange},model:{value:e.colors.hex,callback:function(t){e.colors.hex=t},expression:\"colors.hex\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__field--single\"},[o(\"ed-in\",{attrs:{label:\"r\"},on:{change:e.inputChange},model:{value:e.colors.rgba.r,callback:function(t){e.colors.rgba.r=t},expression:\"colors.rgba.r\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__field--single\"},[o(\"ed-in\",{attrs:{label:\"g\"},on:{change:e.inputChange},model:{value:e.colors.rgba.g,callback:function(t){e.colors.rgba.g=t},expression:\"colors.rgba.g\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__field--single\"},[o(\"ed-in\",{attrs:{label:\"b\"},on:{change:e.inputChange},model:{value:e.colors.rgba.b,callback:function(t){e.colors.rgba.b=t},expression:\"colors.rgba.b\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__sketch__field--single\"},[o(\"ed-in\",{attrs:{label:\"a\",\"arrow-offset\":.01,max:1},on:{change:e.inputChange},model:{value:e.colors.a,callback:function(t){e.colors.a=t},expression:\"colors.a\"}})],1)]),e._v(\" \"),o(\"div\",{\nstaticClass:\"vue-color__sketch__presets\"},e._l(e.presetColors,function(t){return o(\"div\",{staticClass:\"vue-color__sketch__presets-color\",style:{background:t},on:{click:function(o){e.handlePreset(t)}}})}))])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__chrome\"},[o(\"div\",{staticClass:\"vue-color__chrome__saturation-wrap\"},[o(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__chrome-body\"},[o(\"div\",{staticClass:\"vue-color__chrome__controls\"},[o(\"div\",{staticClass:\"vue-color__chrome__color-wrap\"},[o(\"div\",{staticClass:\"vue-color__chrome__active-color\",style:{background:e.activeColor}})]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__sliders\"},[o(\"div\",{staticClass:\"vue-color__chrome__hue-wrap\"},[o(\"hue\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__alpha-wrap\"},[o(\"alpha\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1)])]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__fields-wrap\"},[o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:0===e.fieldsIndex,expression:\"fieldsIndex === 0\"}],staticClass:\"vue-color__chrome__fields\"},[o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"hex\"},on:{change:e.inputChange},model:{value:e.colors.hex,callback:function(t){e.colors.hex=t},expression:\"colors.hex\"}})],1)]),e._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:1===e.fieldsIndex,expression:\"fieldsIndex === 1\"}],staticClass:\"vue-color__chrome__fields\"},[o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"r\"},on:{change:e.inputChange},model:{value:e.colors.rgba.r,callback:function(t){e.colors.rgba.r=t},expression:\"colors.rgba.r\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"g\"},on:{change:e.inputChange},model:{value:e.colors.rgba.g,callback:function(t){e.colors.rgba.g=t},expression:\"colors.rgba.g\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"b\"},on:{change:e.inputChange},model:{value:e.colors.rgba.b,callback:function(t){e.colors.rgba.b=t},expression:\"colors.rgba.b\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"a\",\"arrow-offset\":.01,max:1},on:{change:e.inputChange},model:{value:e.colors.a,callback:function(t){e.colors.a=t},expression:\"colors.a\"}})],1)]),e._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:2===e.fieldsIndex,expression:\"fieldsIndex === 2\"}],staticClass:\"vue-color__chrome__fields\"},[o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"h\"},on:{change:e.inputChange},model:{value:e.colors.hsl.h,callback:function(t){e.colors.hsl.h=t},expression:\"colors.hsl.h\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"s\"},on:{change:e.inputChange},model:{value:e.colors.hsl.s,callback:function(t){e.colors.hsl.s=t},expression:\"colors.hsl.s\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"l\"},on:{change:e.inputChange},model:{value:e.colors.hsl.l,callback:function(t){e.colors.hsl.l=t},expression:\"colors.hsl.l\"}})],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__field\"},[o(\"ed-in\",{attrs:{label:\"a\",\"arrow-offset\":.01,max:1},on:{change:e.inputChange},model:{value:e.colors.a,callback:function(t){e.colors.a=t},expression:\"colors.a\"}})],1)]),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__chrome__toggle-btn\",on:{click:e.toggleViews}},[o(\"div\",{staticClass:\"vue-color__chrome__icon\"},[o(\"svg\",{staticStyle:{width:\"24px\",height:\"24px\"},attrs:{viewBox:\"0 0 24 24\"},on:{mouseover:e.showHighlight,mouseenter:e.showHighlight,mouseout:e.hideHighlight}},[o(\"path\",{attrs:{fill:\"#333\",d:\"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"}})])]),e._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.highlight,expression:\"highlight\"}],staticClass:\"vue-color__chrome__icon-highlight\"})])])])])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__c-alpha\"},[o(\"div\",{staticClass:\"vue-color__c-alpha__checkboard-wrap\"},[o(\"checkboard\")],1),e._v(\" \"),o(\"div\",{staticClass:\"vue-color__c-alpha__gradient\",style:{background:e.gradientColor}}),e._v(\" \"),o(\"div\",{ref:\"container\",staticClass:\"vue-color__c-alpha__container\",on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[o(\"div\",{staticClass:\"vue-color__c-alpha__pointer\",style:{left:100*e.colors.a+\"%\"}},[o(\"div\",{staticClass:\"vue-color__c-alpha__picker\"})])])])},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o(\"div\",{staticClass:\"vue-color__c-checkerboard\",style:{background:e.bgStyle}})},staticRenderFns:[]}},function(e,t,o){var r=o(21);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(22);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(23);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(24);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(25);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(26);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(27);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(28);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(29);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(30);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(31);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)},function(e,t,o){var r=o(32);\"string\"==typeof r&&(r=[[e.id,r,\"\"]]);o(2)(r,{});r.locals&&(e.exports=r.locals)}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-color/dist/vue-color.min.js\n// module id = 15\n// module chunks = 0","\n/* styles */\nrequire(\"!!vue-style-loader!css-loader?minimize!../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-1073f3cf\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./FAB.vue\")\nrequire(\"!!vue-style-loader!css-loader?minimize!../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-1073f3cf\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=1!./FAB.vue\")\n\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./FAB.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1073f3cf\\\"}!../node_modules/vue-loader/lib/selector?type=template&index=0!./FAB.vue\"),\n /* scopeId */\n \"data-v-1073f3cf\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/FAB.vue\n// module id = 16\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n directives: [{\n name: \"on-clickaway\",\n rawName: \"v-on-clickaway\",\n value: (_vm.away),\n expression: \"away\"\n }],\n staticClass: \"fab-wrapper\",\n style: ([_vm.pos, {\n zIndex: _vm.zIndex\n }, {\n position: _vm.positionType\n }]),\n attrs: {\n \"id\": _vm.position + '-wrapper'\n }\n }, [_c('div', {\n staticClass: \"actions-container\",\n style: (_vm.listPos),\n attrs: {\n \"id\": _vm.position + '-action'\n }\n }, [_c('transition', {\n attrs: {\n \"name\": \"fab-actions-appear\",\n \"enter-active-class\": _vm.transitionEnter,\n \"leave-active-class\": _vm.transitionLeave\n }\n }, [_c('ul', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.toggle),\n expression: \"toggle\"\n }],\n staticClass: \"fab-list\"\n }, [_vm._l((_vm.actions), function(action) {\n return [_c('transition', {\n attrs: {\n \"enter-active-class\": \"animated quick zoomIn\",\n \"leave-active-class\": \"animated quick zoomOut\"\n }\n }, [(action.tooltip) ? [(_vm.toggle) ? _c('li', {\n directives: [{\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value: ({\n content: action.tooltip,\n placement: _vm.tooltipPosition,\n classes: 'fab-tooltip',\n trigger: _vm.tooltipTrigger\n }),\n expression: \"{ content: action.tooltip, placement: tooltipPosition, classes: 'fab-tooltip', trigger: tooltipTrigger}\"\n }],\n ref: \"actions\",\n refInFor: true,\n staticClass: \"pointer\",\n style: ({\n 'background-color': action.color || _vm.bgColor\n }),\n on: {\n \"click\": function($event) {\n _vm.toParent(action.name)\n }\n }\n }, [_c('i', {\n class: [_vm.actionIconSize, 'material-icons']\n }, [_vm._v(_vm._s(action.icon))])]) : _vm._e()] : [(_vm.toggle) ? _c('li', {\n staticClass: \"pointer\",\n style: ({\n 'background-color': action.color || _vm.bgColor\n }),\n on: {\n \"click\": function($event) {\n _vm.toParent(action.name)\n }\n }\n }, [_c('i', {\n class: [_vm.actionIconSize, 'material-icons']\n }, [_vm._v(_vm._s(action.icon))])]) : _vm._e()]], 2)]\n })], 2)])], 1), _vm._v(\" \"), (_vm.rippleShow) ? [(_vm.mainTooltip) ? [_c('div', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple\",\n value: (_vm.rippleColor == 'light' ? 'rgba(255, 255, 255, 0.35)' : ''),\n expression: \"rippleColor == 'light' ? 'rgba(255, 255, 255, 0.35)' : ''\"\n }, {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value: ({\n content: _vm.mainTooltip,\n placement: _vm.tooltipPosition,\n classes: 'fab-tooltip'\n }),\n expression: \"{ content: mainTooltip, placement: tooltipPosition, classes: 'fab-tooltip' }\"\n }],\n staticClass: \"fab pointer\",\n style: ({\n 'background-color': _vm.bgColor,\n 'padding': _vm.paddingAmount\n }),\n on: {\n \"click\": function($event) {\n _vm.toggle = !_vm.toggle\n }\n }\n }, [_c('i', {\n class: [_vm.mainIconSize, {\n rotate: _vm.toggle\n }, 'material-icons main']\n }, [_vm._v(_vm._s(_vm.mainIcon))]), _vm._v(\" \"), _c('i', {\n class: [_vm.mainIconSize, {\n rotate: _vm.toggle\n }, 'material-icons close']\n }, [_vm._v(\"add\")])])] : [_c('div', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple\",\n value: (_vm.rippleColor == 'light' ? 'rgba(255, 255, 255, 0.35)' : ''),\n expression: \"rippleColor == 'light' ? 'rgba(255, 255, 255, 0.35)' : ''\"\n }],\n staticClass: \"fab pointer\",\n style: ({\n 'background-color': _vm.bgColor,\n 'padding': _vm.paddingAmount\n }),\n on: {\n \"click\": function($event) {\n _vm.toggle = !_vm.toggle\n }\n }\n }, [_c('i', {\n class: [_vm.mainIconSize, {\n rotate: _vm.toggle\n }, 'material-icons main']\n }, [_vm._v(_vm._s(_vm.mainIcon))]), _vm._v(\" \"), _c('i', {\n class: [_vm.mainIconSize, {\n rotate: _vm.toggle\n }, 'material-icons close']\n }, [_vm._v(\"add\")])])]] : [(_vm.mainTooltip) ? [_c('div', {\n staticClass: \"fab pointer\",\n style: ({\n 'background-color': _vm.bgColor,\n 'padding': _vm.paddingAmount\n }),\n attrs: {\n \"v-tooltip\": {\n content: _vm.mainTooltip,\n placement: _vm.tooltipPosition,\n classes: 'fab-tooltip'\n }\n }\n }, [_c('i', {\n staticClass: \"material-icons md-36 main\",\n class: {\n rotate: _vm.toggle\n }\n }, [_vm._v(_vm._s(_vm.mainIcon))]), _vm._v(\" \"), _c('i', {\n staticClass: \"material-icons md-36 close\",\n class: {\n rotate: _vm.toggle\n }\n }, [_vm._v(\"add\")])])] : [_c('div', {\n staticClass: \"fab pointer\",\n style: ({\n 'background-color': _vm.bgColor,\n 'padding': _vm.paddingAmount\n })\n }, [_c('i', {\n staticClass: \"material-icons md-36 main\",\n class: {\n rotate: _vm.toggle\n }\n }, [_vm._v(_vm._s(_vm.mainIcon))]), _vm._v(\" \"), _c('i', {\n staticClass: \"material-icons md-36 close\",\n class: {\n rotate: _vm.toggle\n }\n }, [_vm._v(\"add\")])])]]], 2)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-1073f3cf\"}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/FAB.vue\n// module id = 17\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n attrs: {\n \"id\": \"app\"\n }\n }, [_c('link', {\n attrs: {\n \"rel\": \"stylesheet\",\n \"href\": \"https://cdnjs.cloudflare.com/ajax/libs/bulma/0.4.1/css/bulma.min.css\"\n }\n }), _vm._v(\" \"), _c('link', {\n attrs: {\n \"href\": \"https://fonts.googleapis.com/icon?family=Material+Icons\",\n \"rel\": \"stylesheet\"\n }\n }), _vm._v(\" \"), _c('a', {\n attrs: {\n \"href\": _vm.repoUrl\n }\n }, [_c('img', {\n staticStyle: {\n \"position\": \"absolute\",\n \"top\": \"0\",\n \"right\": \"0\",\n \"border\": \"0\"\n },\n attrs: {\n \"src\": \"https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67\",\n \"alt\": \"Fork me on GitHub\",\n \"data-canonical-src\": \"https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png\"\n }\n })]), _vm._v(\" \"), _vm._m(0), _vm._v(\" \"), _c('section', {\n staticClass: \"section\",\n staticStyle: {\n \"padding-top\": \".5rem\"\n }\n }, [_c('div', {\n staticClass: \"container\"\n }, [_c('div', {\n staticClass: \"columns\"\n }, [_c('div', {\n staticClass: \"column is-8 is-offset-2\"\n }, [_c('div', {\n staticClass: \"box formated\"\n }, [_vm._m(1), _vm._v(\" \"), _c('div', {\n staticClass: \"content\"\n }, [_c('div', {\n staticClass: \"columns\"\n }, [_c('div', {\n staticClass: \"column is-4\",\n staticStyle: {\n \"display\": \"flex\",\n \"justify-content\": \"center\"\n }\n }, [_c('div', {\n staticClass: \"field is-pulled-left\"\n }, [_c('label', {\n staticClass: \"label\"\n }, [_vm._v(\"Color\")]), _vm._v(\" \"), _c('p', {\n staticClass: \"control\"\n }, [_c('chrome-picker', {\n model: {\n value: (_vm.colors),\n callback: function($$v) {\n _vm.colors = $$v\n },\n expression: \"colors\"\n }\n })], 1)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"column\"\n }, [_c('div', {\n staticClass: \"field is-horizontal\"\n }, [_c('div', {\n staticClass: \"field-body\"\n }, [_c('div', {\n staticClass: \"field has-text-left\"\n }, [_c('label', {\n staticClass: \"label\"\n }, [_vm._v(\"Position\")]), _vm._v(\" \"), _c('p', {\n staticClass: \"control is-expanded\"\n }, [_c('span', {\n staticClass: \"select is-fullwidth\"\n }, [_c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.position),\n expression: \"position\"\n }],\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.position = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.positions), function(pos) {\n return _c('option', [_vm._v(_vm._s(pos))])\n }))])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"field has-text-left\"\n }, [_c('label', {\n staticClass: \"label\"\n }, [_vm._v(\"Position Type\")]), _vm._v(\" \"), _c('p', {\n staticClass: \"control is-expandend\"\n }, [_c('span', {\n staticClass: \"select is-fullwidth\"\n }, [_c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.positionType),\n expression: \"positionType\"\n }],\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.positionType = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.positionTypes), function(type) {\n return _c('option', [_vm._v(_vm._s(type))])\n }))])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"field has-text-left\"\n }, [_c('label', {\n staticClass: \"label\"\n }, [_vm._v(\"Size\")]), _vm._v(\" \"), _c('p', {\n staticClass: \"control is-expandend\"\n }, [_c('span', {\n staticClass: \"select is-fullwidth\"\n }, [_c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.iconSizes),\n expression: \"iconSizes\"\n }],\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.iconSizes = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.sizes), function(size) {\n return _c('option', [_vm._v(_vm._s(size))])\n }))])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"field has-text-left\"\n }, [_c('label', {\n staticClass: \"label\"\n }, [_vm._v(\"Tooltip event\")]), _vm._v(\" \"), _c('p', {\n staticClass: \"control is-expandend\"\n }, [_c('span', {\n staticClass: \"select is-fullwidth\"\n }, [_c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.tooltipEvent),\n expression: \"tooltipEvent\"\n }],\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.tooltipEvent = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.tooltipEvents), function(type) {\n return _c('option', [_vm._v(_vm._s(type))])\n }))])])])])]), _vm._v(\" \"), _c('label', {\n staticClass: \"label\",\n staticStyle: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"padding-right\": \"1rem\"\n }\n }, [_vm._v(\"\\n Main Icon & Tooltip\\n \")]), _vm._v(\" \"), _c('div', {\n staticClass: \"field is-horizontal\"\n }, [_c('div', {\n staticClass: \"field-body\"\n }, [_c('div', {\n staticClass: \"field\"\n }, [_c('p', {\n staticClass: \"control\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.mainIcon),\n expression: \"mainIcon\"\n }],\n staticClass: \"input\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.mainIcon)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.mainIcon = $event.target.value\n }\n }\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"field\"\n }, [_c('p', {\n staticClass: \"control\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.mainTooltip),\n expression: \"mainTooltip\"\n }],\n staticClass: \"input\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.mainTooltip)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.mainTooltip = $event.target.value\n }\n }\n })])])])]), _vm._v(\" \"), _c('label', {\n staticClass: \"label\",\n staticStyle: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"padding-right\": \"1rem\"\n }\n }, [_vm._v(\"\\n First Icon & Tooltip\\n \")]), _vm._v(\" \"), _c('div', {\n staticClass: \"field is-horizontal\"\n }, [_c('div', {\n staticClass: \"field-body\"\n }, [_c('div', {\n staticClass: \"field\"\n }, [_c('p', {\n staticClass: \"control\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.firstIcon),\n expression: \"firstIcon\"\n }],\n staticClass: \"input\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.firstIcon)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.firstIcon = $event.target.value\n }\n }\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"field\"\n }, [_c('p', {\n staticClass: \"control\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.firstTooltip),\n expression: \"firstTooltip\"\n }],\n staticClass: \"input\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.firstTooltip)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.firstTooltip = $event.target.value\n }\n }\n })])])])]), _vm._v(\" \"), _c('label', {\n staticClass: \"label\",\n staticStyle: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"padding-right\": \"1rem\"\n }\n }, [_vm._v(\"\\n Second Icon & Tooltip\\n \")]), _vm._v(\" \"), _c('div', {\n staticClass: \"field is-horizontal\"\n }, [_c('div', {\n staticClass: \"field-body\"\n }, [_c('div', {\n staticClass: \"field\"\n }, [_c('p', {\n staticClass: \"control\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.secondIcon),\n expression: \"secondIcon\"\n }],\n staticClass: \"input\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.secondIcon)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.secondIcon = $event.target.value\n }\n }\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"field\"\n }, [_c('p', {\n staticClass: \"control\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.secondTooltip),\n expression: \"secondTooltip\"\n }],\n staticClass: \"input\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": (_vm.secondTooltip)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.secondTooltip = $event.target.value\n }\n }\n })])])])])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"columns\"\n }, [_c('div', {\n staticClass: \"column has-text-centered\"\n }, [_c('a', {\n attrs: {\n \"href\": _vm.repoUrl\n }\n }, [_vm._v(\"Installation & Code usage\")])])])])])])])])]), _vm._v(\" \"), _c('footer', {\n staticClass: \"footer\"\n }, [_c('div', {\n staticClass: \"container\"\n }, [_c('div', {\n staticClass: \"content has-text-centered\"\n }, [_c('p', [_c('strong', [_vm._v(\"Floating Action Button Vue Component\")]), _vm._v(\" by \"), _c('a', {\n attrs: {\n \"href\": _vm.teamUrl\n }\n }, [_vm._v(\"Pygmy Team\")]), _vm._v(\".\\n \")]), _vm._v(\" \"), _vm._m(2)])])]), _vm._v(\" \"), _c('fab', {\n attrs: {\n \"position\": _vm.position,\n \"icon-size\": _vm.iconSizes,\n \"position-type\": _vm.positionType,\n \"bg-color\": _vm.colors.hex,\n \"main-icon\": _vm.mainIcon,\n \"main-tooltip\": _vm.mainTooltip,\n \"actions\": [{\n name: 'alertMe',\n icon: _vm.firstIcon,\n tooltip: _vm.firstTooltip,\n color: '#d11014'\n }, {\n name: 'alertMe',\n icon: _vm.secondIcon,\n tooltip: _vm.secondTooltip\n }],\n \"fixed-tooltip\": _vm.fixedTooltip\n },\n on: {\n \"alertMe\": _vm.alert\n }\n })], 1)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('section', {\n staticClass: \"hero\"\n }, [_c('div', {\n staticClass: \"hero-body\",\n staticStyle: {\n \"padding\": \"1rem 0\"\n }\n }, [_c('div', {\n staticClass: \"container\"\n }, [_c('div', {\n staticClass: \"columns\"\n }, [_c('div', {\n staticClass: \"column is-8 is-offset-3\",\n staticStyle: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n }, [_c('div', {\n staticClass: \"is-pulled-left\"\n }, [_c('img', {\n attrs: {\n \"width\": \"350px\",\n \"src\": require(\"./assets/logo.png\")\n }\n })]), _vm._v(\" \"), _c('div', {\n staticClass: \"is-pulled-left\",\n staticStyle: {\n \"text-align\": \"left\"\n }\n }, [_c('h1', {\n staticClass: \"title text-medium-grey\",\n staticStyle: {\n \"margin-bottom\": \".5rem\"\n }\n }, [_vm._v(\"\\n Floating Action Button\\n \")]), _vm._v(\" \"), _c('hr', {\n staticClass: \"is-marginless\"\n }), _vm._v(\" \"), _c('h2', {\n staticClass: \"subtitle text-light-grey\",\n staticStyle: {\n \"margin-top\": \".5rem\"\n }\n }, [_vm._v(\"\\n A Vue Component\\n \"), _c('span', {\n staticClass: \"is-pulled-right\"\n }, [_c('a', {\n staticClass: \"github-button\",\n attrs: {\n \"href\": \"https://github.com/PygmySlowLoris/vue-fab\",\n \"data-icon\": \"octicon-star\",\n \"data-size\": \"large\",\n \"aria-label\": \"Star PygmySlowLoris/vue-fab on GitHub\"\n }\n }, [_vm._v(\"Star\")])])])])])])])])])\n},function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"heading\"\n }, [_c('div', {\n staticClass: \"columns\"\n }, [_c('div', {\n staticClass: \"column\"\n }, [_c('i', {\n staticClass: \"material-icons top-left\"\n }, [_vm._v(\"code\")]), _vm._v(\" \"), _c('span', {\n staticClass: \"is-pulled-right\"\n }, [_c('b', [_vm._v(\"Example\")])])])])])\n},function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('p', [_c('small', [_vm._v(\"Used dependencies for this demo: \"), _c('a', {\n attrs: {\n \"href\": \"http://bulma.io\"\n }\n }, [_vm._v(\"bulma\")]), _vm._v(\" | \"), _c('a', {\n attrs: {\n \"href\": \"https://github.com/xiaokaike/vue-color\"\n }\n }, [_vm._v(\"vue-color\")])])])\n}]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-d877a75c\"}!./~/vue-loader/lib/selector.js?type=template&index=0!./demo/App.vue\n// module id = 18\n// module chunks = 0","export default {\n bind: function(el, binding){\n\n // Default values.\n const props = {\n event: 'click',\n transition: 600\n };\n\n setProps(Object.keys(binding.modifiers),props);\n\n el.addEventListener(props.event, function(event) {\n rippler(event, el, binding.value);\n });\n\n var bg = binding.value || 'rgba(0, 0, 0, 0.35)';\n\n function rippler(event, el) {\n var target = el;\n\n // Get necessary variables\n var rect = target.getBoundingClientRect(),\n left = rect.left,\n top = rect.top,\n width = target.offsetWidth,\n height = target.offsetHeight,\n dx = event.clientX - left,\n dy = event.clientY - top,\n maxX = Math.max(dx, width - dx),\n maxY = Math.max(dy, height - dy),\n style = window.getComputedStyle(target),\n radius = Math.sqrt((maxX * maxX) + (maxY * maxY));\n\n // Create the ripple and its container\n var ripple = document.createElement(\"div\"),\n rippleContainer = document.createElement(\"div\");\n\n //Styles for ripple\n ripple.style.marginTop= '0px';\n ripple.style.marginLeft= '0px';\n ripple.style.width= '1px';\n ripple.style.height= '1px';\n ripple.style.transition= 'all ' + props.transition + 'ms cubic-bezier(0.4, 0, 0.2, 1)';\n ripple.style.borderRadius= '50%';\n ripple.style.pointerEvents= 'none';\n ripple.style.position= 'relative';\n ripple.style.zIndex= '9999';\n ripple.style.backgroundColor = bg;\n\n //Styles for rippleContainer\n rippleContainer.style.position= 'absolute';\n rippleContainer.style.left = '0';\n rippleContainer.style.top = '0';\n rippleContainer.style.height = '0';\n rippleContainer.style.width = '0';\n rippleContainer.style.pointerEvents = 'none';\n rippleContainer.style.overflow = 'hidden';\n\n rippleContainer.appendChild(ripple);\n document.body.appendChild(rippleContainer);\n\n ripple.style.marginLeft = dx + \"px\";\n ripple.style.marginTop = dy + \"px\";\n\n rippleContainer.style.left = left + (((window.pageXOffset || document.scrollLeft) - (document.clientLeft || 0)) || 0) + \"px\";\n rippleContainer.style.top = top + (((window.pageYOffset || document.scrollTop) - (document.clientTop || 0)) || 0) + \"px\";\n rippleContainer.style.width = width + \"px\";\n rippleContainer.style.height = height + \"px\";\n rippleContainer.style.borderTopLeftRadius = style.borderTopLeftRadius;\n rippleContainer.style.borderTopRightRadius = style.borderTopRightRadius;\n rippleContainer.style.borderBottomLeftRadius = style.borderBottomLeftRadius;\n rippleContainer.style.borderBottomRightRadius = style.borderBottomRightRadius;\n\n setTimeout(function() {\n\n ripple.style.width = radius * 2 + \"px\";\n ripple.style.height = radius * 2 + \"px\";\n ripple.style.marginLeft = dx - radius + \"px\";\n ripple.style.marginTop = dy - radius + \"px\";\n }, 0);\n\n setTimeout(function() {\n ripple.style.backgroundColor = \"rgba(0, 0, 0, 0)\";\n }, 250);\n\n setTimeout(function() {\n ripple.remove();\n rippleContainer.remove();\n }, 650);\n }\n }\n}\n\nfunction setProps(modifiers,props) {\n modifiers.forEach(function(item) {\n if(isNaN(Number(item)))\n props.event = item;\n else\n props.transition = item;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-ripple-directive/src/ripple.js\n// module id = 19\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./FAB.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./FAB.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FAB.vue?vue&type=template&id=3f198167&scoped=true&\"\nimport script from \"./FAB.vue?vue&type=script&lang=js&\"\nexport * from \"./FAB.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FAB.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./FAB.vue?vue&type=style&index=1&id=3f198167&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f198167\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5158d3f2&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=5158d3f2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5158d3f2\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport App from './App.vue'\n\nnew Vue({\n el: '#app',\n render: h => h(App)\n})\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/lib/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./FAB.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/lib/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./FAB.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/logo.f582b9bd.png\";"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-vendors.9ee2700a.js b/dist/js/chunk-vendors.9ee2700a.js new file mode 100644 index 0000000..683b3c7 --- /dev/null +++ b/dist/js/chunk-vendors.9ee2700a.js @@ -0,0 +1,8 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"01f9":function(e,t,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),c=n("41a0"),l=n("7f20"),u=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",h="keys",v="values",g=function(){return this};e.exports=function(e,t,n,m,b,y,_){c(n,t,m);var x,w,C,k=function(e){if(!d&&e in S)return S[e];switch(e){case h:return function(){return new n(this,e)};case v:return function(){return new n(this,e)}}return function(){return new n(this,e)}},O=t+" Iterator",A=b==v,E=!1,S=e.prototype,j=S[f]||S[p]||b&&S[b],F=j||k(b),$=b?A?k("entries"):F:void 0,L="Array"==t&&S.entries||j;if(L&&(C=u(L.call(new e)),C!==Object.prototype&&C.next&&(l(C,O,!0),r||"function"==typeof C[f]||a(C,f,g))),A&&j&&j.name!==v&&(E=!0,F=function(){return j.call(this)}),r&&!_||!d&&!E&&S[f]||a(S,f,F),s[t]=F,s[O]=g,b)if(x={values:A?F:k(v),keys:y?F:k(h),entries:$},_)for(w in x)w in S||o(S,w,x[w]);else i(i.P+i.F*(d||E),t,x);return x}},"0bfb":function(e,t,n){"use strict";var r=n("cb7c");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},"0d58":function(e,t,n){var r=n("ce10"),i=n("e11e");e.exports=Object.keys||function(e){return r(e,i)}},1495:function(e,t,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");e.exports=n("9e1e")?Object.defineProperties:function(e,t){i(e);var n,a=o(t),s=a.length,c=0;while(s>c)r.f(e,n=a[c++],t[n]);return e}},1991:function(e,t,n){var r,i,o,a=n("9b43"),s=n("31f4"),c=n("fab2"),l=n("230e"),u=n("7726"),f=u.process,d=u.setImmediate,p=u.clearImmediate,h=u.MessageChannel,v=u.Dispatch,g=0,m={},b="onreadystatechange",y=function(){var e=+this;if(m.hasOwnProperty(e)){var t=m[e];delete m[e],t()}},_=function(e){y.call(e.data)};d&&p||(d=function(e){var t=[],n=1;while(arguments.length>n)t.push(arguments[n++]);return m[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete m[e]},"process"==n("2d95")(f)?r=function(e){f.nextTick(a(y,e,1))}:v&&v.now?r=function(e){v.now(a(y,e,1))}:h?(i=new h,o=i.port2,i.port1.onmessage=_,r=a(o.postMessage,o,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(e){u.postMessage(e+"","*")},u.addEventListener("message",_,!1)):r=b in l("script")?function(e){c.appendChild(l("script"))[b]=function(){c.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:d,clear:p}},"1fa8":function(e,t,n){var r=n("cb7c");e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e["return"];throw void 0!==o&&r(o.call(e)),t}}},"230e":function(e,t,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},"23c6":function(e,t,n){var r=n("2d95"),i=n("2b4c")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),i))?n:o?r(t):"Object"==(s=r(t))&&"function"==typeof t.callee?"Arguments":s}},"27ee":function(e,t,n){var r=n("23c6"),i=n("2b4c")("iterator"),o=n("84f2");e.exports=n("8378").getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},2877:function(e,t,n){"use strict";function r(e,t,n,r,i,o,a,s){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),a?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,c):[c]}return{exports:e,options:l}}n.d(t,"a",function(){return r})},"2aba":function(e,t,n){var r=n("7726"),i=n("32e9"),o=n("69a8"),a=n("ca5a")("src"),s="toString",c=Function[s],l=(""+c).split(s);n("8378").inspectSource=function(e){return c.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(o(n,"name")||i(n,"name",t)),e[t]!==n&&(c&&(o(n,a)||i(n,a,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,s,function(){return"function"==typeof this&&this[a]||c.call(this)})},"2aeb":function(e,t,n){var r=n("cb7c"),i=n("1495"),o=n("e11e"),a=n("613b")("IE_PROTO"),s=function(){},c="prototype",l=function(){var e,t=n("230e")("iframe"),r=o.length,i="<",a=">";t.style.display="none",n("fab2").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(i+"script"+a+"document.F=Object"+i+"/script"+a),e.close(),l=e.F;while(r--)delete l[c][o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[c]=r(e),n=new s,s[c]=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},"2b0e":function(e,t,n){"use strict";n.r(t),function(e){ +/*! + * Vue.js v2.5.16 + * (c) 2014-2018 Evan You + * Released under the MIT License. + */ +var n=Object.freeze({});function r(e){return void 0===e||null===e}function i(e){return void 0!==e&&null!==e}function o(e){return!0===e}function a(e){return!1===e}function s(e){return"string"===typeof e||"number"===typeof e||"symbol"===typeof e||"boolean"===typeof e}function c(e){return null!==e&&"object"===typeof e}var l=Object.prototype.toString;function u(e){return"[object Object]"===l.call(e)}function f(e){return"[object RegExp]"===l.call(e)}function d(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function p(e){return null==e?"":"object"===typeof e?JSON.stringify(e,null,2):String(e)}function h(e){var t=parseFloat(e);return isNaN(t)?e:t}function v(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function y(e,t){return b.call(e,t)}function _(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}var x=/-(\w)/g,w=_(function(e){return e.replace(x,function(e,t){return t?t.toUpperCase():""})}),C=_(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),k=/\B([A-Z])/g,O=_(function(e){return e.replace(k,"-$1").toLowerCase()});function A(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function E(e,t){return e.bind(t)}var S=Function.prototype.bind?E:A;function j(e,t){t=t||0;var n=e.length-t,r=new Array(n);while(n--)r[n]=e[n+t];return r}function F(e,t){for(var n in t)e[n]=t[n];return e}function $(e){for(var t={},n=0;n0,ee=J&&J.indexOf("edge/")>0,te=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===K),ne=(J&&/chrome\/\d+/.test(J),{}.watch),re=!1;if(X)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){re=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var oe=function(){return void 0===q&&(q=!X&&!Y&&"undefined"!==typeof e&&"server"===e["process"].env.VUE_ENV),q},ae=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function se(e){return"function"===typeof e&&/native code/.test(e.toString())}var ce,le="undefined"!==typeof Symbol&&se(Symbol)&&"undefined"!==typeof Reflect&&se(Reflect.ownKeys);ce="undefined"!==typeof Set&&se(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=L,fe=0,de=function(){this.id=fe++,this.subs=[]};de.prototype.addSub=function(e){this.subs.push(e)},de.prototype.removeSub=function(e){m(this.subs,e)},de.prototype.depend=function(){de.target&&de.target.addDep(this)},de.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t-1)if(o&&!y(i,"default"))a=!1;else if(""===a||a===O(e)){var c=Ke(String,i.type);(c<0||s0&&(a=kt(a,(t||"")+"_"+n),Ct(a[0])&&Ct(l)&&(u[c]=ye(l.text+a[0].text),a.shift()),u.push.apply(u,a)):s(a)?Ct(l)?u[c]=ye(l.text+a):""!==a&&u.push(ye(a)):Ct(a)&&Ct(l)?u[c]=ye(l.text+a.text):(o(e._isVList)&&i(a.tag)&&r(a.key)&&i(t)&&(a.key="__vlist"+t+"_"+n+"__"),u.push(a)));return u}function Ot(e,t){return(e.__esModule||le&&"Module"===e[Symbol.toStringTag])&&(e=e.default),c(e)?t.extend(e):e}function At(e,t,n,r,i){var o=be();return o.asyncFactory=e,o.asyncMeta={data:t,context:n,children:r,tag:i},o}function Et(e,t,n){if(o(e.error)&&i(e.errorComp))return e.errorComp;if(i(e.resolved))return e.resolved;if(o(e.loading)&&i(e.loadingComp))return e.loadingComp;if(!i(e.contexts)){var a=e.contexts=[n],s=!0,l=function(){for(var e=0,t=a.length;e1?j(n):n;for(var r=j(arguments,1),i=0,o=n.length;iZt&&Gt[n].id>e.id)n--;Gt.splice(n+1,0,e)}else Gt.push(e);Kt||(Kt=!0,ut(en))}}var an=0,sn=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++an,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ce,this.newDepIds=new ce,this.expression="","function"===typeof t?this.getter=t:(this.getter=W(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};sn.prototype.get=function(){var e;he(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;Je(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&dt(e),ve(),this.cleanupDeps()}return e},sn.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},sn.prototype.cleanupDeps=function(){var e=this,t=this.deps.length;while(t--){var n=e.deps[t];e.newDepIds.has(n.id)||n.removeSub(e)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},sn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():on(this)},sn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Je(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},sn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},sn.prototype.depend=function(){var e=this,t=this.deps.length;while(t--)e.deps[t].depend()},sn.prototype.teardown=function(){var e=this;if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);var t=this.deps.length;while(t--)e.deps[t].removeSub(e);this.active=!1}};var cn={enumerable:!0,configurable:!0,get:L,set:L};function ln(e,t,n){cn.get=function(){return this[t][n]},cn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,cn)}function un(e){e._watchers=[];var t=e.$options;t.props&&fn(e,t.props),t.methods&&bn(e,t.methods),t.data?dn(e):Fe(e._data={},!0),t.computed&&vn(e,t.computed),t.watch&&t.watch!==ne&&yn(e,t.watch)}function fn(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],o=!e.$parent;o||Ae(!1);var a=function(o){i.push(o);var a=qe(o,t,n,e);$e(r,o,a),o in e||ln(e,"_props",o)};for(var s in t)a(s);Ae(!0)}function dn(e){var t=e.$options.data;t=e._data="function"===typeof t?pn(t,e):t||{},u(t)||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);while(i--){var o=n[i];0,r&&y(r,o)||z(o)||ln(e,"_data",o)}Fe(t,!0)}function pn(e,t){he();try{return e.call(t,t)}catch(e){return Je(e,t,"data()"),{}}finally{ve()}}var hn={lazy:!0};function vn(e,t){var n=e._computedWatchers=Object.create(null),r=oe();for(var i in t){var o=t[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new sn(e,a||L,L,hn)),i in e||gn(e,i,o)}}function gn(e,t,n){var r=!oe();"function"===typeof n?(cn.get=r?mn(t):n,cn.set=L):(cn.get=n.get?r&&!1!==n.cache?mn(t):n.get:L,cn.set=n.set?n.set:L),Object.defineProperty(e,t,cn)}function mn(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),de.target&&t.depend(),t.value}}function bn(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?L:S(t[n],e)}function yn(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}function sr(e){this._init(e)}function cr(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=j(arguments,1);return n.unshift(this),"function"===typeof e.install?e.install.apply(e,n):"function"===typeof e&&e.apply(null,n),t.push(e),this}}function lr(e){e.mixin=function(e){return this.options=Ve(this.options,e),this}}function ur(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name;var a=function(e){this._init(e)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=t++,a.options=Ve(n.options,e),a["super"]=n,a.options.props&&fr(a),a.options.computed&&dr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,R.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=F({},a.options),i[r]=a,a}}function fr(e){var t=e.options.props;for(var n in t)ln(e.prototype,"_props",n)}function dr(e){var t=e.options.computed;for(var n in t)gn(e.prototype,n,t[n])}function pr(e){R.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&u(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"===typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}function hr(e){return e&&(e.Ctor.options.name||e.tag)}function vr(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"===typeof e?e.split(",").indexOf(t)>-1:!!f(e)&&e.test(t)}function gr(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=hr(a.componentOptions);s&&!t(s)&&mr(n,o,r,i)}}}function mr(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,m(n,t)}nr(sr),xn(sr),Mt(sr),Bt(sr),er(sr);var br=[String,RegExp,Array],yr={name:"keep-alive",abstract:!0,props:{include:br,exclude:br,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var e=this;for(var t in e.cache)mr(e.cache,t,e.keys)},mounted:function(){var e=this;this.$watch("include",function(t){gr(e,function(e){return vr(t,e)})}),this.$watch("exclude",function(t){gr(e,function(e){return!vr(t,e)})})},render:function(){var e=this.$slots.default,t=jt(e),n=t&&t.componentOptions;if(n){var r=hr(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!vr(o,r))||a&&r&&vr(a,r))return t;var s=this,c=s.cache,l=s.keys,u=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;c[u]?(t.componentInstance=c[u].componentInstance,m(l,u),l.push(u)):(c[u]=t,l.push(u),this.max&&l.length>parseInt(this.max)&&mr(c,l[0],l,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}},_r={KeepAlive:yr};function xr(e){var t={get:function(){return H}};Object.defineProperty(e,"config",t),e.util={warn:ue,extend:F,mergeOptions:Ve,defineReactive:$e},e.set=Le,e.delete=Te,e.nextTick=ut,e.options=Object.create(null),R.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,F(e.options.components,_r),cr(e),lr(e),ur(e),pr(e)}xr(sr),Object.defineProperty(sr.prototype,"$isServer",{get:oe}),Object.defineProperty(sr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(sr,"FunctionalRenderContext",{value:Dn}),sr.version="2.5.16";var wr=v("style,class"),Cr=v("input,textarea,option,select,progress"),kr=function(e,t,n){return"value"===n&&Cr(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Or=v("contenteditable,draggable,spellcheck"),Ar=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Er="http://www.w3.org/1999/xlink",Sr=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},jr=function(e){return Sr(e)?e.slice(6,e.length):""},Fr=function(e){return null==e||!1===e};function $r(e){var t=e.data,n=e,r=e;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(t=Lr(r.data,t));while(i(n=n.parent))n&&n.data&&(t=Lr(t,n.data));return Tr(t.staticClass,t.class)}function Lr(e,t){return{staticClass:Mr(e.staticClass,t.staticClass),class:i(e.class)?[e.class,t.class]:t.class}}function Tr(e,t){return i(e)||i(t)?Mr(e,Pr(t)):""}function Mr(e,t){return e?t?e+" "+t:e:t||""}function Pr(e){return Array.isArray(e)?Nr(e):c(e)?Dr(e):"string"===typeof e?e:""}function Nr(e){for(var t,n="",r=0,o=e.length;r-1?Ur[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Ur[e]=/HTMLUnknownElement/.test(t.toString())}var Wr=v("text,number,password,search,email,tel,url");function qr(e){if("string"===typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}function Gr(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function Xr(e,t){return document.createElementNS(Ir[e],t)}function Yr(e){return document.createTextNode(e)}function Kr(e){return document.createComment(e)}function Jr(e,t,n){e.insertBefore(t,n)}function Zr(e,t){e.removeChild(t)}function Qr(e,t){e.appendChild(t)}function ei(e){return e.parentNode}function ti(e){return e.nextSibling}function ni(e){return e.tagName}function ri(e,t){e.textContent=t}function ii(e,t){e.setAttribute(t,"")}var oi=Object.freeze({createElement:Gr,createElementNS:Xr,createTextNode:Yr,createComment:Kr,insertBefore:Jr,removeChild:Zr,appendChild:Qr,parentNode:ei,nextSibling:ti,tagName:ni,setTextContent:ri,setStyleScope:ii}),ai={create:function(e,t){si(t)},update:function(e,t){e.data.ref!==t.data.ref&&(si(e,!0),si(t))},destroy:function(e){si(e,!0)}};function si(e,t){var n=e.data.ref;if(i(n)){var r=e.context,o=e.componentInstance||e.elm,a=r.$refs;t?Array.isArray(a[n])?m(a[n],o):a[n]===o&&(a[n]=void 0):e.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}var ci=new ge("",{},[]),li=["create","activate","update","remove","destroy"];function ui(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&i(e.data)===i(t.data)&&fi(e,t)||o(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&r(t.asyncFactory.error))}function fi(e,t){if("input"!==e.tag)return!0;var n,r=i(n=e.data)&&i(n=n.attrs)&&n.type,o=i(n=t.data)&&i(n=n.attrs)&&n.type;return r===o||Wr(r)&&Wr(o)}function di(e,t,n){var r,o,a={};for(r=t;r<=n;++r)o=e[r].key,i(o)&&(a[o]=r);return a}function pi(e){var t,n,a={},c=e.modules,l=e.nodeOps;for(t=0;tv?(f=r(n[b+1])?null:n[b+1].elm,C(e,f,n,h,b,o)):h>b&&O(e,t,d,v)}function S(e,t,n,r){for(var o=n;o-1?ki(e,t,n):Ar(t)?Fr(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Or(t)?e.setAttribute(t,Fr(n)||"false"===n?"false":"true"):Sr(t)?Fr(n)?e.removeAttributeNS(Er,jr(t)):e.setAttributeNS(Er,t,n):ki(e,t,n)}function ki(e,t,n){if(Fr(n))e.removeAttribute(t);else{if(Z&&!Q&&"TEXTAREA"===e.tagName&&"placeholder"===t&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Oi={create:wi,update:wi};function Ai(e,t){var n=t.elm,o=t.data,a=e.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=$r(t),c=n._transitionClasses;i(c)&&(s=Mr(s,Pr(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Ei,Si={create:Ai,update:Ai},ji="__r",Fi="__c";function $i(e){if(i(e[ji])){var t=Z?"change":"input";e[t]=[].concat(e[ji],e[t]||[]),delete e[ji]}i(e[Fi])&&(e.change=[].concat(e[Fi],e.change||[]),delete e[Fi])}function Li(e,t,n){var r=Ei;return function i(){var o=e.apply(null,arguments);null!==o&&Mi(t,i,n,r)}}function Ti(e,t,n,r,i){t=lt(t),n&&(t=Li(t,e,r)),Ei.addEventListener(e,t,re?{capture:r,passive:i}:r)}function Mi(e,t,n,r){(r||Ei).removeEventListener(e,t._withTask||t,n)}function Pi(e,t){if(!r(e.data.on)||!r(t.data.on)){var n=t.data.on||{},i=e.data.on||{};Ei=t.elm,$i(n),mt(n,i,Ti,Mi,t.context),Ei=void 0}}var Ni={create:Pi,update:Pi};function Di(e,t){if(!r(e.data.domProps)||!r(t.data.domProps)){var n,o,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in i(c.__ob__)&&(c=t.data.domProps=F({},c)),s)r(c[n])&&(a[n]="");for(n in c){if(o=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=o;var l=r(o)?"":String(o);Ii(a,l)&&(a.value=l)}else a[n]=o}}}function Ii(e,t){return!e.composing&&("OPTION"===e.tagName||Ri(e,t)||Bi(e,t))}function Ri(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}function Bi(e,t){var n=e.value,r=e._vModifiers;if(i(r)){if(r.lazy)return!1;if(r.number)return h(n)!==h(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}var Hi={create:Di,update:Di},zi=_(function(e){var t={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach(function(e){if(e){var n=e.split(r);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t});function Ui(e){var t=Vi(e.style);return e.staticStyle?F(e.staticStyle,t):t}function Vi(e){return Array.isArray(e)?$(e):"string"===typeof e?zi(e):e}function Wi(e,t){var n,r={};if(t){var i=e;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=Ui(i.data))&&F(r,n)}(n=Ui(e.data))&&F(r,n);var o=e;while(o=o.parent)o.data&&(n=Ui(o.data))&&F(r,n);return r}var qi,Gi=/^--/,Xi=/\s*!important$/,Yi=function(e,t,n){if(Gi.test(t))e.style.setProperty(t,n);else if(Xi.test(n))e.style.setProperty(t,n.replace(Xi,""),"important");else{var r=Ji(t);if(Array.isArray(n))for(var i=0,o=n.length;i-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function to(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function no(e){if(e){if("object"===typeof e){var t={};return!1!==e.css&&F(t,ro(e.name||"v")),F(t,e),t}return"string"===typeof e?ro(e):void 0}}var ro=_(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),io=X&&!Q,oo="transition",ao="animation",so="transition",co="transitionend",lo="animation",uo="animationend";io&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(so="WebkitTransition",co="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(lo="WebkitAnimation",uo="webkitAnimationEnd"));var fo=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function po(e){fo(function(){fo(e)})}function ho(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),eo(e,t))}function vo(e,t){e._transitionClasses&&m(e._transitionClasses,t),to(e,t)}function go(e,t,n){var r=bo(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===oo?co:uo,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=a&&l()};setTimeout(function(){c0&&(n=oo,u=a,f=o.length):t===ao?l>0&&(n=ao,u=l,f=c.length):(u=Math.max(a,l),n=u>0?a>l?oo:ao:null,f=n?n===oo?o.length:c.length:0);var d=n===oo&&mo.test(r[so+"Property"]);return{type:n,timeout:u,propCount:f,hasTransform:d}}function yo(e,t){while(e.length1}function Oo(e,t){!0!==t.data.show&&xo(t)}var Ao=X?{create:Oo,activate:Oo,remove:function(e,t){!0!==e.data.show?wo(e,t):t()}}:{},Eo=[Oi,Si,Ni,Hi,Qi,Ao],So=Eo.concat(xi),jo=pi({nodeOps:oi,modules:So});Q&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&Do(e,"input")});var Fo={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?bt(n,"postpatch",function(){Fo.componentUpdated(e,t,n)}):$o(e,t,n.context),e._vOptions=[].map.call(e.options,Mo)):("textarea"===n.tag||Wr(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",Po),e.addEventListener("compositionend",No),e.addEventListener("change",No),Q&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){$o(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,Mo);if(i.some(function(e,t){return!P(e,r[t])})){var o=e.multiple?t.value.some(function(e){return To(e,i)}):t.value!==t.oldValue&&To(t.value,i);o&&Do(e,"change")}}}};function $o(e,t,n){Lo(e,t,n),(Z||ee)&&setTimeout(function(){Lo(e,t,n)},0)}function Lo(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s-1,a.selected!==o&&(a.selected=o);else if(P(Mo(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function To(e,t){return t.every(function(t){return!P(t,e)})}function Mo(e){return"_value"in e?e._value:e.value}function Po(e){e.target.composing=!0}function No(e){e.target.composing&&(e.target.composing=!1,Do(e.target,"input"))}function Do(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Io(e){return!e.componentInstance||e.data&&e.data.transition?e:Io(e.componentInstance._vnode)}var Ro={bind:function(e,t,n){var r=t.value;n=Io(n);var i=n.data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,xo(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value,i=t.oldValue;if(!r!==!i){n=Io(n);var o=n.data&&n.data.transition;o?(n.data.show=!0,r?xo(n,function(){e.style.display=e.__vOriginalDisplay}):wo(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none"}},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}},Bo={model:Fo,show:Ro},Ho={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function zo(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?zo(jt(t.children)):e}function Uo(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[w(o)]=i[o];return t}function Vo(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function Wo(e){while(e=e.parent)if(e.data.transition)return!0}function qo(e,t){return t.key===e.key&&t.tag===e.tag}var Go={name:"transition",props:Ho,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(function(e){return e.tag||St(e)}),n.length)){0;var r=this.mode;0;var i=n[0];if(Wo(this.$vnode))return i;var o=zo(i);if(!o)return i;if(this._leaving)return Vo(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var c=(o.data||(o.data={})).transition=Uo(this),l=this._vnode,u=zo(l);if(o.data.directives&&o.data.directives.some(function(e){return"show"===e.name})&&(o.data.show=!0),u&&u.data&&!qo(o,u)&&!St(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var f=u.data.transition=F({},c);if("out-in"===r)return this._leaving=!0,bt(f,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),Vo(e,i);if("in-out"===r){if(St(o))return l;var d,p=function(){d()};bt(c,"afterEnter",p),bt(c,"enterCancelled",p),bt(f,"delayLeave",function(e){d=e})}}return i}}},Xo=F({tag:String,moveClass:String},Ho);delete Xo.mode;var Yo={props:Xo,render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Uo(this),s=0;s0?r:n)(e)}},4630:function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"4a59":function(e,t,n){var r=n("9b43"),i=n("1fa8"),o=n("33a4"),a=n("cb7c"),s=n("9def"),c=n("27ee"),l={},u={};t=e.exports=function(e,t,n,f,d){var p,h,v,g,m=d?function(){return e}:c(e),b=r(n,f,t?2:1),y=0;if("function"!=typeof m)throw TypeError(e+" is not iterable!");if(o(m)){for(p=s(e.length);p>y;y++)if(g=t?b(a(h=e[y])[0],h[1]):b(e[y]),g===l||g===u)return g}else for(v=m.call(e);!(h=v.next()).done;)if(g=i(v,b,h.value,t),g===l||g===u)return g};t.BREAK=l,t.RETURN=u},"4bf8":function(e,t,n){var r=n("be13");e.exports=function(e){return Object(r(e))}},"551c":function(e,t,n){"use strict";var r,i,o,a,s=n("2d00"),c=n("7726"),l=n("9b43"),u=n("23c6"),f=n("5ca1"),d=n("d3f4"),p=n("d8e8"),h=n("f605"),v=n("4a59"),g=n("ebd6"),m=n("1991").set,b=n("8079")(),y=n("a5b8"),_=n("9c80"),x=n("a25f"),w=n("bcaa"),C="Promise",k=c.TypeError,O=c.process,A=O&&O.versions,E=A&&A.v8||"",S=c[C],j="process"==u(O),F=function(){},$=i=y.f,L=!!function(){try{var e=S.resolve(1),t=(e.constructor={})[n("2b4c")("species")]=function(e){e(F,F)};return(j||"function"==typeof PromiseRejectionEvent)&&e.then(F)instanceof t&&0!==E.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(e){}}(),T=function(e){var t;return!(!d(e)||"function"!=typeof(t=e.then))&&t},M=function(e,t){if(!e._n){e._n=!0;var n=e._c;b(function(){var r=e._v,i=1==e._s,o=0,a=function(t){var n,o,a,s=i?t.ok:t.fail,c=t.resolve,l=t.reject,u=t.domain;try{s?(i||(2==e._h&&D(e),e._h=1),!0===s?n=r:(u&&u.enter(),n=s(r),u&&(u.exit(),a=!0)),n===t.promise?l(k("Promise-chain cycle")):(o=T(n))?o.call(n,c,l):c(n)):l(r)}catch(e){u&&!a&&u.exit(),l(e)}};while(n.length>o)a(n[o++]);e._c=[],e._n=!1,t&&!e._h&&P(e)})}},P=function(e){m.call(c,function(){var t,n,r,i=e._v,o=N(e);if(o&&(t=_(function(){j?O.emit("unhandledRejection",i,e):(n=c.onunhandledrejection)?n({promise:e,reason:i}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",i)}),e._h=j||N(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},N=function(e){return 1!==e._h&&0===(e._a||e._c).length},D=function(e){m.call(c,function(){var t;j?O.emit("rejectionHandled",e):(t=c.onrejectionhandled)&&t({promise:e,reason:e._v})})},I=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),M(t,!0))},R=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw k("Promise can't be resolved itself");(t=T(e))?b(function(){var r={_w:n,_d:!1};try{t.call(e,l(R,r,1),l(I,r,1))}catch(e){I.call(r,e)}}):(n._v=e,n._s=1,M(n,!1))}catch(e){I.call({_w:n,_d:!1},e)}}};L||(S=function(e){h(this,S,C,"_h"),p(e),r.call(this);try{e(l(R,this,1),l(I,this,1))}catch(e){I.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n("dcbc")(S.prototype,{then:function(e,t){var n=$(g(this,S));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=j?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&M(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=l(R,e,1),this.reject=l(I,e,1)},y.f=$=function(e){return e===S||e===a?new o(e):i(e)}),f(f.G+f.W+f.F*!L,{Promise:S}),n("7f20")(S,C),n("7a56")(C),a=n("8378")[C],f(f.S+f.F*!L,C,{reject:function(e){var t=$(this),n=t.reject;return n(e),t.promise}}),f(f.S+f.F*(s||!L),C,{resolve:function(e){return w(s&&this===a?S:this,e)}}),f(f.S+f.F*!(L&&n("5cc5")(function(e){S.all(e)["catch"](F)})),C,{all:function(e){var t=this,n=$(t),r=n.resolve,i=n.reject,o=_(function(){var n=[],o=0,a=1;v(e,!1,function(e){var s=o++,c=!1;n.push(void 0),a++,t.resolve(e).then(function(e){c||(c=!0,n[s]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=$(t),r=n.reject,i=_(function(){v(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},5537:function(e,t,n){var r=n("8378"),i=n("7726"),o="__core-js_shared__",a=i[o]||(i[o]={});(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},"5ca1":function(e,t,n){var r=n("7726"),i=n("8378"),o=n("32e9"),a=n("2aba"),s=n("9b43"),c="prototype",l=function(e,t,n){var u,f,d,p,h=e&l.F,v=e&l.G,g=e&l.S,m=e&l.P,b=e&l.B,y=v?r:g?r[t]||(r[t]={}):(r[t]||{})[c],_=v?i:i[t]||(i[t]={}),x=_[c]||(_[c]={});for(u in v&&(n=t),n)f=!h&&y&&void 0!==y[u],d=(f?y:n)[u],p=b&&f?s(d,r):m&&"function"==typeof d?s(Function.call,d):d,y&&a(y,u,d,e&l.U),_[u]!=d&&o(_,u,p),m&&x[u]!=d&&(x[u]=d)};r.core=i,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},"5cc5":function(e,t,n){var r=n("2b4c")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},e(o)}catch(e){}return n}},"613b":function(e,t,n){var r=n("5537")("keys"),i=n("ca5a");e.exports=function(e){return r[e]||(r[e]=i(e))}},"626a":function(e,t,n){var r=n("2d95");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},6821:function(e,t,n){var r=n("626a"),i=n("be13");e.exports=function(e){return r(i(e))}},"69a8":function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},"6a99":function(e,t,n){var r=n("d3f4");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},"6b54":function(e,t,n){"use strict";n("3846");var r=n("cb7c"),i=n("0bfb"),o=n("9e1e"),a="toString",s=/./[a],c=function(e){n("2aba")(RegExp.prototype,a,e,!0)};n("79e5")(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?c(function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)}):s.name!=a&&c(function(){return s.call(this)})},7726:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"776d":function(e,t,n){(function(t){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}([function(e,t,n){"use strict";var r=n(3),i=n(1);n.d(t,"a",function(){return d});var o=Object.assign||function(e){for(var t=1;t
',defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body"};function p(e){return{placement:e.placement||b.options.defaultPlacement,delay:e.delay||b.options.defaultDelay,template:e.template||b.options.defaultTemplate,trigger:e.trigger||b.options.defaultTrigger,offset:e.offset||b.options.defaultOffset,container:e.container||b.options.defaultContainer}}function h(e,t){var n=e.placement,r=!0,i=!1,o=void 0;try{for(var a,s=f[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var c=a.value;t[c]&&(n=c)}}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}var v=function(e){function t(){return c(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return u(t,e),a(t,[{key:"setClasses",value:function(e){var t=this._tooltipNode;if(t){var r=this._oldClasses;e?r?n.i(i["a"])(t,e,r):n.i(i["b"])(t,e):r&&n.i(i["c"])(t,r),this._oldClasses=e}else this._pendingClasses=e;this._classes=e}},{key:"setContent",value:function(e){if(this.options.title=e,this._tooltipNode){var t=this._tooltipNode.querySelector(this.innerSelector);t&&(t.innerHTML=e||"",this.popperInstance.update())}}},{key:"setOptions",value:function(e){e=p(e);var t=!1,n=!1;for(var r in this.options.offset===e.offset&&this.options.placement===e.placement||(t=!0),this.options.template===e.template&&this.options.trigger===e.trigger&&this.options.container===e.container||(n=!0),e)this.options[r]=e[r];if(this._tooltipNode)if(n){var i=this._isOpen;this.dispose();var o="string"===typeof this.options.trigger?e.trigger.split(" ").filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}):[];this._setEventListeners(this.reference,o,this.options),this.setClasses(this._classes),i&&this.show()}else t&&this.popperInstance.update()}},{key:"_dispose",value:function(){var e=this;this._events.forEach(function(t){var n=t.func,r=t.event;e.reference.removeEventListener(r,n)}),this._events=[],s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"_dispose",this).call(this)}},{key:"_show",value:function(){for(var e,n=this,r=arguments.length,i=Array(r),o=0;o-1})},a="undefined"!==typeof window,s=["Edge","Trident","Firefox"],c=0,l=0;l=0){c=1;break}function u(e){var t=!1,n=0,r=document.createElement("span"),i=new MutationObserver(function(){e(),t=!1});return i.observe(r,{attributes:!0}),function(){t||(t=!0,r.setAttribute("x-index",n),n+=1)}}function f(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},c))}}var d=a&&o(window.MutationObserver),p=d?u:f;function h(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function v(e,t){Object.keys(t).forEach(function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&h(t[n])&&(r="px"),e.style[n]=t[n]+r})}function g(e){var t={};return e&&"[object Function]"===t.toString.call(e)}function m(e,t){if(1!==e.nodeType)return[];var n=window.getComputedStyle(e,null);return t?n[t]:n}function b(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function y(e){if(!e||-1!==["HTML","BODY","#document"].indexOf(e.nodeName))return window.document.body;var t=m(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll)/.test(n+i+r)?e:y(b(e))}function _(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||e.firstElementChild.offsetParent===e)}function x(e){return null!==e.parentNode?x(e.parentNode):e}function w(e){var t=e&&e.offsetParent,n=t&&t.nodeName;return n&&"BODY"!==n&&"HTML"!==n?t:window.document.documentElement}function C(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return window.document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a=o.commonAncestorContainer;if(e!==a&&t!==a||r.contains(i))return _(a)?a:w(a);var s=x(e);return s.host?C(s.host,t):C(e,x(t).host)}function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===t?"scrollTop":"scrollLeft",r=e.nodeName;if("BODY"===r||"HTML"===r){var i=window.document.documentElement,o=window.document.scrollingElement||i;return o[n]}return e[n]}function O(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=k(t,"top"),i=k(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}function A(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return+e["border"+n+"Width"].split("px")[0]+ +e["border"+r+"Width"].split("px")[0]}function E(){var e=window.document.body,t=window.document.documentElement;return{height:Math.max(e.scrollHeight,e.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight),width:Math.max(e.scrollWidth,e.offsetWidth,t.clientWidth,t.scrollWidth,t.offsetWidth)}}var S=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},j=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},F=Object.assign||function(e){for(var t=1;ti[u]&&(e.offsets.popper[c]+=o[c]+f-i[u]);var d=o[c]+o[s]/2-f/2,p=d-$(e.offsets.popper)[c];return p=Math.max(Math.min(i[s]-f,p),0),e.arrowElement=n,e.offsets.arrow={},e.offsets.arrow[c]=p,e.offsets.arrow[l]="",e}function se(e){return"end"===e?"start":"start"===e?"end":e}var ce=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],le=ce.slice(3);function ue(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=le.indexOf(e),r=le.slice(n+1).concat(le.slice(0,n));return t?r.reverse():r}var fe={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function de(e,t){if(X(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=I(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),r=e.placement.split("-")[0],i=z(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case fe.FLIP:a=[r,i];break;case fe.CLOCKWISE:a=ue(r);break;case fe.COUNTERCLOCKWISE:a=ue(r,!0);break;default:a=t.behavior}return a.forEach(function(s,c){if(r!==s||a.length===c+1)return e;r=e.placement.split("-")[0],i=z(r);var l=$(e.offsets.popper),u=e.offsets.reference,f=Math.floor,d="left"===r&&f(l.right)>f(u.left)||"right"===r&&f(l.left)f(u.top)||"bottom"===r&&f(l.top)f(n.right),v=f(l.top)f(n.bottom),m="left"===r&&p||"right"===r&&h||"top"===r&&v||"bottom"===r&&g,b=-1!==["top","bottom"].indexOf(r),y=!!t.flipVariations&&(b&&"start"===o&&p||b&&"end"===o&&h||!b&&"start"===o&&v||!b&&"end"===o&&g);(d||m||y)&&(e.flipped=!0,(d||m)&&(r=a[c+1]),y&&(o=se(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=U(e.instance.popper,e.offsets.reference,e.placement),e=q(e.instance.modifiers,e,"flip"))}),e}function pe(e){var t=$(e.offsets.popper),n=e.offsets.reference,r=e.placement.split("-")[0],i=Math.floor,o=-1!==["top","bottom"].indexOf(r),a=o?"right":"bottom",s=o?"left":"top",c=o?"width":"height";return t[a]i(n[a])&&(e.offsets.popper[s]=i(n[a])),e}function he(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}var c=$(s);return c[t]/100*o}if("vh"===a||"vw"===a){var l=void 0;return l="vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0),l/100*o}return o}function ve(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(V(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var c=/\s*,\s*|\s+/,l=-1!==s?[a.slice(0,s).concat([a[s].split(c)[0]]),[a[s].split(c)[1]].concat(a.slice(s+1))]:[a];return l=l.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return he(e,i,t,n)})}),l.forEach(function(e,t){e.forEach(function(n,r){h(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}function ge(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],c=void 0;return c=h(+n)?[+n,0]:ve(n,o,a,s),"left"===s?(o.top+=c[0],o.left-=c[1]):"right"===s?(o.top+=c[0],o.left+=c[1]):"top"===s?(o.left+=c[0],o.top-=c[1]):"bottom"===s&&(o.left+=c[0],o.top+=c[1]),e.popper=o,e}function me(e,t){var n=t.boundariesElement||w(e.instance.popper),r=I(e.instance.popper,e.instance.reference,t.padding,n);t.boundaries=r;var i=t.priority,o=$(e.offsets.popper),a={primary:function(e){var n=o[e];return o[e]r[e]&&!t.escapeWithReference&&(i=Math.min(o[n],r[e]-("right"===e?o.width:o.height))),j({},n,i)}};return i.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";o=F({},o,a[t](e))}),e.offsets.popper=o,e}function be(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets.reference,o=$(e.offsets.popper),a=-1!==["bottom","top"].indexOf(n),s=a?"left":"top",c=a?"width":"height",l={start:j({},s,i[s]),end:j({},s,i[s]+i[c]-o[c])};e.offsets.popper=F({},o,l[r])}return e}function ye(e){if(!oe(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=V(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};S(this,e),this.update=G,this.destroy=K,this.enableEventListeners=Q,this.disableEventListeners=te,this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=p(this.update.bind(this)),this.options=F({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t.jquery?t[0]:t,this.popper=n.jquery?n[0]:n,v(this.popper,{position:"absolute"}),this.modifiers=Object.keys(e.Defaults.modifiers).map(function(t){return F({name:t},e.Defaults.modifiers[t])}),this.modifiers=this.modifiers.map(function(e){var t=i.modifiers&&i.modifiers[e.name]||{};return F({},e,t)}),i.modifiers&&(this.options.modifiers=F({},e.Defaults.modifiers,i.modifiers),Object.keys(i.modifiers).forEach(function(t){if(void 0===e.Defaults.modifiers[t]){var n=i.modifiers[t];n.name=t,r.modifiers.push(n)}})),this.modifiers=this.modifiers.sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&g(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o};Ce.Utils=("undefined"!==typeof window?window:t).PopperUtils,Ce.placements=ce,Ce.Defaults=we,n["a"]=Ce},function(e,t,n){"use strict";var r=n(2);function i(e){var t={};return e&&"[object Function]"===t.toString.call(e)}var o=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},a=function(){function e(e,t){for(var n=0;n
',trigger:"hover focus",offset:0},l=function(){function e(t,n){o(this,e),u.call(this),n=s({},c,n),t.jquery&&(t=t[0]),this.reference=t,this.options=n;var r="string"===typeof n.trigger?n.trigger.split(" ").filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}):[];this._isOpen=!1,this._setEventListeners(t,r,n)}return a(e,[{key:"_create",value:function(e,t,n,r){var o=window.document.createElement("div");o.innerHTML=t;var a=o.childNodes[0];a.id="tooltip_"+Math.random().toString(36).substr(2,10),a.setAttribute("aria-hidden","false");var s=o.querySelector(this.innerSelector);if(1===n.nodeType)r&&s.appendChild(n);else if(i(n)){var c=n.call(e);r?s.innerHTML=c:s.innerText=c}else r?s.innerHTML=n:s.innerText=n;return a}},{key:"_show",value:function(e,t){if(this._isOpen)return this;if(this._isOpen=!0,this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.update(),this;var n=e.getAttribute("title")||t.title;if(!n)return this;var i=this._create(e,t.template,n,t.html);i.setAttribute("aria-describedby",i.id);var o=this._findContainer(t.container,e);this._append(i,o);var a={placement:t.placement,arrowElement:this.arrowSelector};return t.boundariesElement&&(a.boundariesElement=t.boundariesElement),this.popperInstance=new r["a"](e,i,a),this._tooltipNode=i,this}},{key:"_hide",value:function(){return this._isOpen?(this._isOpen=!1,this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this):this}},{key:"_dispose",value:function(){var e=this;return this._tooltipNode&&(this._hide(),this.popperInstance.destroy(),this._events.forEach(function(t){var n=t.func,r=t.event;e._tooltipNode.removeEventListener(r,n)}),this._events=[],this._tooltipNode.parentNode.removeChild(this._tooltipNode),this._tooltipNode=null),this}},{key:"_findContainer",value:function(e,t){return"string"===typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,n){var r=this,i=[],o=[];t.forEach(function(e){switch(e){case"hover":i.push("mouseenter"),o.push("mouseleave");case"focus":i.push("focus"),o.push("blur");case"click":i.push("click"),o.push("click")}}),i.forEach(function(t){var i=function(t){!0!==r._isOpen&&(t.usedByTooltip=!0,r._scheduleShow(e,n.delay,n,t))};r._events.push({event:t,func:i}),e.addEventListener(t,i)}),o.forEach(function(t){var i=function(t){!0!==t.usedByTooltip&&r._scheduleHide(e,n.delay,n,t)};r._events.push({event:t,func:i}),e.addEventListener(t,i)})}},{key:"_scheduleShow",value:function(e,t,n){var r=this,i=t&&t.show||t||0;window.setTimeout(function(){return r._show(e,n)},i)}},{key:"_scheduleHide",value:function(e,t,n,r){var i=this,o=t&&t.hide||t||0;window.setTimeout(function(){if(!1!==i._isOpen&&document.body.contains(i._tooltipNode)){if("mouseleave"===r.type){var o=i._setTooltipNodeEvent(r,e,t,n);if(o)return}i._hide(e,n)}},o)}}]),e}(),u=function(){var e=this;this.show=function(){return e._show(e.reference,e.options)},this.hide=function(){return e._hide()},this.dispose=function(){return e._dispose()},this.toggle=function(){return e._isOpen?e.hide():e.show()},this.arrowSelector=".tooltip-arrow, .tooltip__arrow",this.innerSelector=".tooltip-inner, .tooltip__inner",this._events=[],this._setTooltipNodeEvent=function(t,n,r,i){var o=t.relatedreference||t.toElement,a=function r(o){var a=o.relatedreference||o.toElement;e._tooltipNode.removeEventListener(t.type,r),n.contains(a)||e._scheduleHide(n,i.delay,i,o)};return!!e._tooltipNode.contains(o)&&(e._tooltipNode.addEventListener(t.type,a),!0)}};t["a"]=l},function(e,n,r){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=r(0);function o(e,t){o.installed||(o.installed=!0,t=Object.assign({},i["a"],t||{}),i["b"].options=t,e.directive("tooltip",i["b"]))}n["install"]=o,r.d(n,"VTooltip",function(){return a});var a=i["b"],s={install:o},c=null;"undefined"!==typeof window?c=window.Vue:"undefined"!==typeof t&&(c=t.Vue),c&&c.use(s),n["default"]=s}])}).call(this,n("c8ba"))},"77f1":function(e,t,n){var r=n("4588"),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},"79e5":function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},"7a56":function(e,t,n){"use strict";var r=n("7726"),i=n("86cc"),o=n("9e1e"),a=n("2b4c")("species");e.exports=function(e){var t=r[e];o&&t&&!t[a]&&i.f(t,a,{configurable:!0,get:function(){return this}})}},"7f20":function(e,t,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},"7f7f":function(e,t,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},8079:function(e,t,n){var r=n("7726"),i=n("1991").set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,c="process"==n("2d95")(a);e.exports=function(){var e,t,n,l=function(){var r,i;c&&(r=a.domain)&&r.exit();while(e){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(l)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(l)}}else n=function(){i.call(r,l)};else{var f=!0,d=document.createTextNode("");new o(l).observe(d,{characterData:!0}),n=function(){d.data=f=!f}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},8378:function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},"84f2":function(e,t){e.exports={}},"86cc":function(e,t,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;t.f=n("9e1e")?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},"9b43":function(e,t,n){var r=n("d8e8");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"9c6c":function(e,t,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),e.exports=function(e){i[r][e]=!0}},"9c80":function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},"9def":function(e,t,n){var r=n("4588"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},"9e1e":function(e,t,n){e.exports=!n("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a25f:function(e,t,n){var r=n("7726"),i=r.navigator;e.exports=i&&i.userAgent||""},a5b8:function(e,t,n){"use strict";var r=n("d8e8");function i(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new i(e)}},ac6a:function(e,t,n){for(var r=n("cadf"),i=n("0d58"),o=n("2aba"),a=n("7726"),s=n("32e9"),c=n("84f2"),l=n("2b4c"),u=l("iterator"),f=l("toStringTag"),d=c.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=i(p),v=0;vn.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i0?(0,o.default)(e.hex):(0,o.default)(e))||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var i=n.toHsl(),a=n.toHsv();return 0===i.s&&(a.h=i.h=e.h||e.hsl&&e.hsl.h||t||0),{hsl:i,hex:n.toHexString().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:e.h||t||i.h,source:e.source,a:e.a||n.getAlpha()}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(27),o=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={props:["value"],data:function(){return{val:r(this.value)}},computed:{colors:{get:function(){return this.val},set:function(e){this.val=e,this.$emit("input",e)}}},watch:{value:function(e){this.val=r(e)}},methods:{colorChange:function(e,t){this.oldHue=this.colors.hsl.h,this.colors=r(e,t||this.oldHue)},isValidHex:function(e){return(0,o.default)(e).isValid()},simpleCheckForValidColor:function(e){for(var t=["r","g","b","a","h","s","l","v"],n=0,r=0,i=0;ithis.max))return e;this.$refs.input.value=this.max}}},methods:{update:function(e){this.handleChange(e.target.value)},handleChange:function(e){var t={};t[this.label]=e,void 0===t.hex&&void 0===t["#"]?this.$emit("change",t):e.length>5&&this.$emit("change",t)},handleBlur:function(e){console.log(e)},handleKeyDown:function(e){var t=this.val,n=Number(t);if(n){var r=this.arrowOffset||1;38===e.keyCode&&(t=n+r,this.handleChange(t),e.preventDefault()),40===e.keyCode&&(t=n-r,this.handleChange(t),e.preventDefault())}},handleDrag:function(e){console.log(e)},handleMouseDown:function(e){console.log(e)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=["#FFFFFF","#F2F2F2","#E6E6E6","#D9D9D9","#CCCCCC","#BFBFBF","#B3B3B3","#A6A6A6","#999999","#8C8C8C","#808080","#737373","#666666","#595959","#4D4D4D","#404040","#333333","#262626","#0D0D0D","#000000"];t.default={name:"Grayscale",mixins:[i.default],props:{palette:{type:Array,default:function(){return o}}},components:{},computed:{pick:function(){return this.colors.hex}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:"hex"})}}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(4),o=r(i),a=n(3),s=r(a);t.default={name:"Material",mixins:[s.default],components:{"ed-in":o.default},methods:{onChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:"hex"}):(e.r||e.g||e.b)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:"rgba"}))}}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a);t.default={name:"Slider",mixins:[o.default],props:{direction:String},components:{hue:s.default},computed:{activeOffset:function(){return Math.round(100*this.colors.hsl.s)/100==.5?Math.round(100*this.colors.hsl.l)/100:0}},data:function(){return{swatches:[".80",".65",".50",".35",".20"]}},methods:{hueChange:function(e){this.colorChange(e)},handleSwClick:function(e,t){this.colorChange({h:this.colors.hsl.h,s:.5,l:t,source:"hsl"})}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"Hue",props:{value:Object,direction:{type:String,default:"horizontal"}},data:function(){return{oldHue:0,pullDirection:""}},computed:{colors:function(){var e=this.value.hsl.h;return 0!==e&&e-this.oldHue>0&&(this.pullDirection="right"),0!==e&&e-this.oldHue<0&&(this.pullDirection="left"),this.oldHue=e,this.value},directionClass:function(){return{"vc-hue--horizontal":"horizontal"===this.direction,"vc-hue--vertical":"vertical"===this.direction}},pointerTop:function(){return"vertical"===this.direction?0===this.colors.hsl.h&&"right"===this.pullDirection?0:-100*this.colors.hsl.h/360+100+"%":0},pointerLeft:function(){return"vertical"===this.direction?0:0===this.colors.hsl.h&&"right"===this.pullDirection?"100%":100*this.colors.hsl.h/360+"%"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var n,r,i=this.$refs.container,o=i.clientWidth,a=i.clientHeight,s=i.getBoundingClientRect().left+window.pageXOffset,c=i.getBoundingClientRect().top+window.pageYOffset,l=e.pageX||(e.touches?e.touches[0].pageX:0),u=e.pageY||(e.touches?e.touches[0].pageY:0),f=l-s,d=u-c;"vertical"===this.direction?(d<0?n=360:d>a?n=0:(r=-100*d/a+100,n=360*r/100),this.colors.hsl.h!==n&&this.$emit("change",{h:n,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"})):(f<0?n=0:f>o?n=360:(r=100*f/o,n=360*r/100),this.colors.hsl.h!==n&&this.$emit("change",{h:n,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"}))},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(50),o=r(i),a=n(3),s=r(a),c=["red","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","black"],l=["900","700","500","300","100"],u=function(){var e=[];return c.forEach(function(t){var n=[];"black"===t.toLowerCase()||"white"===t.toLowerCase()?n=n.concat(["#000000","#FFFFFF"]):l.forEach(function(e){var r=o.default[t][e];n.push(r.toUpperCase())}),e.push(n)}),e}();t.default={name:"Swatches",mixins:[s.default],props:{palette:{type:Array,default:function(){return u}}},computed:{pick:function(){return this.colors.hex}},methods:{equal:function(e){return e.toLowerCase()===this.colors.hex.toLowerCase()},handlerClick:function(e){this.colorChange({hex:e,source:"hex"})}}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),l=r(c),u=n(5),f=r(u),d=n(7),p=r(d);t.default={name:"Photoshop",mixins:[o.default],props:{head:{type:String,default:"Color Picker"},disableFields:{type:Boolean,default:!1}},components:{saturation:l.default,hue:f.default,alpha:p.default,"ed-in":s.default},data:function(){return{currentColor:"#FFF"}},computed:{hsv:function(){var e=this.colors.hsv;return{h:e.h.toFixed(),s:(100*e.s).toFixed(),v:(100*e.v).toFixed()}},hex:function(){var e=this.colors.hex;return e&&e.replace("#","")}},created:function(){this.currentColor=this.colors.hex},methods:{childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e["#"]?this.isValidHex(e["#"])&&this.colorChange({hex:e["#"],source:"hex"}):e.r||e.g||e.b||e.a?this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:"rgba"}):(e.h||e.s||e.v)&&this.colorChange({h:e.h||this.colors.hsv.h,s:e.s/100||this.colors.hsv.s,v:e.v/100||this.colors.hsv.v,source:"hsv"}))},clickCurrentColor:function(){this.colorChange({hex:this.currentColor,source:"hex"})},handleAccept:function(){this.$emit("ok")},handleCancel:function(){this.$emit("cancel")}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(57),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default={name:"Saturation",props:{value:Object},computed:{colors:function(){return this.value},bgColor:function(){return"hsl("+this.colors.hsv.h+", 100%, 50%)"},pointerTop:function(){return-100*this.colors.hsv.v+1+100+"%"},pointerLeft:function(){return 100*this.colors.hsv.s+"%"}},methods:{throttle:(0,i.default)(function(e,t){e(t)},20,{leading:!0,trailing:!1}),handleChange:function(e,t){!t&&e.preventDefault();var n=this.$refs.container,r=n.clientWidth,i=n.clientHeight,o=n.getBoundingClientRect().left+window.pageXOffset,a=n.getBoundingClientRect().top+window.pageYOffset,s=e.pageX||(e.touches?e.touches[0].pageX:0),c=e.pageY||(e.touches?e.touches[0].pageY:0),l=s-o,u=c-a;l<0?l=0:l>r?l=r:u<0?u=0:u>i&&(u=i);var f=l/r,d=-u/i+1;d=d>0?d:0,d=d>1?1:d,this.throttle(this.onChange,{h:this.colors.hsv.h,s:f,v:d,a:this.colors.hsv.a,source:"hsva"})},onChange:function(e){this.$emit("change",e)},handleMouseDown:function(e){window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(8),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default={name:"Alpha",props:{value:Object,onChange:Function},components:{checkboard:i.default},computed:{colors:function(){return this.value},gradientColor:function(){var e=this.colors.rgba,t=[e.r,e.g,e.b].join(",");return"linear-gradient(to right, rgba("+t+", 0) 0%, rgba("+t+", 1) 100%)"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var n,r=this.$refs.container,i=r.clientWidth,o=r.getBoundingClientRect().left+window.pageXOffset,a=e.pageX||(e.touches?e.touches[0].pageX:0),s=a-o;n=s<0?0:s>i?1:Math.round(100*s/i)/100,this.colors.a!==n&&this.$emit("change",{h:this.colors.hsl.h,s:this.colors.hsl.s,l:this.colors.hsl.l,a:n,source:"rgba"})},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(e,t,n){"use strict";function r(e,t,n){if("undefined"==typeof document)return null;var r=document.createElement("canvas");r.width=r.height=2*n;var i=r.getContext("2d");return i?(i.fillStyle=e,i.fillRect(0,0,r.width,r.height),i.fillStyle=t,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),r.toDataURL()):null}function i(e,t,n){var i=e+","+t+","+n;if(o[i])return o[i];var a=r(e,t,n);return o[i]=a,a}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.default={name:"Checkboard",props:{size:{type:[Number,String],default:8},white:{type:String,default:"#fff"},grey:{type:String,default:"#e6e6e6"}},computed:{bgStyle:function(){return{"background-image":"url("+i(this.white,this.grey,this.size)+")"}}}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),l=r(c),u=n(5),f=r(u),d=n(7),p=r(d),h=n(8),v=r(h),g=["#D0021B","#F5A623","#F8E71C","#8B572A","#7ED321","#417505","#BD10E0","#9013FE","#4A90E2","#50E3C2","#B8E986","#000000","#4A4A4A","#9B9B9B","#FFFFFF"];t.default={name:"Sketch",mixins:[o.default],components:{saturation:l.default,hue:f.default,alpha:p.default,"ed-in":s.default,checkboard:v.default},props:{presetColors:{type:Array,default:function(){return g}},disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},computed:{hex:function(){return this.colors.hex.replace("#","")},activeColor:function(){var e=this.colors.rgba;return"rgba("+[e.r,e.g,e.b,e.a].join(",")+")"}},methods:{handlePreset:function(e){this.colorChange({hex:e,source:"hex"})},childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:"hex"}):(e.r||e.g||e.b||e.a)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:"rgba"}))}}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),l=r(c),u=n(5),f=r(u),d=n(7),p=r(d),h=n(8),v=r(h);t.default={name:"Chrome",mixins:[o.default],props:{disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},components:{saturation:l.default,hue:f.default,alpha:p.default,"ed-in":s.default,checkboard:v.default},data:function(){return{fields:["hex","rgba","hsla"],fieldsIndex:0,highlight:!1}},computed:{hsl:function(){var e=this.colors.hsl,t=e.h,n=e.s,r=e.l;return{h:t.toFixed(),s:(100*n).toFixed()+"%",l:(100*r).toFixed()+"%"}},activeColor:function(){var e=this.colors.rgba;return"rgba("+[e.r,e.g,e.b,e.a].join(",")+")"}},watch:{colors:function(e){e.a<1&&0===this.fieldsIndex&&(this.fieldsIndex=1)}},methods:{handlePreset:function(e){this.colorChange({hex:e,source:"hex"})},childChange:function(e){this.colorChange(e)},inputChange:function(e){if(e)if(e.hex)this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:"hex"});else if(e.r||e.g||e.b||e.a)this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:"rgba"});else if(e.h||e.s||e.l){var t=e.s?e.s.replace("%","")/100:this.colors.hsl.s,n=e.l?e.l.replace("%","")/100:this.colors.hsl.l;this.colorChange({h:e.h||this.colors.hsl.h,s:t,l:n,source:"hsl"})}},toggleViews:function(){this.fieldsIndex>=2?this.fieldsIndex=this.colors.a<1?1:0:this.fieldsIndex++},showHighlight:function(){this.highlight=!0},hideHighlight:function(){this.highlight=!1}}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var i=n(23),o=r(i),a=n(32),s=r(a),c=n(36),l=r(c),u=n(40),f=r(u),d=n(47),p=r(d),h=n(52),v=r(h),g=n(67),m=r(g),b=n(71),y=r(b),_=n(7),x=r(_),w=n(8),C=r(w),k=n(4),O=r(k),A=n(5),E=r(A),S=n(6),j=r(S),F=n(3),$=r(F),L={version:"2.4.6",Compact:o.default,Grayscale:s.default,Material:l.default,Slider:f.default,Swatches:p.default,Photoshop:v.default,Sketch:m.default,Chrome:y.default,Alpha:x.default,Checkboard:C.default,EditableInput:O.default,Hue:E.default,Saturation:j.default,ColorMixin:$.default};e.exports=L},function(e,t,n){"use strict";function r(e){c||n(24)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(31),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Compact.vue",t.default=f.exports},function(e,t,n){var r=n(25);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("cee7b64a",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-compact {\n padding-top: 5px;\n padding-left: 5px;\n width: 240px;\n border-radius: 2px;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-compact-colors {\n overflow: hidden;\n padding: 0;\n margin: 0;\n}\n.vc-compact-color-item {\n list-style: none;\n width: 15px;\n height: 15px;\n float: left;\n margin-right: 5px;\n margin-bottom: 5px;\n position: relative;\n cursor: pointer;\n}\n.vc-compact-color-item--white {\n box-shadow: inset 0 0 0 1px #ddd;\n}\n.vc-compact-color-item--white .vc-compact-dot {\n background: #000;\n}\n.vc-compact-dot {\n position: absolute;\n top: 5px;\n right: 5px;\n bottom: 5px;\n left: 5px;\n border-radius: 50%;\n opacity: 1;\n background: #fff;\n}\n",""])},function(e,t){e.exports=function(e,t){for(var n=[],r={},i=0;i.5?c/(2-o-a):c/(o+a),o){case e:r=(t-n)/c+(t1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var i,o,a;if(e=j(e,360),t=j(t,100),n=j(n,100),0===t)i=o=a=n;else{var s=n<.5?n*(1+t):n+t-n*t,c=2*n-s;i=r(c,s,e+1/3),o=r(c,s,e),a=r(c,s,e-1/3)}return{r:255*i,g:255*o,b:255*a}}function u(e,t,n){e=j(e,255),t=j(t,255),n=j(n,255);var r,i,o=q(e,t,n),a=W(e,t,n),s=o,c=o-a;if(i=0===o?0:c/o,o==a)r=0;else{switch(o){case e:r=(t-n)/c+(t>1)+720)%360;--t;)r.h=(r.h+i)%360,a.push(o(r));return a}function E(e,t){t=t||6;for(var n=o(e).toHsv(),r=n.h,i=n.s,a=n.v,s=[],c=1/t;t--;)s.push(o({h:r,s:i,v:a})),a=(a+c)%1;return s}function S(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function j(e,t){L(e)&&(e="100%");var n=T(e);return e=W(t,q(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),i.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function F(e){return W(1,q(0,e))}function $(e){return parseInt(e,16)}function L(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)}function T(e){return"string"==typeof e&&-1!=e.indexOf("%")}function M(e){return 1==e.length?"0"+e:""+e}function P(e){return e<=1&&(e=100*e+"%"),e}function N(e){return i.round(255*parseFloat(e)).toString(16)}function D(e){return $(e)/255}function I(e){return!!K.CSS_UNIT.exec(e)}function R(e){e=e.replace(H,"").replace(z,"").toLowerCase();var t,n=!1;if(X[e])e=X[e],n=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};return(t=K.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=K.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=K.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=K.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=K.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=K.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=K.hex8.exec(e))?{r:$(t[1]),g:$(t[2]),b:$(t[3]),a:D(t[4]),format:n?"name":"hex8"}:(t=K.hex6.exec(e))?{r:$(t[1]),g:$(t[2]),b:$(t[3]),format:n?"name":"hex"}:(t=K.hex4.exec(e))?{r:$(t[1]+""+t[1]),g:$(t[2]+""+t[2]),b:$(t[3]+""+t[3]),a:D(t[4]+""+t[4]),format:n?"name":"hex8"}:!!(t=K.hex3.exec(e))&&{r:$(t[1]+""+t[1]),g:$(t[2]+""+t[2]),b:$(t[3]+""+t[3]),format:n?"name":"hex"}}function B(e){var t,n;return e=e||{level:"AA",size:"small"},t=(e.level||"AA").toUpperCase(),n=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA"),"small"!==n&&"large"!==n&&(n="small"),{level:t,size:n}}var H=/^\s+/,z=/\s+$/,U=0,V=i.round,W=i.min,q=i.max,G=i.random;o.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,n,r,o,a,s=this.toRgb();return e=s.r/255,t=s.g/255,n=s.b/255,r=e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4),o=t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4),a=n<=.03928?n/12.92:i.pow((n+.055)/1.055,2.4),.2126*r+.7152*o+.0722*a},setAlpha:function(e){return this._a=S(e),this._roundA=V(100*this._a)/100,this},toHsv:function(){var e=u(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=u(this._r,this._g,this._b),t=V(360*e.h),n=V(100*e.s),r=V(100*e.v);return 1==this._a?"hsv("+t+", "+n+"%, "+r+"%)":"hsva("+t+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var e=c(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=c(this._r,this._g,this._b),t=V(360*e.h),n=V(100*e.s),r=V(100*e.l);return 1==this._a?"hsl("+t+", "+n+"%, "+r+"%)":"hsla("+t+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(e){return d(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return p(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:V(this._r),g:V(this._g),b:V(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+V(this._r)+", "+V(this._g)+", "+V(this._b)+")":"rgba("+V(this._r)+", "+V(this._g)+", "+V(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:V(100*j(this._r,255))+"%",g:V(100*j(this._g,255))+"%",b:V(100*j(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+V(100*j(this._r,255))+"%, "+V(100*j(this._g,255))+"%, "+V(100*j(this._b,255))+"%)":"rgba("+V(100*j(this._r,255))+"%, "+V(100*j(this._g,255))+"%, "+V(100*j(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(Y[d(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+h(this._r,this._g,this._b,this._a),n=t,r=this._gradientType?"GradientType = 1, ":"";if(e){var i=o(e);n="#"+h(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+t+",endColorstr="+n+")"},toString:function(e){var t=!!e;e=e||this._format;var n=!1,r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return o(this.toString())},_applyModification:function(e,t){var n=e.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(_,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(x,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(w,arguments)},monochromatic:function(){return this._applyCombination(E,arguments)},splitcomplement:function(){return this._applyCombination(O,arguments)},triad:function(){return this._applyCombination(C,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},o.fromRatio=function(e,t){if("object"==typeof e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]="a"===r?e[r]:P(e[r]));e=n}return o(e,t)},o.equals=function(e,t){return!(!e||!t)&&o(e).toRgbString()==o(t).toRgbString()},o.random=function(){return o.fromRatio({r:G(),g:G(),b:G()})},o.mix=function(e,t,n){n=0===n?0:n||50;var r=o(e).toRgb(),i=o(t).toRgb(),a=n/100;return o({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})},o.readability=function(e,t){var n=o(e),r=o(t);return(i.max(n.getLuminance(),r.getLuminance())+.05)/(i.min(n.getLuminance(),r.getLuminance())+.05)},o.isReadable=function(e,t,n){var r,i,a=o.readability(e,t);switch(i=!1,r=B(n),r.level+r.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},o.mostReadable=function(e,t,n){var r,i,a,s,c=null,l=0;n=n||{},i=n.includeFallbackColors,a=n.level,s=n.size;for(var u=0;ul&&(l=r,c=o(t[u]));return o.isReadable(e,c,{level:a,size:s})||!i?c:(n.includeFallbackColors=!1,o.mostReadable(e,["#fff","#000"],n))};var X=o.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Y=o.hexNames=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}(X),K=function(){var e="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",t="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?",n="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?";return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+t),rgba:new RegExp("rgba"+n),hsl:new RegExp("hsl"+t),hsla:new RegExp("hsla"+n),hsv:new RegExp("hsv"+t),hsva:new RegExp("hsva"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();void 0!==e&&e.exports?e.exports=o:void 0!==(r=function(){return o}.call(t,n,t,e))&&(e.exports=r)}(Math)},function(e,t,n){var r=n(29);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("d0d513f4",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-editable-input {\n position: relative;\n}\n.vc-input__input {\n padding: 0;\n border: 0;\n outline: none;\n}\n.vc-input__label {\n text-transform: capitalize;\n}\n",""])},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vc-editable-input"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.val,expression:"val"}],ref:"input",staticClass:"vc-input__input",attrs:{"aria-label":e.value},domProps:{value:e.val},on:{keydown:e.handleKeyDown,input:[function(t){t.target.composing||(e.val=t.target.value)},e.update]}}),e._v(" "),n("span",{staticClass:"vc-input__label"},[e._v(e._s(e.label))]),e._v(" "),n("span",{staticClass:"vc-input__desc"},[e._v(e._s(e.desc))])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vc-compact"},[n("ul",{staticClass:"vc-compact-colors"},e._l(e.palette,function(t){return n("li",{key:t,staticClass:"vc-compact-color-item",class:{"vc-compact-color-item--white":"#FFFFFF"===t},style:{background:t},on:{click:function(n){e.handlerClick(t)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t===e.pick,expression:"c === pick"}],staticClass:"vc-compact-dot"})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";function r(e){c||n(33)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(11),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(35),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Grayscale.vue",t.default=f.exports},function(e,t,n){var r=n(34);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("52769f95",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-grayscale {\n width: 125px;\n border-radius: 2px;\n box-shadow: 0 2px 15px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-grayscale-colors {\n border-radius: 2px;\n overflow: hidden;\n padding: 0;\n margin: 0;\n}\n.vc-grayscale-color-item {\n list-style: none;\n width: 25px;\n height: 25px;\n float: left;\n position: relative;\n cursor: pointer;\n}\n.vc-grayscale-color-item--white .vc-grayscale-dot {\n background: #000;\n}\n.vc-grayscale-dot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 6px;\n height: 6px;\n margin: -3px 0 0 -2px;\n border-radius: 50%;\n opacity: 1;\n background: #fff;\n}\n",""])},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vc-grayscale"},[n("ul",{staticClass:"vc-grayscale-colors"},e._l(e.palette,function(t){return n("li",{key:t,staticClass:"vc-grayscale-color-item",class:{"vc-grayscale-color-item--white":"#FFFFFF"==t},style:{background:t},on:{click:function(n){e.handlerClick(t)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t===e.pick,expression:"c === pick"}],staticClass:"vc-grayscale-dot"})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";function r(e){c||n(37)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(39),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Material.vue",t.default=f.exports},function(e,t,n){var r=n(38);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("2712b48c",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,'\n.vc-material {\n width: 98px;\n height: 98px;\n padding: 16px;\n font-family: "Roboto";\n position: relative;\n border-radius: 2px;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-material .vc-input__input {\n width: 100%;\n margin-top: 12px;\n font-size: 15px;\n color: #333;\n height: 30px;\n}\n.vc-material .vc-input__label {\n position: absolute;\n top: 0;\n left: 0;\n font-size: 11px;\n color: #999;\n text-transform: capitalize;\n}\n.vc-material-hex {\n border-bottom-width: 2px;\n border-bottom-style: solid;\n}\n.vc-material-split {\n display: flex;\n margin-right: -10px;\n padding-top: 11px;\n}\n.vc-material-third {\n flex: 1;\n padding-right: 10px;\n}\n',""])},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vc-material"},[n("ed-in",{staticClass:"vc-material-hex",style:{borderColor:e.colors.hex},attrs:{label:"hex"},on:{change:e.onChange},model:{value:e.colors.hex,callback:function(t){e.$set(e.colors,"hex",t)},expression:"colors.hex"}}),e._v(" "),n("div",{staticClass:"vc-material-split"},[n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"r"},on:{change:e.onChange},model:{value:e.colors.rgba.r,callback:function(t){e.$set(e.colors.rgba,"r",t)},expression:"colors.rgba.r"}})],1),e._v(" "),n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"g"},on:{change:e.onChange},model:{value:e.colors.rgba.g,callback:function(t){e.$set(e.colors.rgba,"g",t)},expression:"colors.rgba.g"}})],1),e._v(" "),n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"b"},on:{change:e.onChange},model:{value:e.colors.rgba.b,callback:function(t){e.$set(e.colors.rgba,"b",t)},expression:"colors.rgba.b"}})],1)])],1)},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";function r(e){c||n(41)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(13),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(46),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Slider.vue",t.default=f.exports},function(e,t,n){var r=n(42);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("598b9964",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-slider {\n position: relative;\n width: 410px;\n}\n.vc-slider-hue-warp {\n height: 12px;\n position: relative;\n}\n.vc-slider-hue-warp .vc-hue-picker {\n width: 14px;\n height: 14px;\n border-radius: 6px;\n transform: translate(-7px, -2px);\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.vc-slider-swatches {\n display: flex;\n margin-top: 20px;\n}\n.vc-slider-swatch {\n margin-right: 1px;\n flex: 1;\n width: 20%;\n}\n.vc-slider-swatch:first-child {\n margin-right: 1px;\n}\n.vc-slider-swatch:first-child .vc-slider-swatch-picker {\n border-radius: 2px 0px 0px 2px;\n}\n.vc-slider-swatch:last-child {\n margin-right: 0;\n}\n.vc-slider-swatch:last-child .vc-slider-swatch-picker {\n border-radius: 0px 2px 2px 0px;\n}\n.vc-slider-swatch-picker {\n cursor: pointer;\n height: 12px;\n}\n.vc-slider-swatch-picker--active {\n transform: scaleY(1.8);\n border-radius: 3.6px/2px;\n}\n",""])},function(e,t,n){var r=n(44);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("af546530",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-hue {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n border-radius: 2px;\n}\n.vc-hue--horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue--vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue-container {\n cursor: pointer;\n margin: 0 2px;\n position: relative;\n height: 100%;\n}\n.vc-hue-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-hue-picker {\n cursor: pointer;\n margin-top: 1px;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n transform: translateX(-2px) ;\n}\n",""])},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["vc-hue",e.directionClass]},[n("div",{ref:"container",staticClass:"vc-hue-container",on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n("div",{staticClass:"vc-hue-pointer",style:{top:e.pointerTop,left:e.pointerLeft}},[n("div",{staticClass:"vc-hue-picker"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vc-slider"},[n("div",{staticClass:"vc-slider-hue-warp"},[n("hue",{on:{change:e.hueChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1),e._v(" "),n("div",{staticClass:"vc-slider-swatches"},e._l(e.swatches,function(t,r){return n("div",{staticClass:"vc-slider-swatch",attrs:{"data-index":r},on:{click:function(n){e.handleSwClick(r,t)}}},[n("div",{staticClass:"vc-slider-swatch-picker",class:{"vc-slider-swatch-picker--active":t==e.activeOffset},style:{background:"hsl("+e.colors.hsl.h+", 50%, "+100*t+"%)"}})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";function r(e){c||n(48)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(15),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(51),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Swatches.vue",t.default=f.exports},function(e,t,n){var r=n(49);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("445d3d64",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-swatches {\n width: 320px;\n height: 240px;\n overflow-y: scroll;\n background-color: #fff;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n}\n.vc-swatches-box {\n padding: 16px 0 6px 16px;\n overflow: hidden;\n}\n.vc-swatches-color-group {\n padding-bottom: 10px;\n width: 40px;\n float: left;\n margin-right: 10px;\n}\n.vc-swatches-color-it {\n box-sizing: border-box;\n width: 40px;\n height: 24px;\n cursor: pointer;\n background: #880e4f;\n margin-bottom: 1px;\n overflow: hidden;\n -ms-border-radius: 2px 2px 0 0;\n -moz-border-radius: 2px 2px 0 0;\n -o-border-radius: 2px 2px 0 0;\n -webkit-border-radius: 2px 2px 0 0;\n border-radius: 2px 2px 0 0;\n}\n.vc-swatches-color--white {\n border: 1px solid #DDD;\n}\n.vc-swatches-pick {\n fill: rgb(255, 255, 255);\n margin-left: 8px;\n display: block;\n}\n.vc-swatches-color--white .vc-swatches-pick {\n fill: rgb(51, 51, 51);\n}\n",""])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"red",function(){return r}),n.d(t,"pink",function(){return i}),n.d(t,"purple",function(){return o}),n.d(t,"deepPurple",function(){return a}),n.d(t,"indigo",function(){return s}),n.d(t,"blue",function(){return c}),n.d(t,"lightBlue",function(){return l}),n.d(t,"cyan",function(){return u}),n.d(t,"teal",function(){return f}),n.d(t,"green",function(){return d}),n.d(t,"lightGreen",function(){return p}),n.d(t,"lime",function(){return h}),n.d(t,"yellow",function(){return v}),n.d(t,"amber",function(){return g}),n.d(t,"orange",function(){return m}),n.d(t,"deepOrange",function(){return b}),n.d(t,"brown",function(){return y}),n.d(t,"grey",function(){return _}),n.d(t,"blueGrey",function(){return x}),n.d(t,"darkText",function(){return w}),n.d(t,"lightText",function(){return C}),n.d(t,"darkIcons",function(){return k}),n.d(t,"lightIcons",function(){return O}),n.d(t,"white",function(){return A}),n.d(t,"black",function(){return E});var r={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",a100:"#ff8a80",a200:"#ff5252",a400:"#ff1744",a700:"#d50000"},i={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",a100:"#ff80ab",a200:"#ff4081",a400:"#f50057",a700:"#c51162"},o={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",a100:"#ea80fc",a200:"#e040fb",a400:"#d500f9",a700:"#aa00ff"},a={50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",a100:"#b388ff",a200:"#7c4dff",a400:"#651fff",a700:"#6200ea"},s={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",a100:"#8c9eff",a200:"#536dfe",a400:"#3d5afe",a700:"#304ffe"},c={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",a100:"#82b1ff",a200:"#448aff",a400:"#2979ff",a700:"#2962ff"},l={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",a100:"#80d8ff",a200:"#40c4ff",a400:"#00b0ff",a700:"#0091ea"},u={50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",a100:"#84ffff",a200:"#18ffff",a400:"#00e5ff",a700:"#00b8d4"},f={50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",a100:"#a7ffeb",a200:"#64ffda",a400:"#1de9b6",a700:"#00bfa5"},d={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",a100:"#b9f6ca",a200:"#69f0ae",a400:"#00e676",a700:"#00c853"},p={50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",a100:"#ccff90",a200:"#b2ff59",a400:"#76ff03",a700:"#64dd17"},h={50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",a100:"#f4ff81",a200:"#eeff41",a400:"#c6ff00",a700:"#aeea00"},v={50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",a100:"#ffff8d",a200:"#ffff00",a400:"#ffea00",a700:"#ffd600"},g={50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",a100:"#ffe57f",a200:"#ffd740",a400:"#ffc400",a700:"#ffab00"},m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",a100:"#ffd180",a200:"#ffab40",a400:"#ff9100",a700:"#ff6d00"},b={50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",a100:"#ff9e80",a200:"#ff6e40",a400:"#ff3d00",a700:"#dd2c00"},y={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723"},_={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121"},x={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238"},w={primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",dividers:"rgba(0, 0, 0, 0.12)"},C={primary:"rgba(255, 255, 255, 1)",secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",dividers:"rgba(255, 255, 255, 0.12)"},k={active:"rgba(0, 0, 0, 0.54)",inactive:"rgba(0, 0, 0, 0.38)"},O={active:"rgba(255, 255, 255, 1)",inactive:"rgba(255, 255, 255, 0.5)"},A="#ffffff",E="#000000";t.default={red:r,pink:i,purple:o,deepPurple:a,indigo:s,blue:c,lightBlue:l,cyan:u,teal:f,green:d,lightGreen:p,lime:h,yellow:v,amber:g,orange:m,deepOrange:b,brown:y,grey:_,blueGrey:x,darkText:w,lightText:C,darkIcons:k,lightIcons:O,white:A,black:E}},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vc-swatches",attrs:{"data-pick":e.pick}},[n("div",{staticClass:"vc-swatches-box"},e._l(e.palette,function(t,r){return n("div",{key:r,staticClass:"vc-swatches-color-group"},e._l(t,function(t){return n("div",{key:t,class:["vc-swatches-color-it",{"vc-swatches-color--white":"#FFFFFF"===t}],style:{background:t},attrs:{"data-color":t},on:{click:function(n){e.handlerClick(t)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.equal(t),expression:"equal(c)"}],staticClass:"vc-swatches-pick"},[n("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}})])])])}))}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";function r(e){c||n(53)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(16),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(66),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Photoshop.vue",t.default=f.exports},function(e,t,n){var r=n(54);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("bdf43978",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,'\n.vc-photoshop {\n background: #DCDCDC;\n border-radius: 4px;\n box-shadow: 0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15);\n box-sizing: initial;\n width: 513px;\n font-family: Roboto;\n}\n.vc-photoshop__disable-fields {\n width: 390px;\n}\n.vc-ps-head {\n background-image: linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%);\n border-bottom: 1px solid #B1B1B1;\n box-shadow: inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02);\n height: 23px;\n line-height: 24px;\n border-radius: 4px 4px 0 0;\n font-size: 13px;\n color: #4D4D4D;\n text-align: center;\n}\n.vc-ps-body {\n padding: 15px;\n display: flex;\n}\n.vc-ps-saturation-wrap {\n width: 256px;\n height: 256px;\n position: relative;\n border: 2px solid #B3B3B3;\n border-bottom: 2px solid #F0F0F0;\n overflow: hidden;\n}\n.vc-ps-saturation-wrap .vc-saturation-circle {\n width: 12px;\n height: 12px;\n}\n.vc-ps-hue-wrap {\n position: relative;\n height: 256px;\n width: 19px;\n margin-left: 10px;\n border: 2px solid #B3B3B3;\n border-bottom: 2px solid #F0F0F0;\n}\n.vc-ps-hue-pointer {\n position: relative;\n}\n.vc-ps-hue-pointer--left,\n.vc-ps-hue-pointer--right {\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 5px 0 5px 8px;\n border-color: transparent transparent transparent #555;\n}\n.vc-ps-hue-pointer--left:after,\n.vc-ps-hue-pointer--right:after {\n content: "";\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 4px 0 4px 6px;\n border-color: transparent transparent transparent #fff;\n position: absolute;\n top: 1px;\n left: 1px;\n transform: translate(-8px, -5px);\n}\n.vc-ps-hue-pointer--left {\n transform: translate(-13px, -4px);\n}\n.vc-ps-hue-pointer--right {\n transform: translate(20px, -4px) rotate(180deg);\n}\n.vc-ps-controls {\n width: 180px;\n margin-left: 10px;\n display: flex;\n}\n.vc-ps-controls__disable-fields {\n width: auto;\n}\n.vc-ps-actions {\n margin-left: 20px;\n flex: 1;\n}\n.vc-ps-ac-btn {\n cursor: pointer;\n background-image: linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%);\n border: 1px solid #878787;\n border-radius: 2px;\n height: 20px;\n box-shadow: 0 1px 0 0 #EAEAEA;\n font-size: 14px;\n color: #000;\n line-height: 20px;\n text-align: center;\n margin-bottom: 10px;\n}\n.vc-ps-previews {\n width: 60px;\n}\n.vc-ps-previews__swatches {\n border: 1px solid #B3B3B3;\n border-bottom: 1px solid #F0F0F0;\n margin-bottom: 2px;\n margin-top: 1px;\n}\n.vc-ps-previews__pr-color {\n height: 34px;\n box-shadow: inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000;\n}\n.vc-ps-previews__label {\n font-size: 14px;\n color: #000;\n text-align: center;\n}\n.vc-ps-fields {\n padding-top: 5px;\n padding-bottom: 9px;\n width: 80px;\n position: relative;\n}\n.vc-ps-fields .vc-input__input {\n margin-left: 40%;\n width: 40%;\n height: 18px;\n border: 1px solid #888888;\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\n margin-bottom: 5px;\n font-size: 13px;\n padding-left: 3px;\n margin-right: 10px;\n}\n.vc-ps-fields .vc-input__label, .vc-ps-fields .vc-input__desc {\n top: 0;\n text-transform: uppercase;\n font-size: 13px;\n height: 18px;\n line-height: 22px;\n position: absolute;\n}\n.vc-ps-fields .vc-input__label {\n left: 0;\n width: 34px;\n}\n.vc-ps-fields .vc-input__desc {\n right: 0;\n width: 0;\n}\n.vc-ps-fields__divider {\n height: 5px;\n}\n.vc-ps-fields__hex .vc-input__input {\n margin-left: 20%;\n width: 80%;\n height: 18px;\n border: 1px solid #888888;\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\n margin-bottom: 6px;\n font-size: 13px;\n padding-left: 3px;\n}\n.vc-ps-fields__hex .vc-input__label {\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n text-transform: uppercase;\n font-size: 13px;\n height: 18px;\n line-height: 22px;\n}\n',""])},function(e,t,n){var r=n(56);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("4b2ac592",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-saturation,\n.vc-saturation--white,\n.vc-saturation--black {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n.vc-saturation--white {\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n}\n.vc-saturation--black {\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n}\n.vc-saturation-pointer {\n cursor: pointer;\n position: absolute;\n}\n.vc-saturation-circle {\n cursor: head;\n width: 4px;\n height: 4px;\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\n border-radius: 50%;\n transform: translate(-2px, -2px);\n}\n",""])},function(e,t,n){(function(t){function n(e,t,n){function r(t){var n=v,r=g;return v=g=void 0,k=t,b=e.apply(r,n)}function o(e){return k=e,y=setTimeout(u,t),O?r(e):b}function a(e){var n=e-_,r=e-k,i=t-n;return A?w(i,m-r):i}function l(e){var n=e-_,r=e-k;return void 0===_||n>=t||n<0||A&&r>=m}function u(){var e=C();if(l(e))return f(e);y=setTimeout(u,a(e))}function f(e){return y=void 0,E&&v?r(e):(v=g=void 0,b)}function d(){void 0!==y&&clearTimeout(y),k=0,v=_=g=y=void 0}function p(){return void 0===y?b:f(C())}function h(){var e=C(),n=l(e);if(v=arguments,g=this,_=e,n){if(void 0===y)return o(_);if(A)return y=setTimeout(u,t),r(_)}return void 0===y&&(y=setTimeout(u,t)),b}var v,g,m,b,y,_,k=0,O=!1,A=!1,E=!0;if("function"!=typeof e)throw new TypeError(c);return t=s(t)||0,i(n)&&(O=!!n.leading,A="maxWait"in n,m=A?x(s(n.maxWait)||0,t):m,E="trailing"in n?!!n.trailing:E),h.cancel=d,h.flush=p,h}function r(e,t,r){var o=!0,a=!0;if("function"!=typeof e)throw new TypeError(c);return i(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),n(e,t,{leading:o,maxWait:t,trailing:a})}function i(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function o(e){return!!e&&"object"==typeof e}function a(e){return"symbol"==typeof e||o(e)&&_.call(e)==u}function s(e){if("number"==typeof e)return e;if(a(e))return l;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(f,"");var n=p.test(e);return n||h.test(e)?v(e.slice(2),n?2:8):d.test(e)?l:+e}var c="Expected a function",l=NaN,u="[object Symbol]",f=/^\s+|\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,h=/^0o[0-7]+$/i,v=parseInt,g="object"==typeof t&&t&&t.Object===Object&&t,m="object"==typeof self&&self&&self.Object===Object&&self,b=g||m||Function("return this")(),y=Object.prototype,_=y.toString,x=Math.max,w=Math.min,C=function(){return b.Date.now()};e.exports=r}).call(t,n(58))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"container",staticClass:"vc-saturation",style:{background:e.bgColor},on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n("div",{staticClass:"vc-saturation--white"}),e._v(" "),n("div",{staticClass:"vc-saturation--black"}),e._v(" "),n("div",{staticClass:"vc-saturation-pointer",style:{top:e.pointerTop,left:e.pointerLeft}},[n("div",{staticClass:"vc-saturation-circle"})])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){var r=n(61);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("04f8680c",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-alpha {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-checkboard-wrap {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n overflow: hidden;\n}\n.vc-alpha-gradient {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-container {\n cursor: pointer;\n position: relative;\n z-index: 2;\n height: 100%;\n margin: 0 3px;\n}\n.vc-alpha-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-alpha-picker {\n cursor: pointer;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n}\n",""])},function(e,t,n){var r=n(63);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("004624a2",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-checkerboard {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n background-size: contain;\n}\n",""])},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{staticClass:"vc-checkerboard",style:e.bgStyle})},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"vc-alpha"},[n("div",{staticClass:"vc-alpha-checkboard-wrap"},[n("checkboard")],1),e._v(" "),n("div",{staticClass:"vc-alpha-gradient",style:{background:e.gradientColor}}),e._v(" "),n("div",{ref:"container",staticClass:"vc-alpha-container",on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n("div",{staticClass:"vc-alpha-pointer",style:{left:100*e.colors.a+"%"}},[n("div",{staticClass:"vc-alpha-picker"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["vc-photoshop",e.disableFields?"vc-photoshop__disable-fields":""]},[n("div",{staticClass:"vc-ps-head"},[e._v(e._s(e.head))]),e._v(" "),n("div",{staticClass:"vc-ps-body"},[n("div",{staticClass:"vc-ps-saturation-wrap"},[n("saturation",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1),e._v(" "),n("div",{staticClass:"vc-ps-hue-wrap"},[n("hue",{attrs:{direction:"vertical"},on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}},[n("div",{staticClass:"vc-ps-hue-pointer"},[n("i",{staticClass:"vc-ps-hue-pointer--left"}),n("i",{staticClass:"vc-ps-hue-pointer--right"})])])],1),e._v(" "),n("div",{class:["vc-ps-controls",e.disableFields?"vc-ps-controls__disable-fields":""]},[n("div",{staticClass:"vc-ps-previews"},[n("div",{staticClass:"vc-ps-previews__label"},[e._v("new")]),e._v(" "),n("div",{staticClass:"vc-ps-previews__swatches"},[n("div",{staticClass:"vc-ps-previews__pr-color",style:{background:e.colors.hex}}),e._v(" "),n("div",{staticClass:"vc-ps-previews__pr-color",style:{background:e.currentColor},on:{click:e.clickCurrentColor}})]),e._v(" "),n("div",{staticClass:"vc-ps-previews__label"},[e._v("current")])]),e._v(" "),e.disableFields?e._e():n("div",{staticClass:"vc-ps-actions"},[n("div",{staticClass:"vc-ps-ac-btn",on:{click:e.handleAccept}},[e._v("OK")]),e._v(" "),n("div",{staticClass:"vc-ps-ac-btn",on:{click:e.handleCancel}},[e._v("Cancel")]),e._v(" "),n("div",{staticClass:"vc-ps-fields"},[n("ed-in",{attrs:{label:"h",desc:"°",value:e.hsv.h},on:{change:e.inputChange}}),e._v(" "),n("ed-in",{attrs:{label:"s",desc:"%",value:e.hsv.s,max:100},on:{change:e.inputChange}}),e._v(" "),n("ed-in",{attrs:{label:"v",desc:"%",value:e.hsv.v,max:100},on:{change:e.inputChange}}),e._v(" "),n("div",{staticClass:"vc-ps-fields__divider"}),e._v(" "),n("ed-in",{attrs:{label:"r",value:e.colors.rgba.r},on:{change:e.inputChange}}),e._v(" "),n("ed-in",{attrs:{label:"g",value:e.colors.rgba.g},on:{change:e.inputChange}}),e._v(" "),n("ed-in",{attrs:{label:"b",value:e.colors.rgba.b},on:{change:e.inputChange}}),e._v(" "),n("div",{staticClass:"vc-ps-fields__divider"}),e._v(" "),n("ed-in",{staticClass:"vc-ps-fields__hex",attrs:{label:"#",value:e.hex},on:{change:e.inputChange}})],1)])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";function r(e){c||n(68)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(20),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(70),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Sketch.vue",t.default=f.exports},function(e,t,n){var r=n(69);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("e7574c18",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-sketch {\n position: relative;\n width: 200px;\n padding: 10px 10px 0;\n box-sizing: initial;\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15);\n}\n.vc-sketch-saturation-wrap {\n width: 100%;\n padding-bottom: 75%;\n position: relative;\n overflow: hidden;\n}\n.vc-sketch-controls {\n display: flex;\n}\n.vc-sketch-sliders {\n padding: 4px 0;\n flex: 1;\n}\n.vc-sketch-sliders .vc-hue,\n.vc-sketch-sliders .vc-alpha-gradient {\n border-radius: 2px;\n}\n.vc-sketch-hue-wrap {\n position: relative;\n height: 10px;\n}\n.vc-sketch-alpha-wrap {\n position: relative;\n height: 10px;\n margin-top: 4px;\n overflow: hidden;\n}\n.vc-sketch-color-wrap {\n width: 24px;\n height: 24px;\n position: relative;\n margin-top: 4px;\n margin-left: 4px;\n border-radius: 3px;\n}\n.vc-sketch-active-color {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 2px;\n box-shadow: inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25);\n z-index: 2;\n}\n.vc-sketch-color-wrap .vc-checkerboard {\n background-size: auto;\n}\n.vc-sketch-field {\n display: flex;\n padding-top: 4px;\n}\n.vc-sketch-field .vc-input__input {\n width: 80%;\n padding: 4px 10% 3px;\n border: none;\n box-shadow: inset 0 0 0 1px #ccc;\n font-size: 11px;\n}\n.vc-sketch-field .vc-input__label {\n display: block;\n text-align: center;\n font-size: 11px;\n color: #222;\n padding-top: 3px;\n padding-bottom: 4px;\n text-transform: capitalize;\n}\n.vc-sketch-field--single {\n flex: 1;\n padding-left: 6px;\n}\n.vc-sketch-field--double {\n flex: 2;\n}\n.vc-sketch-presets {\n margin-right: -10px;\n margin-left: -10px;\n padding-left: 10px;\n padding-top: 10px;\n border-top: 1px solid #eee;\n}\n.vc-sketch-presets-color {\n border-radius: 3px;\n overflow: hidden;\n position: relative;\n display: inline-block;\n margin: 0 10px 10px 0;\n vertical-align: top;\n cursor: pointer;\n width: 16px;\n height: 16px;\n box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);\n}\n.vc-sketch__disable-alpha .vc-sketch-color-wrap {\n height: 10px;\n}\n",""])},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["vc-sketch",e.disableAlpha?"vc-sketch__disable-alpha":""]},[n("div",{staticClass:"vc-sketch-saturation-wrap"},[n("saturation",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1),e._v(" "),n("div",{staticClass:"vc-sketch-controls"},[n("div",{staticClass:"vc-sketch-sliders"},[n("div",{staticClass:"vc-sketch-hue-wrap"},[n("hue",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1),e._v(" "),e.disableAlpha?e._e():n("div",{staticClass:"vc-sketch-alpha-wrap"},[n("alpha",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1)]),e._v(" "),n("div",{staticClass:"vc-sketch-color-wrap"},[n("div",{staticClass:"vc-sketch-active-color",style:{background:e.activeColor}}),e._v(" "),n("checkboard")],1)]),e._v(" "),e.disableFields?e._e():n("div",{staticClass:"vc-sketch-field"},[n("div",{staticClass:"vc-sketch-field--double"},[n("ed-in",{attrs:{label:"hex",value:e.hex},on:{change:e.inputChange}})],1),e._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"r",value:e.colors.rgba.r},on:{change:e.inputChange}})],1),e._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"g",value:e.colors.rgba.g},on:{change:e.inputChange}})],1),e._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"b",value:e.colors.rgba.b},on:{change:e.inputChange}})],1),e._v(" "),e.disableAlpha?e._e():n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"a",value:e.colors.a,"arrow-offset":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(" "),n("div",{staticClass:"vc-sketch-presets"},e._l(e.presetColors,function(t){return n("div",{key:t,staticClass:"vc-sketch-presets-color",style:{background:t},on:{click:function(n){e.handlePreset(t)}}})}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){"use strict";function r(e){c||n(72)}Object.defineProperty(t,"__esModule",{value:!0});var i=n(21),o=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(74),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file="src/components/Chrome.vue",t.default=f.exports},function(e,t,n){var r=n(73);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals),n(1)("2a2435f8",r,!1)},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,"\n.vc-chrome {\n background: #fff;\n border-radius: 2px;\n box-shadow: 0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3);\n box-sizing: initial;\n width: 225px;\n font-family: Menlo;\n background-color: #fff;\n}\n.vc-chrome-controls {\n display: flex;\n}\n.vc-chrome-color-wrap {\n position: relative;\n width: 36px;\n}\n.vc-chrome-active-color {\n position: relative;\n width: 30px;\n height: 30px;\n border-radius: 15px;\n overflow: hidden;\n z-index: 1;\n}\n.vc-chrome-color-wrap .vc-checkerboard {\n width: 30px;\n height: 30px;\n border-radius: 15px;\n background-size: auto;\n}\n.vc-chrome-sliders {\n flex: 1;\n}\n.vc-chrome-fields-wrap {\n display: flex;\n padding-top: 16px;\n}\n.vc-chrome-fields {\n display: flex;\n margin-left: -6px;\n flex: 1;\n}\n.vc-chrome-field {\n padding-left: 6px;\n width: 100%;\n}\n.vc-chrome-toggle-btn {\n width: 32px;\n text-align: right;\n position: relative;\n}\n.vc-chrome-toggle-icon {\n margin-right: -4px;\n margin-top: 12px;\n cursor: pointer;\n position: relative;\n z-index: 2;\n}\n.vc-chrome-toggle-icon-highlight {\n position: absolute;\n width: 24px;\n height: 28px;\n background: #eee;\n border-radius: 4px;\n top: 10px;\n left: 12px;\n}\n.vc-chrome-hue-wrap {\n position: relative;\n height: 10px;\n margin-bottom: 8px;\n}\n.vc-chrome-alpha-wrap {\n position: relative;\n height: 10px;\n}\n.vc-chrome-hue-wrap .vc-hue {\n border-radius: 2px;\n}\n.vc-chrome-alpha-wrap .vc-alpha-gradient {\n border-radius: 2px;\n}\n.vc-chrome-hue-wrap .vc-hue-picker, .vc-chrome-alpha-wrap .vc-alpha-picker {\n width: 12px;\n height: 12px;\n border-radius: 6px;\n transform: translate(-6px, -2px);\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.vc-chrome-body {\n padding: 16px 16px 12px;\n background-color: #fff;\n}\n.vc-chrome-saturation-wrap {\n width: 100%;\n padding-bottom: 55%;\n position: relative;\n border-radius: 2px 2px 0 0;\n overflow: hidden;\n}\n.vc-chrome-saturation-wrap .vc-saturation-circle {\n width: 12px;\n height: 12px;\n}\n.vc-chrome-fields .vc-input__input {\n font-size: 11px;\n color: #333;\n width: 100%;\n border-radius: 2px;\n border: none;\n box-shadow: inset 0 0 0 1px #dadada;\n height: 21px;\n text-align: center;\n}\n.vc-chrome-fields .vc-input__label {\n text-transform: uppercase;\n font-size: 11px;\n line-height: 11px;\n color: #969696;\n text-align: center;\n display: block;\n margin-top: 12px;\n}\n.vc-chrome__disable-alpha .vc-chrome-active-color {\n width: 18px;\n height: 18px;\n}\n.vc-chrome__disable-alpha .vc-chrome-color-wrap {\n width: 30px;\n}\n.vc-chrome__disable-alpha .vc-chrome-hue-wrap {\n margin-top: 4px;\n margin-bottom: 4px;\n}\n",""])},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["vc-chrome",e.disableAlpha?"vc-chrome__disable-alpha":""]},[n("div",{staticClass:"vc-chrome-saturation-wrap"},[n("saturation",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1),e._v(" "),n("div",{staticClass:"vc-chrome-body"},[n("div",{staticClass:"vc-chrome-controls"},[n("div",{staticClass:"vc-chrome-color-wrap"},[n("div",{staticClass:"vc-chrome-active-color",style:{background:e.activeColor}}),e._v(" "),e.disableAlpha?e._e():n("checkboard")],1),e._v(" "),n("div",{staticClass:"vc-chrome-sliders"},[n("div",{staticClass:"vc-chrome-hue-wrap"},[n("hue",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1),e._v(" "),e.disableAlpha?e._e():n("div",{staticClass:"vc-chrome-alpha-wrap"},[n("alpha",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:"colors"}})],1)])]),e._v(" "),e.disableFields?e._e():n("div",{staticClass:"vc-chrome-fields-wrap"},[n("div",{directives:[{name:"show",rawName:"v-show",value:0===e.fieldsIndex,expression:"fieldsIndex === 0"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"hex",value:e.colors.hex},on:{change:e.inputChange}})],1)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:1===e.fieldsIndex,expression:"fieldsIndex === 1"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"r",value:e.colors.rgba.r},on:{change:e.inputChange}})],1),e._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"g",value:e.colors.rgba.g},on:{change:e.inputChange}})],1),e._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"b",value:e.colors.rgba.b},on:{change:e.inputChange}})],1),e._v(" "),e.disableAlpha?e._e():n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"a",value:e.colors.a,"arrow-offset":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:2===e.fieldsIndex,expression:"fieldsIndex === 2"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"h",value:e.hsl.h},on:{change:e.inputChange}})],1),e._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"s",value:e.hsl.s},on:{change:e.inputChange}})],1),e._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"l",value:e.hsl.l},on:{change:e.inputChange}})],1),e._v(" "),e.disableAlpha?e._e():n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"a",value:e.colors.a,"arrow-offset":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(" "),n("div",{staticClass:"vc-chrome-toggle-btn",on:{click:e.toggleViews}},[n("div",{staticClass:"vc-chrome-toggle-icon"},[n("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24"},on:{mouseover:e.showHighlight,mouseenter:e.showHighlight,mouseout:e.hideHighlight}},[n("path",{attrs:{fill:"#333",d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}})])]),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.highlight,expression:"highlight"}],staticClass:"vc-chrome-toggle-icon-highlight"})])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o}])})},c366:function(e,t,n){var r=n("6821"),i=n("9def"),o=n("77f1");e.exports=function(e){return function(t,n,a){var s,c=r(t),l=i(c.length),u=o(a,l);if(e&&n!=n){while(l>u)if(s=c[u++],s!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}}},c69a:function(e,t,n){e.exports=!n("9e1e")&&!n("79e5")(function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a})},c7db:function(e,t,n){"use strict";var r=n("2b0e");r="default"in r?r["default"]:r;var i="2.2.2",o=/^2\./.test(r.version);o||r.util.warn("VueClickaway "+i+" only supports Vue 2.x, and does not support Vue "+r.version);var a="_vue_clickaway_handler";function s(e,t,n){c(e);var r=n.context,i=t.value;if("function"===typeof i){var o=!1;setTimeout(function(){o=!0},0),e[a]=function(t){var n=t.path||(t.composedPath?t.composedPath():void 0);if(o&&(n?n.indexOf(e)<0:!e.contains(t.target)))return i.call(r,t)},document.documentElement.addEventListener("click",e[a],!1)}}function c(e){document.documentElement.removeEventListener("click",e[a],!1),delete e[a]}var l={bind:s,update:function(e,t){t.value!==t.oldValue&&s(e,t)},unbind:c},u={directives:{onClickaway:l}};t.version=i,t.directive=l,t.mixin=u},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"===typeof window&&(n=window)}e.exports=n},ca5a:function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},cadf:function(e,t,n){"use strict";var r=n("9c6c"),i=n("d53b"),o=n("84f2"),a=n("6821");e.exports=n("01f9")(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(e,t,n){var r=n("d3f4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ce10:function(e,t,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");e.exports=function(e,t){var n,s=i(e),c=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);while(t.length>c)r(s,n=t[c++])&&(~o(l,n)||l.push(n));return l}},d3f4:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},d53b:function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},d8e8:function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},dcbc:function(e,t,n){var r=n("2aba");e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},e009:function(e,t,n){"use strict";var r={bind:function(e,t){var n={event:"mousedown",transition:600};i(Object.keys(t.modifiers),n),e.addEventListener(n.event,function(n){s(n,e,t.value)});var o=t.value||r.color||"rgba(0, 0, 0, 0.35)",a=r.zIndex||"9999";function s(e,t){var r=t,i=r.getBoundingClientRect(),s=i.left,c=i.top,l=r.offsetWidth,u=r.offsetHeight,f=e.clientX-s,d=e.clientY-c,p=Math.max(f,l-f),h=Math.max(d,u-d),v=window.getComputedStyle(r),g=Math.sqrt(p*p+h*h),m=document.createElement("div"),b=document.createElement("div");function y(){setTimeout(function(){m.style.backgroundColor="rgba(0, 0, 0, 0)"},250),setTimeout(function(){b.parentNode.removeChild(b)},850),t.removeEventListener("mouseup",y,!1)}m.style.marginTop="0px",m.style.marginLeft="0px",m.style.width="1px",m.style.height="1px",m.style.transition="all "+n.transition+"ms cubic-bezier(0.4, 0, 0.2, 1)",m.style.borderRadius="50%",m.style.pointerEvents="none",m.style.position="relative",m.style.zIndex=a,m.style.backgroundColor=o,b.style.position="absolute",b.style.left="0",b.style.top="0",b.style.height="0",b.style.width="0",b.style.pointerEvents="none",b.style.overflow="hidden",b.appendChild(m),document.body.appendChild(b),m.style.marginLeft=f+"px",m.style.marginTop=d+"px",b.style.left=s+((window.pageXOffset||document.scrollLeft)-(document.clientLeft||0)||0)+"px",b.style.top=c+((window.pageYOffset||document.scrollTop)-(document.clientTop||0)||0)+"px",b.style.width=l+"px",b.style.height=u+"px",b.style.borderTopLeftRadius=v.borderTopLeftRadius,b.style.borderTopRightRadius=v.borderTopRightRadius,b.style.borderBottomLeftRadius=v.borderBottomLeftRadius,b.style.borderBottomRightRadius=v.borderBottomRightRadius,b.style.direction="ltr",setTimeout(function(){m.style.width=2*g+"px",m.style.height=2*g+"px",m.style.marginLeft=f-g+"px",m.style.marginTop=d-g+"px"},0),"mousedown"===e.type?t.addEventListener("mouseup",y,!1):y()}}};function i(e,t){e.forEach(function(e){isNaN(Number(e))?t.event=e:t.transition=e})}t["a"]=r},e11e:function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},ebd6:function(e,t,n){var r=n("cb7c"),i=n("d8e8"),o=n("2b4c")("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},f605:function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},fab2:function(e,t,n){var r=n("7726").document;e.exports=r&&r.documentElement}}]); +//# sourceMappingURL=chunk-vendors.9ee2700a.js.map \ No newline at end of file diff --git a/dist/js/chunk-vendors.9ee2700a.js.map b/dist/js/chunk-vendors.9ee2700a.js.map new file mode 100644 index 0000000..797128c --- /dev/null +++ b/dist/js/chunk-vendors.9ee2700a.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.common.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/vue-color/dist/vue-color.min.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/vue-clickaway/dist/vue-clickaway.common.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/vue-ripple-directive/src/ripple.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_html.js"],"names":["LIBRARY","__webpack_require__","$export","redefine","hide","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","this","module","exports","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","key","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","prototype","$native","$default","$entries","undefined","$anyNative","entries","call","Object","name","values","P","F","anObject","that","result","global","ignoreCase","multiline","unicode","sticky","$keys","enumBugKeys","O","dP","getKeys","defineProperties","Properties","length","i","f","defer","channel","port","ctx","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","id","hasOwnProperty","fn","listener","event","data","args","arguments","push","Function","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","appendChild","removeChild","setTimeout","set","clear","iterator","value","e","ret","isObject","document","is","createElement","it","cof","ARG","tryGet","T","B","callee","classof","getIteratorMethod","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","d","__webpack_exports__","has","SRC","TO_STRING","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","style","display","src","contentWindow","open","write","close","create","emptyObject","freeze","isUndef","v","isDef","isTrue","isFalse","isPrimitive","obj","_toString","toString","isPlainObject","isRegExp","isValidArrayIndex","n","parseFloat","Math","floor","isFinite","JSON","stringify","toNumber","isNaN","makeMap","str","expectsLowerCase","map","list","toLowerCase","isReservedAttribute","remove","arr","item","index","indexOf","splice","hasOwn","cached","cache","hit","camelizeRE","camelize","replace","_","c","toUpperCase","capitalize","charAt","slice","hyphenateRE","hyphenate","polyfillBind","boundFn","a","l","apply","_length","nativeBind","bind","toArray","start","Array","extend","to","_from","toObject","res","noop","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArray","isArrayB","every","keysA","keysB","looseIndexOf","once","called","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","isReserved","charCodeAt","def","enumerable","defineProperty","writable","configurable","bailRE","parsePath","path","test","segments","_isServer","hasProto","inBrowser","window","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","isIE9","isEdge","isIOS","nativeWatch","watch","supportsPassive","opts","get","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Symbol","Reflect","ownKeys","Set","warn","uid","Dep","subs","addSub","sub","removeSub","depend","target","addDep","notify","update","targetStack","pushTarget","_target","popTarget","pop","VNode","tag","children","text","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","forEach","method","original","len","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","augment","protoAugment","copyAugment","walk","__proto__","observe","asRootData","isExtensible","_isVue","defineReactive","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","mergeAssets","type","key$1","props","inject","computed","provide","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","mergeOptions","extendsFrom","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","getPropDefaultValue","prevShouldObserve","default","_props","getType","match","isSameType","expectedTypes","handleError","err","info","cur","$parent","hooks","errorCaptured","capture","globalHandleError","logError","console","error","microTimerFunc","macroTimerFunc","callbacks","pending","flushCallbacks","copies","useMacroTask","Promise","p","resolve","then","withMacroTask","_withTask","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","old","params","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","attrs","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","last","shift","_isVList","ensureCtor","comp","base","__esModule","toStringTag","createAsyncPlaceholder","factory","resolveAsyncComponent","baseCtor","errorComp","resolved","loading","loadingComp","contexts","sync","forceRender","$forceUpdate","reject","reason","component","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","listeners","_parentListeners","updateComponentListeners","$once","$on","remove$1","$off","oldListeners","eventsMixin","Vue","hookRE","this$1","cbs","i$1","$emit","resolveSlots","slots","slot","name$1","isWhitespace","resolveScopedSlots","activeInstance","initLifecycle","abstract","$children","$refs","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","lifecycleMixin","_update","hydrating","callHook","prevEl","$el","prevVnode","_vnode","prevActiveInstance","__patch__","_parentElm","_refElm","__vue__","$destroy","teardown","_watchers","_data","mountComponent","el","updateComponent","_render","Watcher","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","_parentVnode","$attrs","$listeners","propKeys","_propKeys","$slots","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","j","activatedChildren","waiting","flushing","resetSchedulerState","flushSchedulerQueue","watcher","sort","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueActivatedComponent","queueWatcher","uid$1","expOrFn","isRenderWatcher","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","oldValue","evaluate","sharedPropertyDefinition","proxy","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","loop","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","handler","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","immediate","initProvide","_provided","initInjections","resolveInject","filter","provideKey","source","provideDefault","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","slotNodes","_rendered","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","_c","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","componentVNodeHooks","init","parentElm","refElm","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","$mount","oldVnode","insert","destroy","hooksToMerge","createComponent","_base","cid","resolveConstructorOptions","model","transformModel","nativeOn","installComponentHooks","_isComponent","inlineTemplate","callback","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","applyNS","registerDeepBindings","force","class","initRender","parentData","renderMixin","$nextTick","ref","uid$3","initMixin","_init","_uid","initInternalComponent","constructor","_self","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","extended","sealed","sealedOptions","dedupe","initUse","use","plugin","installedPlugins","_installedPlugins","unshift","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","RegExp","KeepAlive","include","exclude","Number","created","destroyed","mounted","ref$1","parseInt","builtInComponents","initGlobalAPI","configDef","util","delete","version","acceptValue","attr","isEnumeratedAttr","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","createTextNode","createComment","insertBefore","newNode","referenceNode","nextSibling","setTextContent","textContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","end","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","pre","hasChildNodes","innerHTML","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","nodeType","hasAttribute","removeAttribute","oldElm","parentElm$1","_leaveCb","patchable","i$2","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler","onceHandler","remove$2","add$1","updateDOMListeners","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","number","trim","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","s","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","o","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","createEvent","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","unbind","platformDirectives","transitionProps","mode","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","pos","getBoundingClientRect","beforeUpdate","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","body","offsetHeight","moved","transform","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","left","dy","top","platformComponents","store","USE_SYMBOL","$exports","un","createDesc","object","ArrayProto","flags","ObjectProto","descriptor","ceil","bitmap","isArrayIter","toLength","getIterFn","BREAK","RETURN","iterable","step","iterFn","TypeError","done","defined","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","aFunction","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","promiseResolve","PROMISE","versions","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","promise","FakePromise","exec","PromiseRejectionEvent","isThenable","isReject","chain","ok","reaction","exited","fail","domain","_h","onHandleUnhandled","exit","onUnhandled","unhandled","isUnhandled","onunhandledrejection","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","catch","C","G","W","S","r","capability","$$reject","x","iter","all","remaining","$index","alreadyCalled","race","core","SHARED","copyright","own","out","exp","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","U","R","SAFE_CLOSING","riter","skipClosing","shared","propertyIsEnumerable","IObject","valueOf","$flags","DESCRIPTORS","define","self","__g","installedModules","moduleId","m","__WEBPACK_IMPORTED_MODULE_0_tooltip_js__","__WEBPACK_IMPORTED_MODULE_1__utils__","defaultOptions","_extends","assign","_createClass","protoProps","staticProps","_get","receiver","desc","_classCallCheck","instance","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","positions","defaultPlacement","defaultClass","defaultTemplate","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","getOptions","placement","template","offset","container","getPlacement","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","SuperTooltip","_Tooltip","classes","_tooltipNode","oldClasses","_oldClasses","_pendingClasses","_classes","content","title","innerSelector","popperInstance","needPopperUpdate","needRestart","isOpen","_isOpen","dispose","_setEventListeners","reference","setClasses","_this2","_ref","func","_get2","_this3","_len","_key","createTooltip","tooltip","_tooltip","destroyTooltip","_ref2","_ref3","setContent","setOptions","convertToArray","addClasses","removeClasses","replaceClasses","newClasses","nativeHints","hint","isBrowser","longerTimeoutBrowsers","timeoutDuration","microtaskDebounce","scheduled","elem","observer","MutationObserver","attributes","taskDebounce","supportsNativeMutationObserver","debounce","isNumeric","setStyles","element","unit","functionToCheck","getStyleComputedProperty","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","isOffsetContainer","firstElementChild","offsetParent","getRoot","getOffsetParent","documentElement","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","bottom","right","getBordersSize","axis","sideA","sideB","getWindowSizes","height","scrollHeight","clientHeight","width","scrollWidth","offsetWidth","clientWidth","classCallCheck","getClientRect","offsets","isIE10","isIE10$1","appVersion","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","relativeOffset","innerWidth","innerHeight","isFixed","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","computeAutoPlacement","refRect","sides","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","marginBottom","y","marginRight","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","check","findIndex","runModifiers","ends","modifiersToRun","function","enabled","isDestroyed","flipped","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","disableEventListeners","removeOnDestroy","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","cancelAnimationFrame","setAttributes","applyStyle","x-placement","round","prefixedProperty","gpuAcceleration","willChange","arrow","arrowElement","applyStyleOnLoad","modifierOptions","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","isVertical","altSide","opSide","arrowElementSize","center","sideValue","min","getOppositeVariation","placements","validPlacements","clockwise","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","keepTogether","toValue","size","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","_data$offsets","preventOverflow","priority","primary","escapeWithReference","secondary","shiftvariation","shiftOffsets","bound","inner","subtractLength","onLoad","DEFAULTS","Popper","_this","Defaults","jquery","defaultConfig","userConfig","Utils","PopperUtils","__WEBPACK_IMPORTED_MODULE_0_popper_js__","createClass","DEFAULT_OPTIONS","Tooltip","_initialiseProps","allowHtml","tooltipGenerator","tooltipNode","random","substr","titleNode","titleText","innerText","_create","_findContainer","_append","popperOptions","arrowSelector","_hide","directEvents","oppositeEvents","evt","usedByTooltip","_scheduleShow","_scheduleHide","computedDelay","_show","_this4","isSet","_setTooltipNodeEvent","_this5","_dispose","toggle","relatedreference","toElement","evt2","relatedreference2","__WEBPACK_IMPORTED_MODULE_0__v_tooltip__","installed","VTooltip","GlobalVue","toInteger","SPECIES","KEY","stat","FProto","nameRE","macrotask","WebKitMutationObserver","head","flush","standalone","characterData","__e","IE8_DOM_DEFINE","toPrimitive","Attributes","UNSCOPABLES","PromiseCapability","$$resolve","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","promiseCapability","t","btoa","sources","sourceRoot","unescape","encodeURIComponent","u","parts","g","media","sourceMap","styleSheet","DEBUG","Error","getElementsByTagName","esModule","hsl","hex","setAlpha","toHsl","toHsv","toHexString","rgba","toRgb","hsv","oldHue","getAlpha","colors","colorChange","isValidHex","isValid","simpleCheckForValidColor","__file","palette","ed-in","pick","handlerClick","label","arrowOffset","input","handleChange","handleBlur","log","handleKeyDown","keyCode","preventDefault","handleDrag","handleMouseDown","onChange","direction","hue","activeOffset","swatches","hueChange","handleSwClick","pullDirection","directionClass","vc-hue--horizontal","vc-hue--vertical","pointerTop","pointerLeft","pageXOffset","pageYOffset","pageX","touches","pageY","handleMouseUp","unbindEventListeners","equal","disableFields","saturation","alpha","currentColor","toFixed","childChange","inputChange","clickCurrentColor","handleAccept","handleCancel","bgColor","throttle","leading","trailing","checkboard","gradientColor","getContext","fillStyle","fillRect","translate","toDataURL","white","grey","bgStyle","background-image","presetColors","disableAlpha","activeColor","handlePreset","fields","fieldsIndex","highlight","toggleViews","showHighlight","hideHighlight","w","k","A","M","E","D","Compact","Grayscale","Material","Slider","Swatches","Photoshop","Sketch","Chrome","Alpha","Checkboard","EditableInput","Hue","Saturation","ColorMixin","locals","_originalInput","_r","_roundA","q","_format","format","_gradientType","gradientType","_ok","_tc_id","$","z","L","V","X","H","desaturate","abs","K","CSS_UNIT","I","rgb","hsla","hsva","hex8","hex6","hex4","hex3","N","level","isDark","getBrightness","isLight","getOriginalInput","getFormat","getLuminance","pow","toHsvString","toHslString","toHex","toHex8","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","Y","toFilter","_applyModification","lighten","brighten","darken","saturate","greyscale","spin","_applyCombination","analogous","complement","monochromatic","splitcomplement","triad","tetrad","fromRatio","equals","mix","readability","isReadable","mostReadable","includeFallbackColors","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","hexNames","aria-label","keydown","_withStripped","vc-compact-color-item--white","background","click","vc-grayscale-color-item--white","borderColor","mousedown","touchmove","touchstart","data-index","vc-slider-swatch-picker--active","50","100","200","300","400","500","600","700","800","900","a100","a200","a400","a700","disabled","dividers","inactive","deepPurple","lightBlue","lightGreen","amber","deepOrange","blueGrey","darkText","lightText","darkIcons","lightIcons","data-pick","vc-swatches-color--white","data-color","viewBox","clearTimeout","maxWait","cancel","NaN","Date","eval","arrow-offset","mouseover","mouseenter","mouseout","fill","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","compatible","HANDLER","initialMacrotaskEnded","ev","composedPath","onClickaway","px","addToUnscopables","iterated","Arguments","arrayIndexOf","Ripple","setProps","rippler","bg","color","zIndex","clientX","clientY","maxX","maxY","radius","sqrt","ripple","rippleContainer","clearRipple","backgroundColor","borderRadius","pointerEvents","clientLeft","clientTop","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","forbiddenField"],"mappings":"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","file":"js/chunk-vendors.9ee2700a.js","sourcesContent":["'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","/*!\n * Vue.js v2.5.16\n * (c) 2014-2018 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// these helpers produces better vm code in JS engines due to their\n// explicitness and function inlining\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value e.g. [object Object]\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if a attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it... e.g.\n * PhantomJS 1.x. Technically we don't need this anymore since native bind is\n * now more performant in most browsers, but removing it would be breaking for\n * code that was able to run in PhantomJS 1.x, so this must be kept for\n * backwards compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\n\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured'\n];\n\n/* */\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n})\n\n/* */\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {};\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src, keys) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n if (!getter && arguments.length === 2) {\n val = obj[key];\n }\n var setter = property && property.set;\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!/^[a-zA-Z][\\w-]*$/.test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'can only contain alphanumeric characters and the hyphen, ' +\n 'and must start with a letter.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false && isObject(value) && ('@binding' in value))\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', ')) +\n \", got \" + (toRawType(value)) + \".\",\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n logError(e, null, 'config.errorHandler');\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n/* globals MessageChannel */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using both microtasks and (macro) tasks.\n// In < 2.4 we used microtasks everywhere, but there are some scenarios where\n// microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690) or even between bubbling of the same\n// event (#6566). However, using (macro) tasks everywhere also has subtle problems\n// when state is changed right before repaint (e.g. #6813, out-in transitions).\n// Here we use microtask by default, but expose a way to force (macro) task when\n// needed (e.g. in event handlers attached by v-on).\nvar microTimerFunc;\nvar macroTimerFunc;\nvar useMacroTask = false;\n\n// Determine (macro) task defer implementation.\n// Technically setImmediate should be the ideal choice, but it's only available\n// in IE. The only polyfill that consistently queues the callback after all DOM\n// events triggered in the same loop is by using MessageChannel.\n/* istanbul ignore if */\nif (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n macroTimerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else if (typeof MessageChannel !== 'undefined' && (\n isNative(MessageChannel) ||\n // PhantomJS\n MessageChannel.toString() === '[object MessageChannelConstructor]'\n)) {\n var channel = new MessageChannel();\n var port = channel.port2;\n channel.port1.onmessage = flushCallbacks;\n macroTimerFunc = function () {\n port.postMessage(1);\n };\n} else {\n /* istanbul ignore next */\n macroTimerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\n// Determine microtask defer implementation.\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n microTimerFunc = function () {\n p.then(flushCallbacks);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else {\n // fallback to macro\n microTimerFunc = macroTimerFunc;\n}\n\n/**\n * Wrap a function so that if any code inside triggers state change,\n * the changes are queued using a (macro) task instead of a microtask.\n */\nfunction withMacroTask (fn) {\n return fn._withTask || (fn._withTask = function () {\n useMacroTask = true;\n var res = fn.apply(null, arguments);\n useMacroTask = false;\n return res\n })\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n if (useMacroTask) {\n macroTimerFunc();\n } else {\n microTimerFunc();\n }\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n cloned[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, def, cur, old, event;\n for (name in on) {\n def = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n /* istanbul ignore if */\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.