/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ var Grav; /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./app/dashboard/backup.js": /*!*********************************!*\ !*** ./app/dashboard/backup.js ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/request */ \"./app/utils/request.js\");\n/* harmony import */ var _chart__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./chart */ \"./app/dashboard/chart.js\");\n\n\n\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-backup][data-ajax*=\"backup/\"]').on('click', function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var url = element.data('ajax');\n var inDropdown = element.closest('.dropdown-menu');\n (inDropdown.length ? inDropdown : element).closest('.button-group').find('> button:first').attr('disabled', 'disabled').find('> .fa').removeClass('fa-life-ring').addClass('fa-spin fa-refresh');\n (0,_utils_request__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, function /* response */\n () {\n if (_chart__WEBPACK_IMPORTED_MODULE_3__.Instances && _chart__WEBPACK_IMPORTED_MODULE_3__.Instances.backups) {\n _chart__WEBPACK_IMPORTED_MODULE_3__.Instances.backups.updateData({\n series: [0, 100]\n });\n _chart__WEBPACK_IMPORTED_MODULE_3__.Instances.backups.element.find('.numeric').html(\"0 \".concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.translations.PLUGIN_ADMIN.DAYS.toLowerCase(), \"\"));\n }\n (inDropdown.length ? inDropdown : element).closest('.button-group').find('> button:first').removeAttr('disabled').find('> .fa').removeClass('fa-spin fa-refresh').addClass('fa-life-ring');\n });\n});\njquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-backup][data-ajax*=\"backupDelete\"]').on('click', function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var url = element.data('ajax');\n var tr = element.closest('tr');\n tr.addClass('deleting');\n (0,_utils_request__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, function (response) {\n if (response.status === 'success') {\n tr.remove();\n } else {\n tr.removeClass('deleting');\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hcHAvZGFzaGJvYXJkL2JhY2t1cC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXVCO0FBQ29CO0FBQ0o7QUFDTztBQUU5Q0EsNkNBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDSyxFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVc7RUFDNUQsSUFBSUMsT0FBTyxHQUFHTiw2Q0FBQyxDQUFDLElBQUksQ0FBQztFQUNyQixJQUFJTyxHQUFHLEdBQUdELE9BQU8sQ0FBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQztFQUM5QixJQUFNQyxVQUFVLEdBQUdILE9BQU8sQ0FBQ0ksT0FBTyxDQUFDLGdCQUFnQixDQUFDO0VBRXBELENBQUNELFVBQVUsQ0FBQ0UsTUFBTSxHQUFHRixVQUFVLEdBQUdILE9BQU8sRUFDcENJLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQy9DQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUM1QkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztFQUU3RWIsMERBQU8sQ0FBQ0ssR0FBRyxFQUFFLFNBQUM7RUFBQSxHQUFtQjtJQUM3QixJQUFJSCw2Q0FBTSxJQUFJQSw2Q0FBTSxDQUFDWSxPQUFPLEVBQUU7TUFDMUJaLDZDQUFNLENBQUNZLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDO1FBQUVDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHO01BQUUsQ0FBQyxDQUFDO01BQy9DZCw2Q0FBTSxDQUFDWSxPQUFPLENBQUNWLE9BQU8sQ0FBQ00sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDTyxJQUFJLFVBQUFDLE1BQUEsQ0FBVW5CLHFEQUFZLENBQUNvQixZQUFZLENBQUNDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLENBQUMsVUFBTyxDQUFDO0lBQzlHO0lBRUEsQ0FBQ2QsVUFBVSxDQUFDRSxNQUFNLEdBQUdGLFVBQVUsR0FBR0gsT0FBTyxFQUNwQ0ksT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FDL0NZLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FDdEJaLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQ0UsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUNDLFFBQVEsQ0FBQyxjQUFjLENBQUM7RUFDakYsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUZmLDZDQUFDLENBQUMsMENBQTBDLENBQUMsQ0FBQ0ssRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFXO0VBQ2pFLElBQUlDLE9BQU8sR0FBR04sNkNBQUMsQ0FBQyxJQUFJLENBQUM7RUFDckIsSUFBSU8sR0FBRyxHQUFHRCxPQUFPLENBQUNFLElBQUksQ0FBQyxNQUFNLENBQUM7RUFDOUIsSUFBTWlCLEVBQUUsR0FBR25CLE9BQU8sQ0FBQ0ksT0FBTyxDQUFDLElBQUksQ0FBQztFQUNoQ2UsRUFBRSxDQUFDVixRQUFRLENBQUMsVUFBVSxDQUFDO0VBRXZCYiwwREFBTyxDQUFDSyxHQUFHLEVBQUUsVUFBQ21CLFFBQVEsRUFBSztJQUN2QixJQUFJQSxRQUFRLENBQUNDLE1BQU0sS0FBSyxTQUFTLEVBQUU7TUFDL0JGLEVBQUUsQ0FBQ0csTUFBTSxDQUFDLENBQUM7SUFDZixDQUFDLE1BQU07TUFDSEgsRUFBRSxDQUFDWCxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQzlCO0VBQ0osQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9kYXNoYm9hcmQvYmFja3VwLmpzPzFhYmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB7IHRyYW5zbGF0aW9ucyB9IGZyb20gJ2dyYXYtY29uZmlnJztcbmltcG9ydCByZXF1ZXN0IGZyb20gJy4uL3V0aWxzL3JlcXVlc3QnO1xuaW1wb3J0IHsgSW5zdGFuY2VzIGFzIENoYXJ0cyB9IGZyb20gJy4vY2hhcnQnO1xuXG4kKCdbZGF0YS1iYWNrdXBdW2RhdGEtYWpheCo9XCJiYWNrdXAvXCJdJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7XG4gICAgbGV0IGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgIGxldCB1cmwgPSBlbGVtZW50LmRhdGEoJ2FqYXgnKTtcbiAgICBjb25zdCBpbkRyb3Bkb3duID0gZWxlbWVudC5jbG9zZXN0KCcuZHJvcGRvd24tbWVudScpO1xuXG4gICAgKGluRHJvcGRvd24ubGVuZ3RoID8gaW5Ecm9wZG93biA6IGVsZW1lbnQpXG4gICAgICAgIC5jbG9zZXN0KCcuYnV0dG9uLWdyb3VwJykuZmluZCgnPiBidXR0b246Zmlyc3QnKVxuICAgICAgICAuYXR0cignZGlzYWJsZWQnLCAnZGlzYWJsZWQnKVxuICAgICAgICAuZmluZCgnPiAuZmEnKS5yZW1vdmVDbGFzcygnZmEtbGlmZS1yaW5nJykuYWRkQ2xhc3MoJ2ZhLXNwaW4gZmEtcmVmcmVzaCcpO1xuXG4gICAgcmVxdWVzdCh1cmwsICgvKiByZXNwb25zZSAqLykgPT4ge1xuICAgICAgICBpZiAoQ2hhcnRzICYmIENoYXJ0cy5iYWNrdXBzKSB7XG4gICAgICAgICAgICBDaGFydHMuYmFja3Vwcy51cGRhdGVEYXRhKHsgc2VyaWVzOiBbMCwgMTAwXSB9KTtcbiAgICAgICAgICAgIENoYXJ0cy5iYWNrdXBzLmVsZW1lbnQuZmluZCgnLm51bWVyaWMnKS5odG1sKGAwIDxlbT4ke3RyYW5zbGF0aW9ucy5QTFVHSU5fQURNSU4uREFZUy50b0xvd2VyQ2FzZSgpfTwvZW0+YCk7XG4gICAgICAgIH1cblxuICAgICAgICAoaW5Ecm9wZG93bi5sZW5ndGggPyBpbkRyb3Bkb3duIDogZWxlbWVudClcbiAgICAgICAgICAgIC5jbG9zZXN0KCcuYnV0dG9uLWdyb3VwJykuZmluZCgnPiBidXR0b246Zmlyc3QnKVxuICAgICAgICAgICAgLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJylcbiAgICAgICAgICAgIC5maW5kKCc+IC5mYScpLnJlbW92ZUNsYXNzKCdmYS1zcGluIGZhLXJlZnJlc2gnKS5hZGRDbGFzcygnZmEtbGlmZS1yaW5nJyk7XG4gICAgfSk7XG59KTtcblxuJCgnW2RhdGEtYmFja3VwXVtkYXRhLWFqYXgqPVwiYmFja3VwRGVsZXRlXCJdJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7XG4gICAgbGV0IGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgIGxldCB1cmwgPSBlbGVtZW50LmRhdGEoJ2FqYXgnKTtcbiAgICBjb25zdCB0ciA9IGVsZW1lbnQuY2xvc2VzdCgndHInKTtcbiAgICB0ci5hZGRDbGFzcygnZGVsZXRpbmcnKTtcblxuICAgIHJlcXVlc3QodXJsLCAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICB0ci5yZW1vdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyLnJlbW92ZUNsYXNzKCdkZWxldGluZycpO1xuICAgICAgICB9XG4gICAgfSk7XG59KTtcbiJdLCJuYW1lcyI6WyIkIiwidHJhbnNsYXRpb25zIiwicmVxdWVzdCIsIkluc3RhbmNlcyIsIkNoYXJ0cyIsIm9uIiwiZWxlbWVudCIsInVybCIsImRhdGEiLCJpbkRyb3Bkb3duIiwiY2xvc2VzdCIsImxlbmd0aCIsImZpbmQiLCJhdHRyIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsImJhY2t1cHMiLCJ1cGRhdGVEYXRhIiwic2VyaWVzIiwiaHRtbCIsImNvbmNhdCIsIlBMVUdJTl9BRE1JTiIsIkRBWVMiLCJ0b0xvd2VyQ2FzZSIsInJlbW92ZUF0dHIiLCJ0ciIsInJlc3BvbnNlIiwic3RhdHVzIiwicmVtb3ZlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/dashboard/backup.js\n\n}"); /***/ }), /***/ "./app/dashboard/cache.js": /*!********************************!*\ !*** ./app/dashboard/cache.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instance: () => (/* binding */ Instance),\n/* harmony export */ \"default\": () => (/* binding */ Cache)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_request__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/request */ \"./app/utils/request.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\nvar getUrl = function getUrl() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n if (type) {\n type = \"cleartype:\".concat(type, \"/\");\n }\n return \"\".concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.base_url_relative, \"/cache.json/task\").concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.param_sep, \"clearCache/\").concat(type, \"admin-nonce\").concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.param_sep).concat(grav_config__WEBPACK_IMPORTED_MODULE_1__.config.admin_nonce);\n};\nvar Cache = /*#__PURE__*/function () {\n function Cache() {\n var _this = this;\n _classCallCheck(this, Cache);\n this.element = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-clear-cache]');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('click', '[data-clear-cache]', function (event) {\n return _this.clear(event, event.target);\n });\n }\n return _createClass(Cache, [{\n key: \"clear\",\n value: function clear(event, element) {\n var _this2 = this;\n var type = '';\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n if (typeof event === 'string') {\n type = event;\n }\n element = element ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(element) : jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-clear-cache-type=\\\"\".concat(type, \"\\\"]\"));\n type = type || jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).data('clear-cache-type') || '';\n var url = element.data('clearCache') || getUrl(type);\n this.disable();\n (0,_utils_request__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, function () {\n return _this2.enable();\n });\n }\n }, {\n key: \"enable\",\n value: function enable() {\n this.element.removeAttr('disabled').find('> .fa').removeClass('fa-refresh fa-spin fa-retweet').addClass('fa-retweet');\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.element.attr('disabled', 'disabled').find('> .fa').removeClass('fa-retweet').addClass('fa-refresh fa-spin');\n }\n }]);\n}();\n\nvar Instance = new Cache();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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L0U7RUFBQztBQUFBO0FBL0JxQjtBQWtDMUIsSUFBSUcsUUFBUSxHQUFHLElBQUl2QixLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0dyYXYvLi9hcHAvZGFzaGJvYXJkL2NhY2hlLmpzP2NiMmIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ2dyYXYtY29uZmlnJztcbmltcG9ydCByZXF1ZXN0IGZyb20gJy4uL3V0aWxzL3JlcXVlc3QnO1xuXG5jb25zdCBnZXRVcmwgPSAodHlwZSA9ICcnKSA9PiB7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgdHlwZSA9IGBjbGVhcnR5cGU6JHt0eXBlfS9gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtjb25maWcuYmFzZV91cmxfcmVsYXRpdmV9L2NhY2hlLmpzb24vdGFzayR7Y29uZmlnLnBhcmFtX3NlcH1jbGVhckNhY2hlLyR7dHlwZX1hZG1pbi1ub25jZSR7Y29uZmlnLnBhcmFtX3NlcH0ke2NvbmZpZy5hZG1pbl9ub25jZX1gO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2FjaGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSAkKCdbZGF0YS1jbGVhci1jYWNoZV0nKTtcbiAgICAgICAgJCgnYm9keScpLm9uKCdjbGljaycsICdbZGF0YS1jbGVhci1jYWNoZV0nLCAoZXZlbnQpID0+IHRoaXMuY2xlYXIoZXZlbnQsIGV2ZW50LnRhcmdldCkpO1xuICAgIH1cblxuICAgIGNsZWFyKGV2ZW50LCBlbGVtZW50KSB7XG4gICAgICAgIGxldCB0eXBlID0gJyc7XG5cbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnByZXZlbnREZWZhdWx0KSB7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IH1cbiAgICAgICAgaWYgKHR5cGVvZiBldmVudCA9PT0gJ3N0cmluZycpIHsgdHlwZSA9IGV2ZW50OyB9XG5cbiAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQgPyAkKGVsZW1lbnQpIDogJChgW2RhdGEtY2xlYXItY2FjaGUtdHlwZT1cIiR7dHlwZX1cIl1gKTtcbiAgICAgICAgdHlwZSA9IHR5cGUgfHwgJChlbGVtZW50KS5kYXRhKCdjbGVhci1jYWNoZS10eXBlJykgfHwgJyc7XG4gICAgICAgIGxldCB1cmwgPSBlbGVtZW50LmRhdGEoJ2NsZWFyQ2FjaGUnKSB8fCBnZXRVcmwodHlwZSk7XG5cbiAgICAgICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICAgICAgcmVxdWVzdCh1cmwsICgpID0+IHRoaXMuZW5hYmxlKCkpO1xuICAgIH1cblxuICAgIGVuYWJsZSgpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50XG4gICAgICAgICAgICAucmVtb3ZlQXR0cignZGlzYWJsZWQnKVxuICAgICAgICAgICAgLmZpbmQoJz4gLmZhJykucmVtb3ZlQ2xhc3MoJ2ZhLXJlZnJlc2ggZmEtc3BpbiBmYS1yZXR3ZWV0JykuYWRkQ2xhc3MoJ2ZhLXJldHdlZXQnKTtcbiAgICB9XG5cbiAgICBkaXNhYmxlKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRcbiAgICAgICAgICAgIC5hdHRyKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpXG4gICAgICAgICAgICAuZmluZCgnPiAuZmEnKS5yZW1vdmVDbGFzcygnZmEtcmV0d2VldCcpLmFkZENsYXNzKCdmYS1yZWZyZXNoIGZhLXNwaW4nKTtcbiAgICB9XG59XG5cbmxldCBJbnN0YW5jZSA9IG5ldyBDYWNoZSgpO1xuXG5leHBvcnQgeyBJbnN0YW5jZSB9O1xuIl0sIm5hbWVzIjpbIiQiLCJjb25maWciLCJyZXF1ZXN0IiwiZ2V0VXJsIiwidHlwZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImNvbmNhdCIsImJhc2VfdXJsX3JlbGF0aXZlIiwicGFyYW1fc2VwIiwiYWRtaW5fbm9uY2UiLCJDYWNoZSIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiZWxlbWVudCIsIm9uIiwiZXZlbnQiLCJjbGVhciIsInRhcmdldCIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiX3RoaXMyIiwicHJldmVudERlZmF1bHQiLCJkYXRhIiwidXJsIiwiZGlzYWJsZSIsImVuYWJsZSIsInJlbW92ZUF0dHIiLCJmaW5kIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsImF0dHIiLCJkZWZhdWx0IiwiSW5zdGFuY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/cache.js\n\n}"); /***/ }), /***/ "./app/dashboard/chart.js": /*!********************************!*\ !*** ./app/dashboard/chart.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instances: () => (/* binding */ Instances),\n/* harmony export */ UpdatesChart: () => (/* binding */ UpdatesChart),\n/* harmony export */ \"default\": () => (/* binding */ Chart),\n/* harmony export */ defaults: () => (/* binding */ defaults)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var chartist__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! chartist */ \"./node_modules/chartist/dist/chartist.js\");\n/* harmony import */ var chartist__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(chartist__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_gpm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/gpm */ \"./app/utils/gpm.js\");\n/* harmony import */ var _updates__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../updates */ \"./app/updates/index.js\");\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && \"function\" == typeof p ? function (t) { return p.apply(e, t); } : p; }\nfunction _get() { return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }\nfunction _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n// let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\nvar defaults = {\n data: {\n series: [100, 0]\n },\n options: {\n Pie: {\n donut: true,\n donutWidth: 10,\n startAngle: 0,\n total: 100,\n showLabel: false,\n height: 150,\n // chartPadding: !isFirefox ? 10 : 25 // workaround for older versions of firefox\n chartPadding: 5\n },\n Bar: {\n height: 164,\n chartPadding: 20,\n // workaround for older versions of firefox\n\n axisX: {\n showGrid: false,\n labelOffset: {\n x: 0,\n y: 0\n }\n },\n axisY: {\n offset: 15,\n showLabel: true,\n showGrid: true,\n labelOffset: {\n x: 5,\n y: 5\n },\n scaleMinSpace: 25\n }\n }\n }\n};\nvar Chart = /*#__PURE__*/function () {\n function Chart(element) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n _classCallCheck(this, Chart);\n this.element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element) || [];\n if (!this.element[0]) {\n return;\n }\n var type = (this.element.data('chart-type') || 'pie').toLowerCase();\n this.type = type.charAt(0).toUpperCase() + type.substr(1).toLowerCase();\n options = Object.assign({}, defaults.options[this.type], options);\n data = Object.assign({}, defaults.data, data);\n Object.assign(this, {\n options: options,\n data: data\n });\n this.chart = (chartist__WEBPACK_IMPORTED_MODULE_1___default())[this.type](this.element.find('.ct-chart').empty()[0], this.data, this.options);\n this.chart.on('created', function () {\n _this.element.find('.hidden').removeClass('hidden');\n\n // FIX: workaround for chartist issue not allowing HTML in labels anymore\n // https://github.com/gionkunz/chartist-js/issues/937\n _this.element.find('.ct-label').each(function (index, label) {\n label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(label);\n var text = label.html().replace('<', '<').replace('>', '>');\n label.html(text);\n });\n });\n }\n return _createClass(Chart, [{\n key: \"updateData\",\n value: function updateData(data) {\n Object.assign(this.data, data);\n this.chart.update(this.data);\n }\n }]);\n}();\n\n;\nvar UpdatesChart = /*#__PURE__*/function (_Chart) {\n function UpdatesChart(element) {\n var _this2;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n _classCallCheck(this, UpdatesChart);\n _this2 = _callSuper(this, UpdatesChart, [element, options, data]);\n _this2.chart.on('draw', function (data) {\n return _this2.draw(data);\n });\n _utils_gpm__WEBPACK_IMPORTED_MODULE_3__.Instance.on('fetched', function (response) {\n if (!response.payload) {\n return;\n }\n var payload = response.payload.grav;\n var missing = (response.payload.resources.total + (payload.isUpdatable ? 1 : 0)) * 100 / (response.payload.installed + (payload.isUpdatable ? 1 : 0));\n var updated = 100 - missing;\n _this2.updateData({\n series: [updated, missing]\n });\n if (response.payload.resources.total) {\n _updates__WEBPACK_IMPORTED_MODULE_4__.Instance.maintenance('show');\n }\n });\n return _this2;\n }\n _inherits(UpdatesChart, _Chart);\n return _createClass(UpdatesChart, [{\n key: \"draw\",\n value: function draw(data) {\n if (data.index) {\n return;\n }\n var notice = grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.PLUGIN_ADMIN[data.value === 100 ? 'FULLY_UPDATED' : 'UPDATES_AVAILABLE'];\n this.element.find('.numeric span').text(\"\".concat(Math.round(data.value), \"%\"));\n this.element.find('.js__updates-available-description').html(notice);\n this.element.find('.hidden').removeClass('hidden');\n }\n }, {\n key: \"updateData\",\n value: function updateData(data) {\n _superPropGet(UpdatesChart, \"updateData\", this, 3)([data]);\n\n // missing updates\n if (this.data.series[0] < 100) {\n this.element.closest('#updates').find('[data-update-packages]').fadeIn();\n }\n }\n }]);\n}(Chart);\nvar charts = {};\njquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-chart-name]').each(function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var name = element.data('chart-name') || '';\n var options = element.data('chart-options') || {};\n var data = element.data('chart-data') || {};\n if (name === 'updates') {\n charts[name] = new UpdatesChart(element, options, data);\n } else {\n charts[name] = new Chart(element, options, data);\n }\n});\nvar Instances = charts;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUM1RTtJQUNKO0VBQUM7QUFBQSxFQXJDNkJyRCxLQUFLO0FBd0N2QyxJQUFJc0QsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmakYsNkNBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDOEMsSUFBSSxDQUFDLFlBQVc7RUFDbkMsSUFBSWxCLE9BQU8sR0FBRzVCLDZDQUFDLENBQUMsSUFBSSxDQUFDO0VBQ3JCLElBQUlrRixJQUFJLEdBQUd0RCxPQUFPLENBQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtFQUMzQyxJQUFJRSxPQUFPLEdBQUdtQixPQUFPLENBQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0VBQ2pELElBQUlBLElBQUksR0FBR3FCLE9BQU8sQ0FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7RUFFM0MsSUFBSTJFLElBQUksS0FBSyxTQUFTLEVBQUU7SUFDcEJELE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLEdBQUcsSUFBSXhCLFlBQVksQ0FBQzlCLE9BQU8sRUFBRW5CLE9BQU8sRUFBRUYsSUFBSSxDQUFDO0VBQzNELENBQUMsTUFBTTtJQUNIMEUsTUFBTSxDQUFDQyxJQUFJLENBQUMsR0FBRyxJQUFJdkQsS0FBSyxDQUFDQyxPQUFPLEVBQUVuQixPQUFPLEVBQUVGLElBQUksQ0FBQztFQUNwRDtBQUNKLENBQUMsQ0FBQztBQUVLLElBQUk0RSxTQUFTLEdBQUdGLE1BQU0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9jaGFydC5qcz8xZTg2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgY2hhcnRpc3QgZnJvbSAnY2hhcnRpc3QnO1xuaW1wb3J0IHsgdHJhbnNsYXRpb25zIH0gZnJvbSAnZ3Jhdi1jb25maWcnO1xuaW1wb3J0IHsgSW5zdGFuY2UgYXMgZ3BtIH0gZnJvbSAnLi4vdXRpbHMvZ3BtJztcbmltcG9ydCB7IEluc3RhbmNlIGFzIHVwZGF0ZXMgfSBmcm9tICcuLi91cGRhdGVzJztcblxuLy8gbGV0IGlzRmlyZWZveCA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdmaXJlZm94JykgPiAtMTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzID0ge1xuICAgIGRhdGE6IHtcbiAgICAgICAgc2VyaWVzOiBbMTAwLCAwXVxuICAgIH0sXG4gICAgb3B0aW9uczoge1xuICAgICAgICBQaWU6IHtcbiAgICAgICAgICAgIGRvbnV0OiB0cnVlLFxuICAgICAgICAgICAgZG9udXRXaWR0aDogMTAsXG4gICAgICAgICAgICBzdGFydEFuZ2xlOiAwLFxuICAgICAgICAgICAgdG90YWw6IDEwMCxcbiAgICAgICAgICAgIHNob3dMYWJlbDogZmFsc2UsXG4gICAgICAgICAgICBoZWlnaHQ6IDE1MCxcbiAgICAgICAgICAgIC8vIGNoYXJ0UGFkZGluZzogIWlzRmlyZWZveCA/IDEwIDogMjUgLy8gd29ya2Fyb3VuZCBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgZmlyZWZveFxuICAgICAgICAgICAgY2hhcnRQYWRkaW5nOiA1XG4gICAgICAgIH0sXG4gICAgICAgIEJhcjoge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNjQsXG4gICAgICAgICAgICBjaGFydFBhZGRpbmc6IDIwLCAvLyB3b3JrYXJvdW5kIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBmaXJlZm94XG5cbiAgICAgICAgICAgIGF4aXNYOiB7XG4gICAgICAgICAgICAgICAgc2hvd0dyaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxhYmVsT2Zmc2V0OiB7XG4gICAgICAgICAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICAgICAgICAgIHk6IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXhpc1k6IHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgICAgICAgIHNob3dMYWJlbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzaG93R3JpZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBsYWJlbE9mZnNldDoge1xuICAgICAgICAgICAgICAgICAgICB4OiA1LFxuICAgICAgICAgICAgICAgICAgICB5OiA1XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzY2FsZU1pblNwYWNlOiAyNVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hhcnQge1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIG9wdGlvbnMgPSB7fSwgZGF0YSA9IHt9KSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9ICQoZWxlbWVudCkgfHwgW107XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50WzBdKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGxldCB0eXBlID0gKHRoaXMuZWxlbWVudC5kYXRhKCdjaGFydC10eXBlJykgfHwgJ3BpZScpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eXBlLnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0cy5vcHRpb25zW3RoaXMudHlwZV0sIG9wdGlvbnMpO1xuICAgICAgICBkYXRhID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMuZGF0YSwgZGF0YSk7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywge1xuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2hhcnQgPSBjaGFydGlzdFt0aGlzLnR5cGVdKHRoaXMuZWxlbWVudC5maW5kKCcuY3QtY2hhcnQnKS5lbXB0eSgpWzBdLCB0aGlzLmRhdGEsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHRoaXMuY2hhcnQub24oJ2NyZWF0ZWQnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLmhpZGRlbicpLnJlbW92ZUNsYXNzKCdoaWRkZW4nKTtcblxuICAgICAgICAgICAgLy8gRklYOiB3b3JrYXJvdW5kIGZvciBjaGFydGlzdCBpc3N1ZSBub3QgYWxsb3dpbmcgSFRNTCBpbiBsYWJlbHMgYW55bW9yZVxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2dpb25rdW56L2NoYXJ0aXN0LWpzL2lzc3Vlcy85MzdcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCcuY3QtbGFiZWwnKS5lYWNoKChpbmRleCwgbGFiZWwpID0+IHtcbiAgICAgICAgICAgICAgICBsYWJlbCA9ICQobGFiZWwpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBsYWJlbC5odG1sKCkucmVwbGFjZSgnJmx0OycsICc8JykucmVwbGFjZSgnJmd0OycsICc+Jyk7XG4gICAgICAgICAgICAgICAgbGFiZWwuaHRtbCh0ZXh0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRhKGRhdGEpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmRhdGEsIGRhdGEpO1xuICAgICAgICB0aGlzLmNoYXJ0LnVwZGF0ZSh0aGlzLmRhdGEpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVzQ2hhcnQgZXh0ZW5kcyBDaGFydCB7XG4gICAgY29uc3RydWN0b3IoZWxlbWVudCwgb3B0aW9ucyA9IHt9LCBkYXRhID0ge30pIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudCwgb3B0aW9ucywgZGF0YSk7XG5cbiAgICAgICAgdGhpcy5jaGFydC5vbignZHJhdycsIChkYXRhKSA9PiB0aGlzLmRyYXcoZGF0YSkpO1xuXG4gICAgICAgIGdwbS5vbignZmV0Y2hlZCcsIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5wYXlsb2FkKSB7IHJldHVybjsgfVxuXG4gICAgICAgICAgICBsZXQgcGF5bG9hZCA9IHJlc3BvbnNlLnBheWxvYWQuZ3JhdjtcbiAgICAgICAgICAgIGxldCBtaXNzaW5nID0gKHJlc3BvbnNlLnBheWxvYWQucmVzb3VyY2VzLnRvdGFsICsgKHBheWxvYWQuaXNVcGRhdGFibGUgPyAxIDogMCkpICogMTAwIC8gKHJlc3BvbnNlLnBheWxvYWQuaW5zdGFsbGVkICsgKHBheWxvYWQuaXNVcGRhdGFibGUgPyAxIDogMCkpO1xuICAgICAgICAgICAgbGV0IHVwZGF0ZWQgPSAxMDAgLSBtaXNzaW5nO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZURhdGEoeyBzZXJpZXM6IFt1cGRhdGVkLCBtaXNzaW5nXSB9KTtcblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnBheWxvYWQucmVzb3VyY2VzLnRvdGFsKSB7XG4gICAgICAgICAgICAgICAgdXBkYXRlcy5tYWludGVuYW5jZSgnc2hvdycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkcmF3KGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEuaW5kZXgpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgbGV0IG5vdGljZSA9IHRyYW5zbGF0aW9ucy5QTFVHSU5fQURNSU5bZGF0YS52YWx1ZSA9PT0gMTAwID8gJ0ZVTExZX1VQREFURUQnIDogJ1VQREFURVNfQVZBSUxBQkxFJ107XG4gICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCcubnVtZXJpYyBzcGFuJykudGV4dChgJHtNYXRoLnJvdW5kKGRhdGEudmFsdWUpfSVgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LmZpbmQoJy5qc19fdXBkYXRlcy1hdmFpbGFibGUtZGVzY3JpcHRpb24nKS5odG1sKG5vdGljZSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCcuaGlkZGVuJykucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpO1xuICAgIH1cblxuICAgIHVwZGF0ZURhdGEoZGF0YSkge1xuICAgICAgICBzdXBlci51cGRhdGVEYXRhKGRhdGEpO1xuXG4gICAgICAgIC8vIG1pc3NpbmcgdXBkYXRlc1xuICAgICAgICBpZiAodGhpcy5kYXRhLnNlcmllc1swXSA8IDEwMCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsb3Nlc3QoJyN1cGRhdGVzJykuZmluZCgnW2RhdGEtdXBkYXRlLXBhY2thZ2VzXScpLmZhZGVJbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sZXQgY2hhcnRzID0ge307XG5cbiQoJ1tkYXRhLWNoYXJ0LW5hbWVdJykuZWFjaChmdW5jdGlvbigpIHtcbiAgICBsZXQgZWxlbWVudCA9ICQodGhpcyk7XG4gICAgbGV0IG5hbWUgPSBlbGVtZW50LmRhdGEoJ2NoYXJ0LW5hbWUnKSB8fCAnJztcbiAgICBsZXQgb3B0aW9ucyA9IGVsZW1lbnQuZGF0YSgnY2hhcnQtb3B0aW9ucycpIHx8IHt9O1xuICAgIGxldCBkYXRhID0gZWxlbWVudC5kYXRhKCdjaGFydC1kYXRhJykgfHwge307XG5cbiAgICBpZiAobmFtZSA9PT0gJ3VwZGF0ZXMnKSB7XG4gICAgICAgIGNoYXJ0c1tuYW1lXSA9IG5ldyBVcGRhdGVzQ2hhcnQoZWxlbWVudCwgb3B0aW9ucywgZGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY2hhcnRzW25hbWVdID0gbmV3IENoYXJ0KGVsZW1lbnQsIG9wdGlvbnMsIGRhdGEpO1xuICAgIH1cbn0pO1xuXG5leHBvcnQgbGV0IEluc3RhbmNlcyA9IGNoYXJ0cztcbiJdLCJuYW1lcyI6WyIkIiwiY2hhcnRpc3QiLCJ0cmFuc2xhdGlvbnMiLCJJbnN0YW5jZSIsImdwbSIsInVwZGF0ZXMiLCJkZWZhdWx0cyIsImRhdGEiLCJzZXJpZXMiLCJvcHRpb25zIiwiUGllIiwiZG9udXQiLCJkb251dFdpZHRoIiwic3RhcnRBbmdsZSIsInRvdGFsIiwic2hvd0xhYmVsIiwiaGVpZ2h0IiwiY2hhcnRQYWRkaW5nIiwiQmFyIiwiYXhpc1giLCJzaG93R3JpZCIsImxhYmVsT2Zmc2V0IiwieCIsInkiLCJheGlzWSIsIm9mZnNldCIsInNjYWxlTWluU3BhY2UiLCJDaGFydCIsImVsZW1lbnQiLCJfdGhpcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9jbGFzc0NhbGxDaGVjayIsInR5cGUiLCJ0b0xvd2VyQ2FzZSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic3Vic3RyIiwiT2JqZWN0IiwiYXNzaWduIiwiY2hhcnQiLCJmaW5kIiwiZW1wdHkiLCJvbiIsInJlbW92ZUNsYXNzIiwiZWFjaCIsImluZGV4IiwibGFiZWwiLCJ0ZXh0IiwiaHRtbCIsInJlcGxhY2UiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsInVwZGF0ZURhdGEiLCJ1cGRhdGUiLCJkZWZhdWx0IiwiVXBkYXRlc0NoYXJ0IiwiX0NoYXJ0IiwiX3RoaXMyIiwiX2NhbGxTdXBlciIsImRyYXciLCJyZXNwb25zZSIsInBheWxvYWQiLCJncmF2IiwibWlzc2luZyIsInJlc291cmNlcyIsImlzVXBkYXRhYmxlIiwiaW5zdGFsbGVkIiwidXBkYXRlZCIsIm1haW50ZW5hbmNlIiwiX2luaGVyaXRzIiwibm90aWNlIiwiUExVR0lOX0FETUlOIiwiY29uY2F0IiwiTWF0aCIsInJvdW5kIiwiX3N1cGVyUHJvcEdldCIsImNsb3Nlc3QiLCJmYWRlSW4iLCJjaGFydHMiLCJuYW1lIiwiSW5zdGFuY2VzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/dashboard/chart.js\n\n}"); /***/ }), /***/ "./app/dashboard/index.js": /*!********************************!*\ !*** ./app/dashboard/index.js ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _chart__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chart */ \"./app/dashboard/chart.js\");\n/* harmony import */ var _cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cache */ \"./app/dashboard/cache.js\");\n/* harmony import */ var _backup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./backup */ \"./app/dashboard/backup.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n Chart: {\n Chart: _chart__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n UpdatesChart: _chart__WEBPACK_IMPORTED_MODULE_0__.UpdatesChart,\n Instances: _chart__WEBPACK_IMPORTED_MODULE_0__.Instances\n },\n Cache: _cache__WEBPACK_IMPORTED_MODULE_1__.Instance\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hcHAvZGFzaGJvYXJkL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBeUQ7QUFDYjtBQUMxQjtBQUVsQixpRUFBZTtFQUNYQSxLQUFLLEVBQUU7SUFDSEEsS0FBSyxFQUFMQSw4Q0FBSztJQUNMQyxZQUFZLEVBQVpBLGdEQUFZO0lBQ1pDLFNBQVMsRUFBVEEsNkNBQVNBO0VBQ2IsQ0FBQztFQUNERSxLQUFLLEVBQUxBLDRDQUFLQTtBQUNULENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9pbmRleC5qcz9hMTk1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDaGFydCwgeyBVcGRhdGVzQ2hhcnQsIEluc3RhbmNlcyB9IGZyb20gJy4vY2hhcnQnO1xuaW1wb3J0IHsgSW5zdGFuY2UgYXMgQ2FjaGUgfSBmcm9tICcuL2NhY2hlJztcbmltcG9ydCAnLi9iYWNrdXAnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgQ2hhcnQ6IHtcbiAgICAgICAgQ2hhcnQsXG4gICAgICAgIFVwZGF0ZXNDaGFydCxcbiAgICAgICAgSW5zdGFuY2VzXG4gICAgfSxcbiAgICBDYWNoZVxufTtcbiJdLCJuYW1lcyI6WyJDaGFydCIsIlVwZGF0ZXNDaGFydCIsIkluc3RhbmNlcyIsIkluc3RhbmNlIiwiQ2FjaGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/index.js\n\n}"); /***/ }), /***/ "./app/forms/fields/acl-picker.js": /*!****************************************!*\ !*** ./app/forms/fields/acl-picker.js ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\nbody.on('change', '[data-acl_picker] select', function (event) {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var value = target.val();\n var item = target.closest('.permissions-item');\n var inputs = item.find('input[type=\"checkbox\"], input[type=\"radio\"]');\n var hidden = item.find('input[type=\"hidden\"][name]');\n var wrapper = target.closest('[data-acl_picker_id]');\n var type = item.data('fieldType');\n if (type === 'access') {\n inputs.each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var name = input.prop('name');\n input.prop('name', name.replace(/(.*)(\\[[^\\]]*\\])/, \"$1[\".concat(value, \"]\")));\n });\n } else if (type === 'permissions') {\n var crudpContainer = item.find('[data-field-name]');\n inputs.each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var rand = Math.round(Math.random() * 500);\n var name = crudpContainer.data('fieldName');\n var id = input.prop('id').split('_').slice(0, -1).join('_') + \"_\".concat(value, \"+\").concat(rand);\n // const key = input.data('crudpKey');\n hidden.prop('name', name.replace(/(.*)(\\[[^\\]]*\\])/, \"$1[\".concat(value, \"]\")));\n input.prop('id', id);\n input.next('label').prop('for', id);\n });\n }\n wrapper.find('.permissions-item .button.add-item')[!value ? 'addClass' : 'removeClass']('disabled').prop('disabled', !value ? 'disabled' : null);\n});\nbody.on('input', 'input[data-crudp-key]', function (event) {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var container = target.closest('.crudp-container');\n var hidden = container.find('input[type=\"hidden\"][name]');\n var key = target.data('crudpKey');\n var json = JSON.parse(hidden.val() || '{}');\n json[key] = target.val();\n hidden.val(JSON.stringify(json));\n});\nbody.on('click', '[data-acl_picker] .remove-item', function (event) {\n event.preventDefault();\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var container = target.closest('.permissions-item');\n var wrapper = target.closest('[data-acl_picker_id]');\n container.remove();\n var empty = wrapper.find('.permissions-item').length === 1;\n\n // show the initial + button\n if (empty) {\n wrapper.find('.permissions-item.empty-list').removeClass('hidden');\n }\n});\nbody.on('click', '[data-acl_picker] .add-item', function (event) {\n event.preventDefault();\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = target.closest('.permissions-item');\n var wrapper = target.closest('[data-acl_picker_id]');\n var ID = wrapper.data('acl_picker_id');\n var template = document.querySelector(\"template[data-id=\\\"acl_picker-\".concat(ID, \"\\\"]\"));\n var clone = jquery__WEBPACK_IMPORTED_MODULE_0___default()(template.content.firstElementChild).clone();\n clone.insertAfter(item);\n\n // randomize ids\n clone.find('.switch-toggle input[type=\"radio\"]').each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var id = input.prop('id');\n var label = input.next('label');\n var rand = (Date.now().toString(36) + Math.random().toString(36).substr(2, 5)).toLowerCase();\n input.prop('id', \"\".concat(id).concat(rand));\n label.prop('for', \"\".concat(id).concat(rand));\n });\n\n // hide the initial + button\n wrapper.find('.permissions-item.empty-list').addClass('hidden');\n\n // disable all + buttons until one is selected\n wrapper.find('.permissions-item .button.add-item').addClass('disabled').prop('disabled', 'disabled');\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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R2xDLEtBQUssQ0FBQ2MsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNqQyxJQUFNUixJQUFJLEdBQUcsQ0FBQzZCLElBQUksQ0FBQ0MsR0FBRyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHOUIsSUFBSSxDQUFDRSxNQUFNLENBQUMsQ0FBQyxDQUFDNEIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFQyxXQUFXLENBQUMsQ0FBQztJQUU5RnZDLEtBQUssQ0FBQ0UsSUFBSSxDQUFDLElBQUksS0FBQUUsTUFBQSxDQUFLTSxFQUFFLEVBQUFOLE1BQUEsQ0FBR0UsSUFBSSxDQUFFLENBQUM7SUFDaEM0QixLQUFLLENBQUNoQyxJQUFJLENBQUMsS0FBSyxLQUFBRSxNQUFBLENBQUtNLEVBQUUsRUFBQU4sTUFBQSxDQUFHRSxJQUFJLENBQUUsQ0FBQztFQUNyQyxDQUFDLENBQUM7O0VBRUY7RUFDQVgsT0FBTyxDQUFDRixJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQytDLFFBQVEsQ0FBQyxRQUFRLENBQUM7O0VBRS9EO0VBQ0E3QyxPQUFPLENBQUNGLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDK0MsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDdEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7QUFDeEcsQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9mb3Jtcy9maWVsZHMvYWNsLXBpY2tlci5qcz9kZjg3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5cbmNvbnN0IGJvZHkgPSAkKCdib2R5Jyk7XG5cbmJvZHkub24oJ2NoYW5nZScsICdbZGF0YS1hY2xfcGlja2VyXSBzZWxlY3QnLCAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGNvbnN0IHZhbHVlID0gdGFyZ2V0LnZhbCgpO1xuICAgIGNvbnN0IGl0ZW0gPSB0YXJnZXQuY2xvc2VzdCgnLnBlcm1pc3Npb25zLWl0ZW0nKTtcbiAgICBjb25zdCBpbnB1dHMgPSBpdGVtLmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdJyk7XG4gICAgY29uc3QgaGlkZGVuID0gaXRlbS5maW5kKCdpbnB1dFt0eXBlPVwiaGlkZGVuXCJdW25hbWVdJyk7XG4gICAgY29uc3Qgd3JhcHBlciA9IHRhcmdldC5jbG9zZXN0KCdbZGF0YS1hY2xfcGlja2VyX2lkXScpO1xuICAgIGNvbnN0IHR5cGUgPSBpdGVtLmRhdGEoJ2ZpZWxkVHlwZScpO1xuXG4gICAgaWYgKHR5cGUgPT09ICdhY2Nlc3MnKSB7XG4gICAgICAgIGlucHV0cy5lYWNoKChpbmRleCwgaW5wdXQpID0+IHtcbiAgICAgICAgICAgIGlucHV0ID0gJChpbnB1dCk7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gaW5wdXQucHJvcCgnbmFtZScpO1xuICAgICAgICAgICAgaW5wdXQucHJvcCgnbmFtZScsIG5hbWUucmVwbGFjZSgvKC4qKShcXFtbXlxcXV0qXFxdKS8sIGAkMVske3ZhbHVlfV1gKSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3Blcm1pc3Npb25zJykge1xuICAgICAgICBjb25zdCBjcnVkcENvbnRhaW5lciA9IGl0ZW0uZmluZCgnW2RhdGEtZmllbGQtbmFtZV0nKTtcbiAgICAgICAgaW5wdXRzLmVhY2goKGluZGV4LCBpbnB1dCkgPT4ge1xuICAgICAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcbiAgICAgICAgICAgIGNvbnN0IHJhbmQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiA1MDApO1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGNydWRwQ29udGFpbmVyLmRhdGEoJ2ZpZWxkTmFtZScpO1xuICAgICAgICAgICAgY29uc3QgaWQgPSBpbnB1dC5wcm9wKCdpZCcpLnNwbGl0KCdfJykuc2xpY2UoMCwgLTEpLmpvaW4oJ18nKSArIGBfJHt2YWx1ZX0rJHtyYW5kfWA7XG4gICAgICAgICAgICAvLyBjb25zdCBrZXkgPSBpbnB1dC5kYXRhKCdjcnVkcEtleScpO1xuICAgICAgICAgICAgaGlkZGVuLnByb3AoJ25hbWUnLCBuYW1lLnJlcGxhY2UoLyguKikoXFxbW15cXF1dKlxcXSkvLCBgJDFbJHt2YWx1ZX1dYCkpO1xuICAgICAgICAgICAgaW5wdXQucHJvcCgnaWQnLCBpZCk7XG4gICAgICAgICAgICBpbnB1dC5uZXh0KCdsYWJlbCcpLnByb3AoJ2ZvcicsIGlkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgd3JhcHBlci5maW5kKCcucGVybWlzc2lvbnMtaXRlbSAuYnV0dG9uLmFkZC1pdGVtJylbIXZhbHVlID8gJ2FkZENsYXNzJyA6ICdyZW1vdmVDbGFzcyddKCdkaXNhYmxlZCcpLnByb3AoJ2Rpc2FibGVkJywgIXZhbHVlID8gJ2Rpc2FibGVkJyA6IG51bGwpO1xufSk7XG5cbmJvZHkub24oJ2lucHV0JywgJ2lucHV0W2RhdGEtY3J1ZHAta2V5XScsIChldmVudCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGFyZ2V0LmNsb3Nlc3QoJy5jcnVkcC1jb250YWluZXInKTtcbiAgICBjb25zdCBoaWRkZW4gPSBjb250YWluZXIuZmluZCgnaW5wdXRbdHlwZT1cImhpZGRlblwiXVtuYW1lXScpO1xuICAgIGNvbnN0IGtleSA9IHRhcmdldC5kYXRhKCdjcnVkcEtleScpO1xuICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKGhpZGRlbi52YWwoKSB8fCAne30nKTtcbiAgICBqc29uW2tleV0gPSB0YXJnZXQudmFsKCk7XG4gICAgaGlkZGVuLnZhbChKU09OLnN0cmluZ2lmeShqc29uKSk7XG59KTtcblxuYm9keS5vbignY2xpY2snLCAnW2RhdGEtYWNsX3BpY2tlcl0gLnJlbW92ZS1pdGVtJywgKGV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB0YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRhcmdldC5jbG9zZXN0KCcucGVybWlzc2lvbnMtaXRlbScpO1xuICAgIGNvbnN0IHdyYXBwZXIgPSB0YXJnZXQuY2xvc2VzdCgnW2RhdGEtYWNsX3BpY2tlcl9pZF0nKTtcbiAgICBjb250YWluZXIucmVtb3ZlKCk7XG5cbiAgICBjb25zdCBlbXB0eSA9IHdyYXBwZXIuZmluZCgnLnBlcm1pc3Npb25zLWl0ZW0nKS5sZW5ndGggPT09IDE7XG5cbiAgICAvLyBzaG93IHRoZSBpbml0aWFsICsgYnV0dG9uXG4gICAgaWYgKGVtcHR5KSB7XG4gICAgICAgIHdyYXBwZXIuZmluZCgnLnBlcm1pc3Npb25zLWl0ZW0uZW1wdHktbGlzdCcpLnJlbW92ZUNsYXNzKCdoaWRkZW4nKTtcbiAgICB9XG59KTtcblxuYm9keS5vbignY2xpY2snLCAnW2RhdGEtYWNsX3BpY2tlcl0gLmFkZC1pdGVtJywgKGV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB0YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGNvbnN0IGl0ZW0gPSB0YXJnZXQuY2xvc2VzdCgnLnBlcm1pc3Npb25zLWl0ZW0nKTtcbiAgICBjb25zdCB3cmFwcGVyID0gdGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFjbF9waWNrZXJfaWRdJyk7XG4gICAgY29uc3QgSUQgPSB3cmFwcGVyLmRhdGEoJ2FjbF9waWNrZXJfaWQnKTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHRlbXBsYXRlW2RhdGEtaWQ9XCJhY2xfcGlja2VyLSR7SUR9XCJdYCk7XG5cbiAgICBjb25zdCBjbG9uZSA9ICQodGVtcGxhdGUuY29udGVudC5maXJzdEVsZW1lbnRDaGlsZCkuY2xvbmUoKTtcbiAgICBjbG9uZS5pbnNlcnRBZnRlcihpdGVtKTtcblxuICAgIC8vIHJhbmRvbWl6ZSBpZHNcbiAgICBjbG9uZS5maW5kKCcuc3dpdGNoLXRvZ2dsZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0nKS5lYWNoKChpbmRleCwgaW5wdXQpID0+IHtcbiAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcbiAgICAgICAgY29uc3QgaWQgPSBpbnB1dC5wcm9wKCdpZCcpO1xuICAgICAgICBjb25zdCBsYWJlbCA9IGlucHV0Lm5leHQoJ2xhYmVsJyk7XG4gICAgICAgIGNvbnN0IHJhbmQgPSAoRGF0ZS5ub3coKS50b1N0cmluZygzNikgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgNSkpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgaW5wdXQucHJvcCgnaWQnLCBgJHtpZH0ke3JhbmR9YCk7XG4gICAgICAgIGxhYmVsLnByb3AoJ2ZvcicsIGAke2lkfSR7cmFuZH1gKTtcbiAgICB9KTtcblxuICAgIC8vIGhpZGUgdGhlIGluaXRpYWwgKyBidXR0b25cbiAgICB3cmFwcGVyLmZpbmQoJy5wZXJtaXNzaW9ucy1pdGVtLmVtcHR5LWxpc3QnKS5hZGRDbGFzcygnaGlkZGVuJyk7XG5cbiAgICAvLyBkaXNhYmxlIGFsbCArIGJ1dHRvbnMgdW50aWwgb25lIGlzIHNlbGVjdGVkXG4gICAgd3JhcHBlci5maW5kKCcucGVybWlzc2lvbnMtaXRlbSAuYnV0dG9uLmFkZC1pdGVtJykuYWRkQ2xhc3MoJ2Rpc2FibGVkJykucHJvcCgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbn0pO1xuIl0sIm5hbWVzIjpbIiQiLCJib2R5Iiwib24iLCJldmVudCIsInRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJ2YWx1ZSIsInZhbCIsIml0ZW0iLCJjbG9zZXN0IiwiaW5wdXRzIiwiZmluZCIsImhpZGRlbiIsIndyYXBwZXIiLCJ0eXBlIiwiZGF0YSIsImVhY2giLCJpbmRleCIsImlucHV0IiwibmFtZSIsInByb3AiLCJyZXBsYWNlIiwiY29uY2F0IiwiY3J1ZHBDb250YWluZXIiLCJyYW5kIiwiTWF0aCIsInJvdW5kIiwicmFuZG9tIiwiaWQiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsIm5leHQiLCJjb250YWluZXIiLCJrZXkiLCJqc29uIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwicHJldmVudERlZmF1bHQiLCJyZW1vdmUiLCJlbXB0eSIsImxlbmd0aCIsInJlbW92ZUNsYXNzIiwiSUQiLCJ0ZW1wbGF0ZSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNsb25lIiwiY29udGVudCIsImZpcnN0RWxlbWVudENoaWxkIiwiaW5zZXJ0QWZ0ZXIiLCJsYWJlbCIsIkRhdGUiLCJub3ciLCJ0b1N0cmluZyIsInN1YnN0ciIsInRvTG93ZXJDYXNlIiwiYWRkQ2xhc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/acl-picker.js\n\n}"); /***/ }), /***/ "./app/forms/fields/array.js": /*!***********************************!*\ !*** ./app/forms/fields/array.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instance: () => (/* binding */ Instance),\n/* harmony export */ \"default\": () => (/* binding */ ArrayField)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\nvar Template = /*#__PURE__*/function () {\n function Template(container) {\n _classCallCheck(this, Template);\n this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n if (this.getName() === undefined) {\n this.container = this.container.closest('[data-grav-array-name]');\n }\n }\n return _createClass(Template, [{\n key: \"getName\",\n value: function getName() {\n return this.container.data('grav-array-name') || '';\n }\n }, {\n key: \"getKeyPlaceholder\",\n value: function getKeyPlaceholder() {\n return this.container.data('grav-array-keyname') || 'Key';\n }\n }, {\n key: \"getValuePlaceholder\",\n value: function getValuePlaceholder() {\n return this.container.data('grav-array-valuename') || 'Value';\n }\n }, {\n key: \"isValueOnly\",\n value: function isValueOnly() {\n return this.container.find('[data-grav-array-mode=\"value_only\"]:first').length || false;\n }\n }, {\n key: \"isTextArea\",\n value: function isTextArea() {\n return this.container.data('grav-array-textarea') || false;\n }\n }, {\n key: \"shouldBeDisabled\",\n value: function shouldBeDisabled() {\n // check for toggleables, if field is toggleable and it's not enabled, render disabled\n var toggle = this.container.closest('.form-field').find('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]');\n return toggle.length && toggle.is(':not(:checked)');\n }\n }, {\n key: \"getNewRow\",\n value: function getNewRow() {\n var tpl = '';\n var value = this.isTextArea() ? \"\") : \"\");\n if (this.isValueOnly()) {\n tpl += \"\\n
\\n \\n \".concat(value, \"\\n \");\n } else {\n tpl += \"\\n
\\n \\n \\n \").concat(value, \"\\n \");\n }\n tpl += \"\\n \\n \\n
\";\n return tpl;\n }\n }]);\n}();\nvar ArrayField = /*#__PURE__*/function () {\n function ArrayField() {\n var _this = this;\n _classCallCheck(this, ArrayField);\n body.on('input', '[data-grav-array-type=\"key\"], [data-grav-array-type=\"value\"]', function (event) {\n return _this.actionInput(event);\n });\n body.on('click touch', '[data-grav-array-action]:not([data-grav-array-action=\"sort\"])', function (event) {\n return _this.actionEvent(event);\n });\n this.arrays = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"array\"]').each(function (index, list) {\n return _this.addArray(list);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n return _createClass(ArrayField, [{\n key: \"addArray\",\n value: function addArray(list) {\n var _this2 = this;\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n list.find('[data-grav-array-type=\"container\"]').each(function (index, container) {\n container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n if (container.data('array-sort') || container[0].hasAttribute('data-array-nosort')) {\n return;\n }\n container.data('array-sort', new sortablejs__WEBPACK_IMPORTED_MODULE_1__[\"default\"](container.get(0), {\n handle: '.fa-bars',\n animation: 150,\n onUpdate: function onUpdate() {\n var item = container.find('[data-grav-array-type=\"row\"]:first');\n _this2._setTemplate(item);\n var template = item.data('array-template');\n _this2.refreshNames(template);\n }\n }));\n });\n }\n }, {\n key: \"actionInput\",\n value: function actionInput(event) {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var type = element.data('grav-array-type');\n this._setTemplate(element);\n var template = element.data('array-template');\n var keyElement = type === 'key' ? element : element.siblings('[data-grav-array-type=\"key\"]:first');\n var valueElement = type === 'value' ? element : element.siblings('[data-grav-array-type=\"value\"]:first');\n var escaped_name = !template.isValueOnly() ? keyElement.val() : this.getIndexFor(element);\n escaped_name = escaped_name.toString().replace(/\\[/g, '%5B').replace(/]/g, '%5D');\n var name = \"\".concat(template.getName(), \"[\").concat(escaped_name, \"]\");\n if (!template.isValueOnly() && !keyElement.val() && !valueElement.val()) {\n valueElement.attr('name', '');\n } else {\n // valueElement.attr('name', !valueElement.val() ? template.getName() : name);\n valueElement.attr('name', name);\n }\n this.refreshNames(template);\n }\n }, {\n key: \"actionEvent\",\n value: function actionEvent(event) {\n event && event.preventDefault();\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var action = element.data('grav-array-action');\n var container = element.parents('[data-grav-array-type=\"container\"]');\n this._setTemplate(element);\n this[\"\".concat(action, \"Action\")](element);\n var siblings = container.find('> div');\n container[siblings.length > 1 ? 'removeClass' : 'addClass']('one-child');\n }\n }, {\n key: \"addAction\",\n value: function addAction(element) {\n var template = element.data('array-template');\n var row = element.closest('[data-grav-array-type=\"row\"]');\n row.after(template.getNewRow());\n }\n }, {\n key: \"remAction\",\n value: function remAction(element) {\n var template = element.data('array-template');\n var row = element.closest('[data-grav-array-type=\"row\"]');\n var isLast = !row.siblings().length;\n if (isLast) {\n var newRow = jquery__WEBPACK_IMPORTED_MODULE_0___default()(template.getNewRow());\n row.after(newRow);\n newRow.find('[data-grav-array-type=\"value\"]:last').attr('name', template.getName());\n }\n row.remove();\n this.refreshNames(template);\n }\n }, {\n key: \"refreshNames\",\n value: function refreshNames(template) {\n if (!template.isValueOnly()) {\n return;\n }\n var row = template.container.find('> div > [data-grav-array-type=\"row\"]');\n var inputs = row.find('[name]:not([name=\"\"])');\n inputs.each(function (index, input) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n var preserved_name = input.closest('[data-grav-array-name]');\n var name = \"\".concat(preserved_name.attr('data-grav-array-name'), \"[\").concat(index, \"]\");\n input.attr('name', name);\n });\n if (!inputs.length) {\n row.find('[data-grav-array-type=\"value\"]').attr('name', template.getName());\n }\n }\n }, {\n key: \"getIndexFor\",\n value: function getIndexFor(element) {\n var template = element.data('array-template');\n var row = element.closest('[data-grav-array-type=\"row\"]');\n return template.container.find(\"\".concat(template.isValueOnly() ? '> div ' : '', \" > [data-grav-array-type=\\\"row\\\"]\")).index(row);\n }\n }, {\n key: \"_setTemplate\",\n value: function _setTemplate(element) {\n if (!element.data('array-template')) {\n element.data('array-template', new Template(element.closest('[data-grav-array-name]')));\n }\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target /* , record, instance */) {\n var _this3 = this;\n var arrays = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-field=\"array\"]');\n if (!arrays.length) {\n return;\n }\n arrays.each(function (index, list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n if (!~_this3.arrays.index(list)) {\n _this3.addArray(list);\n }\n });\n }\n }]);\n}();\n\nvar Instance = new ArrayField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFBRTtRQUFFO01BQVE7TUFFOUJjLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLEtBQUssRUFBRUMsSUFBSSxFQUFLO1FBQ3pCQSxJQUFJLEdBQUdsQyw2Q0FBQyxDQUFDa0MsSUFBSSxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUN3QyxNQUFJLENBQUMzQyxNQUFNLENBQUNFLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLEVBQUU7VUFDM0J3QyxNQUFJLENBQUN2QyxRQUFRLENBQUNELElBQUksQ0FBQztRQUN2QjtNQUNKLENBQUMsQ0FBQztJQUNOO0VBQUM7QUFBQTtBQXBJMEI7QUF1SXhCLElBQUkwQyxRQUFRLEdBQUcsSUFBSW5ELFVBQVUsQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vR3Jhdi8uL2FwcC9mb3Jtcy9maWVsZHMvYXJyYXkuanM/Mzg0YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IFNvcnRhYmxlIGZyb20gJ3NvcnRhYmxlanMnO1xuXG5sZXQgYm9keSA9ICQoJ2JvZHknKTtcblxuY2xhc3MgVGVtcGxhdGUge1xuICAgIGNvbnN0cnVjdG9yKGNvbnRhaW5lcikge1xuICAgICAgICB0aGlzLmNvbnRhaW5lciA9ICQoY29udGFpbmVyKTtcblxuICAgICAgICBpZiAodGhpcy5nZXROYW1lKCkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LW5hbWVdJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS1uYW1lJykgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0S2V5UGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5kYXRhKCdncmF2LWFycmF5LWtleW5hbWUnKSB8fCAnS2V5JztcbiAgICB9XG5cbiAgICBnZXRWYWx1ZVBsYWNlaG9sZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS12YWx1ZW5hbWUnKSB8fCAnVmFsdWUnO1xuICAgIH1cblxuICAgIGlzVmFsdWVPbmx5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS1tb2RlPVwidmFsdWVfb25seVwiXTpmaXJzdCcpLmxlbmd0aCB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBpc1RleHRBcmVhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS10ZXh0YXJlYScpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHNob3VsZEJlRGlzYWJsZWQoKSB7XG4gICAgICAgIC8vIGNoZWNrIGZvciB0b2dnbGVhYmxlcywgaWYgZmllbGQgaXMgdG9nZ2xlYWJsZSBhbmQgaXQncyBub3QgZW5hYmxlZCwgcmVuZGVyIGRpc2FibGVkXG4gICAgICAgIGxldCB0b2dnbGUgPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCcuZm9ybS1maWVsZCcpLmZpbmQoJ1tkYXRhLWdyYXYtZmllbGQ9XCJ0b2dnbGVhYmxlXCJdIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXScpO1xuICAgICAgICByZXR1cm4gdG9nZ2xlLmxlbmd0aCAmJiB0b2dnbGUuaXMoJzpub3QoOmNoZWNrZWQpJyk7XG4gICAgfVxuXG4gICAgZ2V0TmV3Um93KCkge1xuICAgICAgICBsZXQgdHBsID0gJyc7Y29uc3QgdmFsdWUgPSB0aGlzLmlzVGV4dEFyZWEoKVxuICAgICAgICAgICAgPyBgPHRleHRhcmVhICR7dGhpcy5zaG91bGRCZURpc2FibGVkKCkgPyAnZGlzYWJsZWQ9XCJkaXNhYmxlZFwiJyA6ICcnfSBkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCIgbmFtZT1cIlwiIHBsYWNlaG9sZGVyPVwiJHt0aGlzLmdldFZhbHVlUGxhY2Vob2xkZXIoKX1cIj48L3RleHRhcmVhPmBcbiAgICAgICAgICAgIDogYDxpbnB1dCAke3RoaXMuc2hvdWxkQmVEaXNhYmxlZCgpID8gJ2Rpc2FibGVkPVwiZGlzYWJsZWRcIicgOiAnJ30gZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJ2YWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgbmFtZT1cIlwiIHZhbHVlPVwiXCIgIHBsYWNlaG9sZGVyPVwiJHt0aGlzLmdldFZhbHVlUGxhY2Vob2xkZXIoKX1cIiAvPmA7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWYWx1ZU9ubHkoKSkge1xuICAgICAgICAgICAgdHBsICs9IGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBhcnJheS1maWVsZC12YWx1ZV9vbmx5XCIgZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWdyYXYtYXJyYXktYWN0aW9uPVwic29ydFwiIGNsYXNzPVwiZmEgZmEtYmFyc1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAke3ZhbHVlfVxuICAgICAgICAgICAgYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRwbCArPSBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIiBkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtZ3Jhdi1hcnJheS1hY3Rpb249XCJzb3J0XCIgY2xhc3M9XCJmYSBmYS1iYXJzXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpbnB1dCAke3RoaXMuc2hvdWxkQmVEaXNhYmxlZCgpID8gJ2Rpc2FibGVkPVwiZGlzYWJsZWRcIicgOiAnJ30gZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJrZXlcIiB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgcGxhY2Vob2xkZXI9XCIke3RoaXMuZ2V0S2V5UGxhY2Vob2xkZXIoKX1cIiAvPlxuICAgICAgICAgICAgICAgICR7dmFsdWV9XG4gICAgICAgICAgICBgO1xuICAgICAgICB9XG5cbiAgICAgICAgdHBsICs9IGBcbiAgICAgICAgICAgIDxzcGFuIGRhdGEtZ3Jhdi1hcnJheS1hY3Rpb249XCJyZW1cIiBjbGFzcz1cImZhIGZhLW1pbnVzXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gZGF0YS1ncmF2LWFycmF5LWFjdGlvbj1cImFkZFwiIGNsYXNzPVwiZmEgZmEtcGx1c1wiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+YDtcblxuICAgICAgICByZXR1cm4gdHBsO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXJyYXlGaWVsZCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGJvZHkub24oJ2lucHV0JywgJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cImtleVwiXSwgW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIl0nLCAoZXZlbnQpID0+IHRoaXMuYWN0aW9uSW5wdXQoZXZlbnQpKTtcbiAgICAgICAgYm9keS5vbignY2xpY2sgdG91Y2gnLCAnW2RhdGEtZ3Jhdi1hcnJheS1hY3Rpb25dOm5vdChbZGF0YS1ncmF2LWFycmF5LWFjdGlvbj1cInNvcnRcIl0pJywgKGV2ZW50KSA9PiB0aGlzLmFjdGlvbkV2ZW50KGV2ZW50KSk7XG5cbiAgICAgICAgdGhpcy5hcnJheXMgPSAkKCk7XG5cbiAgICAgICAgJCgnW2RhdGEtZ3Jhdi1maWVsZD1cImFycmF5XCJdJykuZWFjaCgoaW5kZXgsIGxpc3QpID0+IHRoaXMuYWRkQXJyYXkobGlzdCkpO1xuICAgICAgICAkKCdib2R5Jykub24oJ211dGF0aW9uLl9ncmF2JywgdGhpcy5fb25BZGRlZE5vZGVzLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIGFkZEFycmF5KGxpc3QpIHtcbiAgICAgICAgbGlzdCA9ICQobGlzdCk7XG5cbiAgICAgICAgbGlzdC5maW5kKCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJjb250YWluZXJcIl0nKS5lYWNoKChpbmRleCwgY29udGFpbmVyKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICAgICAgICBpZiAoY29udGFpbmVyLmRhdGEoJ2FycmF5LXNvcnQnKSB8fCBjb250YWluZXJbMF0uaGFzQXR0cmlidXRlKCdkYXRhLWFycmF5LW5vc29ydCcpKSB7IHJldHVybjsgfVxuXG4gICAgICAgICAgICBjb250YWluZXIuZGF0YSgnYXJyYXktc29ydCcsIG5ldyBTb3J0YWJsZShjb250YWluZXIuZ2V0KDApLCB7XG4gICAgICAgICAgICAgICAgaGFuZGxlOiAnLmZhLWJhcnMnLFxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogMTUwLFxuICAgICAgICAgICAgICAgIG9uVXBkYXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBjb250YWluZXIuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdOmZpcnN0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldFRlbXBsYXRlKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IGl0ZW0uZGF0YSgnYXJyYXktdGVtcGxhdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoTmFtZXModGVtcGxhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWN0aW9uSW5wdXQoZXZlbnQpIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSAkKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGxldCB0eXBlID0gZWxlbWVudC5kYXRhKCdncmF2LWFycmF5LXR5cGUnKTtcblxuICAgICAgICB0aGlzLl9zZXRUZW1wbGF0ZShlbGVtZW50KTtcblxuICAgICAgICBsZXQgdGVtcGxhdGUgPSBlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJyk7XG4gICAgICAgIGxldCBrZXlFbGVtZW50ID0gdHlwZSA9PT0gJ2tleScgPyBlbGVtZW50IDogZWxlbWVudC5zaWJsaW5ncygnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwia2V5XCJdOmZpcnN0Jyk7XG4gICAgICAgIGxldCB2YWx1ZUVsZW1lbnQgPSB0eXBlID09PSAndmFsdWUnID8gZWxlbWVudCA6IGVsZW1lbnQuc2libGluZ3MoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCJdOmZpcnN0Jyk7XG5cbiAgICAgICAgbGV0IGVzY2FwZWRfbmFtZSA9ICF0ZW1wbGF0ZS5pc1ZhbHVlT25seSgpID8ga2V5RWxlbWVudC52YWwoKSA6IHRoaXMuZ2V0SW5kZXhGb3IoZWxlbWVudCk7XG4gICAgICAgIGVzY2FwZWRfbmFtZSA9IGVzY2FwZWRfbmFtZS50b1N0cmluZygpLnJlcGxhY2UoL1xcWy9nLCAnJTVCJykucmVwbGFjZSgvXS9nLCAnJTVEJyk7XG4gICAgICAgIGxldCBuYW1lID0gYCR7dGVtcGxhdGUuZ2V0TmFtZSgpfVske2VzY2FwZWRfbmFtZX1dYDtcblxuICAgICAgICBpZiAoIXRlbXBsYXRlLmlzVmFsdWVPbmx5KCkgJiYgKCFrZXlFbGVtZW50LnZhbCgpICYmICF2YWx1ZUVsZW1lbnQudmFsKCkpKSB7XG4gICAgICAgICAgICB2YWx1ZUVsZW1lbnQuYXR0cignbmFtZScsICcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHZhbHVlRWxlbWVudC5hdHRyKCduYW1lJywgIXZhbHVlRWxlbWVudC52YWwoKSA/IHRlbXBsYXRlLmdldE5hbWUoKSA6IG5hbWUpO1xuICAgICAgICAgICAgdmFsdWVFbGVtZW50LmF0dHIoJ25hbWUnLCBuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVmcmVzaE5hbWVzKHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICBhY3Rpb25FdmVudChldmVudCkge1xuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBsZXQgZWxlbWVudCA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IGFjdGlvbiA9IGVsZW1lbnQuZGF0YSgnZ3Jhdi1hcnJheS1hY3Rpb24nKTtcbiAgICAgICAgbGV0IGNvbnRhaW5lciA9IGVsZW1lbnQucGFyZW50cygnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwiY29udGFpbmVyXCJdJyk7XG5cbiAgICAgICAgdGhpcy5fc2V0VGVtcGxhdGUoZWxlbWVudCk7XG5cbiAgICAgICAgdGhpc1tgJHthY3Rpb259QWN0aW9uYF0oZWxlbWVudCk7XG5cbiAgICAgICAgbGV0IHNpYmxpbmdzID0gY29udGFpbmVyLmZpbmQoJz4gZGl2Jyk7XG4gICAgICAgIGNvbnRhaW5lcltzaWJsaW5ncy5sZW5ndGggPiAxID8gJ3JlbW92ZUNsYXNzJyA6ICdhZGRDbGFzcyddKCdvbmUtY2hpbGQnKTtcbiAgICB9XG5cbiAgICBhZGRBY3Rpb24oZWxlbWVudCkge1xuICAgICAgICBsZXQgdGVtcGxhdGUgPSBlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJyk7XG4gICAgICAgIGxldCByb3cgPSBlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiXScpO1xuXG4gICAgICAgIHJvdy5hZnRlcih0ZW1wbGF0ZS5nZXROZXdSb3coKSk7XG4gICAgfVxuXG4gICAgcmVtQWN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScpO1xuICAgICAgICBsZXQgcm93ID0gZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIl0nKTtcbiAgICAgICAgbGV0IGlzTGFzdCA9ICFyb3cuc2libGluZ3MoKS5sZW5ndGg7XG5cbiAgICAgICAgaWYgKGlzTGFzdCkge1xuICAgICAgICAgICAgbGV0IG5ld1JvdyA9ICQodGVtcGxhdGUuZ2V0TmV3Um93KCkpO1xuICAgICAgICAgICAgcm93LmFmdGVyKG5ld1Jvdyk7XG4gICAgICAgICAgICBuZXdSb3cuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIl06bGFzdCcpLmF0dHIoJ25hbWUnLCB0ZW1wbGF0ZS5nZXROYW1lKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcm93LnJlbW92ZSgpO1xuICAgICAgICB0aGlzLnJlZnJlc2hOYW1lcyh0ZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgcmVmcmVzaE5hbWVzKHRlbXBsYXRlKSB7XG4gICAgICAgIGlmICghdGVtcGxhdGUuaXNWYWx1ZU9ubHkoKSkgeyByZXR1cm47IH1cblxuICAgICAgICBsZXQgcm93ID0gdGVtcGxhdGUuY29udGFpbmVyLmZpbmQoJz4gZGl2ID4gW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdJyk7XG4gICAgICAgIGxldCBpbnB1dHMgPSByb3cuZmluZCgnW25hbWVdOm5vdChbbmFtZT1cIlwiXSknKTtcblxuICAgICAgICBpbnB1dHMuZWFjaCgoaW5kZXgsIGlucHV0KSA9PiB7XG4gICAgICAgICAgICBpbnB1dCA9ICQoaW5wdXQpO1xuICAgICAgICAgICAgY29uc3QgcHJlc2VydmVkX25hbWUgPSBpbnB1dC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LW5hbWVdJyk7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gYCR7cHJlc2VydmVkX25hbWUuYXR0cignZGF0YS1ncmF2LWFycmF5LW5hbWUnKX1bJHtpbmRleH1dYDtcbiAgICAgICAgICAgIGlucHV0LmF0dHIoJ25hbWUnLCBuYW1lKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFpbnB1dHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByb3cuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIl0nKS5hdHRyKCduYW1lJywgdGVtcGxhdGUuZ2V0TmFtZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEluZGV4Rm9yKGVsZW1lbnQpIHtcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScpO1xuICAgICAgICBsZXQgcm93ID0gZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIl0nKTtcblxuICAgICAgICByZXR1cm4gdGVtcGxhdGUuY29udGFpbmVyLmZpbmQoYCR7dGVtcGxhdGUuaXNWYWx1ZU9ubHkoKSA/ICc+IGRpdiAnIDogJyd9ID4gW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdYCkuaW5kZXgocm93KTtcbiAgICB9XG5cbiAgICBfc2V0VGVtcGxhdGUoZWxlbWVudCkge1xuICAgICAgICBpZiAoIWVsZW1lbnQuZGF0YSgnYXJyYXktdGVtcGxhdGUnKSkge1xuICAgICAgICAgICAgZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScsIG5ldyBUZW1wbGF0ZShlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWdyYXYtYXJyYXktbmFtZV0nKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX29uQWRkZWROb2RlcyhldmVudCwgdGFyZ2V0LyogLCByZWNvcmQsIGluc3RhbmNlICovKSB7XG4gICAgICAgIGxldCBhcnJheXMgPSAkKHRhcmdldCkuZmluZCgnW2RhdGEtZ3Jhdi1maWVsZD1cImFycmF5XCJdJyk7XG4gICAgICAgIGlmICghYXJyYXlzLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgICAgICBhcnJheXMuZWFjaCgoaW5kZXgsIGxpc3QpID0+IHtcbiAgICAgICAgICAgIGxpc3QgPSAkKGxpc3QpO1xuICAgICAgICAgICAgaWYgKCF+dGhpcy5hcnJheXMuaW5kZXgobGlzdCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEFycmF5KGxpc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBsZXQgSW5zdGFuY2UgPSBuZXcgQXJyYXlGaWVsZCgpO1xuIl0sIm5hbWVzIjpbIiQiLCJTb3J0YWJsZSIsImJvZHkiLCJUZW1wbGF0ZSIsImNvbnRhaW5lciIsIl9jbGFzc0NhbGxDaGVjayIsImdldE5hbWUiLCJ1bmRlZmluZWQiLCJjbG9zZXN0IiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJkYXRhIiwiZ2V0S2V5UGxhY2Vob2xkZXIiLCJnZXRWYWx1ZVBsYWNlaG9sZGVyIiwiaXNWYWx1ZU9ubHkiLCJmaW5kIiwibGVuZ3RoIiwiaXNUZXh0QXJlYSIsInNob3VsZEJlRGlzYWJsZWQiLCJ0b2dnbGUiLCJpcyIsImdldE5ld1JvdyIsInRwbCIsImNvbmNhdCIsIkFycmF5RmllbGQiLCJfdGhpcyIsIm9uIiwiZXZlbnQiLCJhY3Rpb25JbnB1dCIsImFjdGlvbkV2ZW50IiwiYXJyYXlzIiwiZWFjaCIsImluZGV4IiwibGlzdCIsImFkZEFycmF5IiwiX29uQWRkZWROb2RlcyIsImJpbmQiLCJfdGhpczIiLCJoYXNBdHRyaWJ1dGUiLCJnZXQiLCJoYW5kbGUiLCJhbmltYXRpb24iLCJvblVwZGF0ZSIsIml0ZW0iLCJfc2V0VGVtcGxhdGUiLCJ0ZW1wbGF0ZSIsInJlZnJlc2hOYW1lcyIsImVsZW1lbnQiLCJ0YXJnZXQiLCJ0eXBlIiwia2V5RWxlbWVudCIsInNpYmxpbmdzIiwidmFsdWVFbGVtZW50IiwiZXNjYXBlZF9uYW1lIiwidmFsIiwiZ2V0SW5kZXhGb3IiLCJ0b1N0cmluZyIsInJlcGxhY2UiLCJuYW1lIiwiYXR0ciIsInByZXZlbnREZWZhdWx0IiwiYWN0aW9uIiwicGFyZW50cyIsImFkZEFjdGlvbiIsInJvdyIsImFmdGVyIiwicmVtQWN0aW9uIiwiaXNMYXN0IiwibmV3Um93IiwicmVtb3ZlIiwiaW5wdXRzIiwiaW5wdXQiLCJwcmVzZXJ2ZWRfbmFtZSIsIl90aGlzMyIsImRlZmF1bHQiLCJJbnN0YW5jZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/forms/fields/array.js\n\n}"); /***/ }), /***/ "./app/forms/fields/collections.js": /*!*****************************************!*\ !*** ./app/forms/fields/collections.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instance: () => (/* binding */ Instance),\n/* harmony export */ \"default\": () => (/* binding */ CollectionsField)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\n/* harmony import */ var _utils_jquery_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/jquery-utils */ \"./app/utils/jquery-utils.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\nvar CollectionsField = /*#__PURE__*/function () {\n function CollectionsField() {\n var _this = this;\n _classCallCheck(this, CollectionsField);\n this.lists = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n var body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-type=\"collection\"]').each(function (index, list) {\n return _this.addList(list);\n });\n body.on('mutation._grav', this._onAddedNodes.bind(this));\n body.on('click', function (event) {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n if (!(target.is('[data-action=\"confirm\"], [data-action=\"delete\"]') || target.closest('[data-action=\"confirm\"], [data-action=\"delete\"]').length)) {\n CollectionsField.closeConfirmations();\n }\n });\n }\n return _createClass(CollectionsField, [{\n key: \"addList\",\n value: function addList(list) {\n var _this2 = this;\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n this.lists = this.lists.add(list);\n list.on('click', '> .collection-actions [data-action=\"add\"]', function (event) {\n return _this2.addItem(event);\n });\n list.on('click', '> ul > li > .item-actions [data-action=\"confirm\"]', function (event) {\n return _this2.confirmRemove(event);\n });\n list.on('click', '> ul > li > .item-actions [data-action=\"delete\"]', function (event) {\n return _this2.removeItem(event);\n });\n list.on('click', '> ul > li > .item-actions [data-action=\"collapse\"]', function (event) {\n return _this2.collapseItem(event);\n });\n list.on('click', '> ul > li > .item-actions [data-action=\"expand\"]', function (event) {\n return _this2.expandItem(event);\n });\n list.on('click', '> .collection-actions [data-action-sort=\"date\"]', function (event) {\n return _this2.sortItems(event);\n });\n list.on('click', '> .collection-actions [data-action=\"collapse_all\"]', function (event) {\n return _this2.collapseItems(event);\n });\n list.on('click', '> .collection-actions [data-action=\"expand_all\"]', function (event) {\n return _this2.expandItems(event);\n });\n list.on('input change', '[data-key-observe]', function (event) {\n return _this2.observeKey(event);\n });\n list.find('[data-collection-holder]').each(function (index, container) {\n container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n if (container.data('collection-sort') || container[0].hasAttribute('data-collection-nosort')) {\n return;\n }\n container.data('collection-sort', new sortablejs__WEBPACK_IMPORTED_MODULE_1__[\"default\"](container.get(0), {\n forceFallback: false,\n handle: '.collection-sort',\n animation: 150,\n onUpdate: function onUpdate() {\n return _this2.reindex(container);\n }\n }));\n });\n this._updateActionsStateBasedOnMinMax(list);\n }\n }, {\n key: \"addItem\",\n value: function addItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var position = button.data('action-add') || 'bottom';\n var list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]'));\n var template = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list.find('> [data-collection-template=\"new\"]').data('collection-template-html'));\n this._updateActionsStateBasedOnMinMax(list);\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var maxItems = list.data('max');\n if (typeof maxItems !== 'undefined' && items.length >= maxItems) {\n return;\n }\n list.find('> [data-collection-holder]')[position === 'top' ? 'prepend' : 'append'](template);\n this.reindex(list);\n items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var topAction = list.closest('[data-type=\"collection\"]').find('[data-action-add=\"top\"]');\n var sortAction = list.closest('[data-type=\"collection\"]').find('[data-action=\"sort\"]');\n if (items.length) {\n if (topAction.length) {\n topAction.parent().removeClass('hidden');\n }\n if (sortAction.length && items.length > 1) {\n sortAction.removeClass('hidden');\n }\n }\n\n // refresh toggleables in a list\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]').trigger('change');\n }\n }, {\n key: \"confirmRemove\",\n value: function confirmRemove(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('.item-actions'));\n var action = list.find('.list-confirm-deletion[data-action=\"delete\"]');\n var isHidden = action.hasClass('hidden');\n CollectionsField.closeConfirmations();\n action[isHidden ? 'removeClass' : 'addClass']('hidden');\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = button.closest('[data-collection-item]');\n var list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]'));\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var minItems = list.data('min');\n if (typeof minItems !== 'undefined' && items.length <= minItems) {\n return;\n }\n item.remove();\n this.reindex(list);\n items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var topAction = list.closest('[data-type=\"collection\"]').find('[data-action-add=\"top\"]');\n var sortAction = list.closest('[data-type=\"collection\"]').find('[data-action=\"sort\"]');\n if (!items.length) {\n if (topAction.length) {\n topAction.parent().addClass('hidden');\n }\n }\n if (sortAction.length && items.length <= 1) {\n sortAction.addClass('hidden');\n }\n this._updateActionsStateBasedOnMinMax(list);\n }\n }, {\n key: \"collapseItems\",\n value: function collapseItems(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var items = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]')).find('> ul > [data-collection-item] > .item-actions [data-action=\"collapse\"]');\n items.click();\n }\n }, {\n key: \"collapseItem\",\n value: function collapseItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = button.closest('[data-collection-item]');\n button.attr('data-action', 'expand').removeClass('fa-chevron-circle-down').addClass('fa-chevron-circle-right');\n item.addClass('collection-collapsed');\n }\n }, {\n key: \"expandItems\",\n value: function expandItems(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var items = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]')).find('> ul > [data-collection-item] > .item-actions [data-action=\"expand\"]');\n items.click();\n }\n }, {\n key: \"expandItem\",\n value: function expandItem(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var item = button.closest('[data-collection-item]');\n button.attr('data-action', 'collapse').removeClass('fa-chevron-circle-right').addClass('fa-chevron-circle-down');\n item.removeClass('collection-collapsed');\n }\n }, {\n key: \"sortItems\",\n value: function sortItems(event) {\n var button = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var sortby = button.data('action-sort');\n var sortby_dir = button.data('action-sort-dir') || 'asc';\n var list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(button.closest('[data-type=\"collection\"]'));\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n items.sort(function (a, b) {\n var A = jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).find('[name$=\"[' + sortby + ']\"]');\n var B = jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).find('[name$=\"[' + sortby + ']\"]');\n var sort;\n if (sortby_dir === 'asc') {\n sort = A.val() < B.val() ? -1 : A.val() > B.val() ? 1 : 0;\n } else {\n sort = A.val() > B.val() ? -1 : A.val() < B.val() ? 1 : 0;\n }\n return sort;\n }).each(function (_, container) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(container).parent().append(container);\n });\n this.reindex(list);\n }\n }, {\n key: \"observeKey\",\n value: function observeKey(event) {\n var input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var value = input.val();\n var item = input.closest('[data-collection-key]');\n item.data('collection-key-backup', item.data('collection-key')).data('collection-key', value);\n this.reindex(null, item);\n }\n }, {\n key: \"reindex\",\n value: function reindex(list, items) {\n items = items || jquery__WEBPACK_IMPORTED_MODULE_0___default()(list).closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n items.each(function (index, item) {\n item = jquery__WEBPACK_IMPORTED_MODULE_0___default()(item);\n var observed = item.find('[data-key-observe]');\n var observedValue = observed.val();\n var hasCustomKey = observed.length;\n var currentKey = item.data('collection-key-backup');\n item.attr('data-collection-key', hasCustomKey ? observedValue : index);\n ['name', 'data-grav-field-name', 'for', 'id', 'data-grav-file-settings', 'data-file-post-add', 'data-file-post-remove', 'data-grav-array-name', 'data-grav-elements'].forEach(function (prop) {\n item.find('[' + prop + '], [_' + prop + ']').each(function () {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n var indexes = [];\n var array_index = null;\n var regexps = [new RegExp('\\\\[(\\\\d+|\\\\*|' + currentKey + ')\\\\]', 'g'), new RegExp('\\\\.(\\\\d+|\\\\*|' + currentKey + ')\\\\.', 'g')];\n\n // special case to preserve array field index keys\n if (prop === 'name' && element.data('gravArrayType')) {\n var match_index = element.attr(prop).match(/\\[[0-9]{1,}\\]$/);\n var array_container = element[0].closest('[data-grav-array-name]');\n if (match_index) {\n array_index = match_index[0];\n element.attr(prop, element.attr(prop).slice(0, array_index.length * -1));\n }\n if (array_container && array_container.dataset && array_container.dataset.gravArrayName) {\n element.attr(prop, array_container.dataset.gravArrayName);\n }\n }\n if (hasCustomKey && !observedValue) {\n element.attr(\"_\".concat(prop), element.attr(prop));\n element.attr(prop, null);\n return;\n }\n if (element.attr(\"_\".concat(prop))) {\n element.attr(prop, element.attr(\"_\".concat(prop)));\n element.attr(\"_\".concat(prop), null);\n }\n element.parents('[data-collection-key]').map(function (idx, parent) {\n return indexes.push(jquery__WEBPACK_IMPORTED_MODULE_0___default()(parent).attr('data-collection-key'));\n });\n indexes.reverse();\n var matchedKey = currentKey;\n var replaced = element.attr(prop).replace(regexps[0], function /* str, p1, offset */\n () {\n matchedKey = indexes.shift() || matchedKey;\n return \"[\".concat(matchedKey, \"]\");\n });\n replaced = replaced.replace(regexps[1], function /* str, p1, offset */\n () {\n matchedKey = indexes.shift() || matchedKey;\n return \".\".concat(matchedKey, \".\");\n });\n element.attr(prop, array_index ? \"\".concat(replaced).concat(array_index) : replaced);\n });\n });\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target /* , record, instance */) {\n var _this3 = this;\n var collections = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-type=\"collection\"]');\n if (!collections.length) {\n return;\n }\n collections.each(function (index, collection) {\n collection = jquery__WEBPACK_IMPORTED_MODULE_0___default()(collection);\n if (!~_this3.lists.index(collection)) {\n _this3.addList(collection);\n }\n });\n }\n }, {\n key: \"_updateActionsStateBasedOnMinMax\",\n value: function _updateActionsStateBasedOnMinMax(list) {\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var minItems = list.data('min');\n var maxItems = list.data('max');\n list.find('> .collection-actions [data-action=\"add\"]').attr('disabled', false);\n list.find('> ul > li > .item-actions [data-action=\"delete\"]').attr('disabled', false);\n if (typeof minItems !== 'undefined' && items.length <= minItems) {\n list.find('> ul > li > .item-actions [data-action=\"delete\"]').attr('disabled', true);\n }\n if (typeof maxItems !== 'undefined' && items.length >= maxItems) {\n list.find('> .collection-actions [data-action=\"add\"]').attr('disabled', true);\n }\n }\n }], [{\n key: \"closeConfirmations\",\n value: function closeConfirmations() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('.list-confirm-deletion[data-action=\"delete\"]').addClass('hidden');\n }\n }]);\n}();\n\nvar Instance = new CollectionsField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hcHAvZm9ybXMvZmllbGRzL2NvbGxlY3Rpb25zLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUF1QjtBQUNXO0FBQ0E7QUFBQSxJQUViRSxnQkFBZ0I7RUFDbkMsU0FBQUEsaUJBQUEsRUFBYztJQUFBLElBQUFDLEtBQUE7SUFBQUMsZUFBQSxPQUFBRixnQkFBQTtJQUNaLElBQUksQ0FBQ0csS0FBSyxHQUFHTCw2Q0FBQyxDQUFDLENBQUM7SUFFaEIsSUFBTU0sSUFBSSxHQUFHTiw2Q0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QkEsNkNBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDTyxJQUFJLENBQUMsVUFBQ0MsS0FBSyxFQUFFQyxJQUFJO01BQUEsT0FBS04sS0FBSSxDQUFDTyxPQUFPLENBQUNELElBQUksQ0FBQztJQUFBLEVBQUM7SUFDdkVILElBQUksQ0FBQ0ssRUFBRSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQ0MsYUFBYSxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeERQLElBQUksQ0FBQ0ssRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFDRyxLQUFLLEVBQUs7TUFDMUIsSUFBTUMsTUFBTSxHQUFHZiw2Q0FBQyxDQUFDYyxLQUFLLENBQUNDLE1BQU0sQ0FBQztNQUM5QixJQUFJLEVBQUVBLE1BQU0sQ0FBQ0MsRUFBRSxDQUFDLGlEQUFpRCxDQUFDLElBQUlELE1BQU0sQ0FBQ0UsT0FBTyxDQUFDLGlEQUFpRCxDQUFDLENBQUNDLE1BQU0sQ0FBQyxFQUFFO1FBQy9JaEIsZ0JBQWdCLENBQUNpQixrQkFBa0IsQ0FBQyxDQUFDO01BQ3ZDO0lBQ0YsQ0FBQyxDQUFDO0VBRUo7RUFBQyxPQUFBQyxZQUFBLENBQUFsQixnQkFBQTtJQUFBbUIsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQVosT0FBT0EsQ0FBQ0QsSUFBSSxFQUFFO01BQUEsSUFBQWMsTUFBQTtNQUNaZCxJQUFJLEdBQUdULDZDQUFDLENBQUNTLElBQUksQ0FBQztNQUNkLElBQUksQ0FBQ0osS0FBSyxHQUFHLElBQUksQ0FBQ0EsS0FBSyxDQUFDbUIsR0FBRyxDQUFDZixJQUFJLENBQUM7TUFFakNBLElBQUksQ0FBQ0UsRUFBRSxDQUFDLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxVQUFDRyxLQUFLO1FBQUEsT0FBS1MsTUFBSSxDQUFDRSxPQUFPLENBQUNYLEtBQUssQ0FBQztNQUFBLEVBQUM7TUFDN0ZMLElBQUksQ0FBQ0UsRUFBRSxDQUFDLE9BQU8sRUFBRSxtREFBbUQsRUFBRSxVQUFDRyxLQUFLO1FBQUEsT0FBS1MsTUFBSSxDQUFDRyxhQUFhLENBQUNaLEtBQUssQ0FBQztNQUFBLEVBQUM7TUFDM0dMLElBQUksQ0FBQ0UsRUFBRSxDQUFDLE9BQU8sRUFBRSxrREFBa0QsRUFBRSxVQUFDRyxLQUFLO1FBQUEsT0FBS1MsTUFBSSxDQUFDSSxVQUFVLENBQUNiLEtBQUssQ0FBQztNQUFBLEVBQUM7TUFDdkdMLElBQUksQ0FBQ0UsRUFBRSxDQUFDLE9BQU8sRUFBRSxvREFBb0QsRUFBRSxVQUFDRyxLQUFLO1FBQUEsT0FBS1MsTUFBSSxDQUFDSyxZQUFZLENBQUNkLEtBQUssQ0FBQztNQUFBLEVBQUM7TUFDM0dMLElBQUksQ0FBQ0UsRUFBRSxDQUFDLE9BQU8sRUFBRSxrREFBa0QsRUFBRSxVQUFDRyxLQUFLO1FBQUEsT0FBS1MsTUFBSSxDQUFDTSxVQUFVLENBQUNmLEtBQUssQ0FBQztNQUFBLEVBQUM7TUFDdkdMLElBQUksQ0FBQ0UsRUFBRSxDQUFDLE9BQU8sRUFBRSxpREFBaUQsRUFBRSxVQUFDRyxLQUFLO1FBQUEsT0FBS1MsTUFBSSxDQUFDTyxTQUFTLENBQUNoQixLQUFLLENBQUM7TUFBQSxFQUFDO01BQ3JHTCxJQUFJLENBQUNFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsVUFBQ0csS0FBSztRQUFBLE9BQUtTLE1BQUksQ0FBQ1EsYUFBYSxDQUFDakIsS0FBSyxDQUFDO01BQUEsRUFBQztNQUM1R0wsSUFBSSxDQUFDRSxFQUFFLENBQUMsT0FBTyxFQUFFLGtEQUFrRCxFQUFFLFVBQUNHLEtBQUs7UUFBQSxPQUFLUyxNQUFJLENBQUNTLFdBQVcsQ0FBQ2xCLEtBQUssQ0FBQztNQUFBLEVBQUM7TUFDeEdMLElBQUksQ0FBQ0UsRUFBRSxDQUFDLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxVQUFDRyxLQUFLO1FBQUEsT0FBS1MsTUFBSSxDQUFDVSxVQUFVLENBQUNuQixLQUFLLENBQUM7TUFBQSxFQUFDO01BRWhGTCxJQUFJLENBQUN5QixJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQzNCLElBQUksQ0FBQyxVQUFDQyxLQUFLLEVBQUUyQixTQUFTLEVBQUs7UUFDL0RBLFNBQVMsR0FBR25DLDZDQUFDLENBQUNtQyxTQUFTLENBQUM7UUFDeEIsSUFBSUEsU0FBUyxDQUFDQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDRSxZQUFZLENBQUMsd0JBQXdCLENBQUMsRUFBRTtVQUM1RjtRQUNGO1FBRUFGLFNBQVMsQ0FBQ0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUluQyxrREFBUSxDQUFDa0MsU0FBUyxDQUFDRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDL0RDLGFBQWEsRUFBRSxLQUFLO1VBQ3BCQyxNQUFNLEVBQUUsa0JBQWtCO1VBQzFCQyxTQUFTLEVBQUUsR0FBRztVQUNkQyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBQTtZQUFBLE9BQVFuQixNQUFJLENBQUNvQixPQUFPLENBQUNSLFNBQVMsQ0FBQztVQUFBO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO01BQ0wsQ0FBQyxDQUFDO01BRUYsSUFBSSxDQUFDUyxnQ0FBZ0MsQ0FBQ25DLElBQUksQ0FBQztJQUM3QztFQUFDO0lBQUFZLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFHLE9BQU9BLENBQUNYLEtBQUssRUFBRTtNQUNiLElBQUkrQixNQUFNLEdBQUc3Qyw2Q0FBQyxDQUFDYyxLQUFLLENBQUNnQyxhQUFhLENBQUM7TUFDbkMsSUFBSUMsUUFBUSxHQUFHRixNQUFNLENBQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxRQUFRO01BQ3BELElBQUkzQixJQUFJLEdBQUdULDZDQUFDLENBQUM2QyxNQUFNLENBQUM1QixPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztNQUN4RCxJQUFJK0IsUUFBUSxHQUFHaEQsNkNBQUMsQ0FBQ1MsSUFBSSxDQUFDeUIsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLENBQUNFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO01BRWxHLElBQUksQ0FBQ1EsZ0NBQWdDLENBQUNuQyxJQUFJLENBQUM7TUFDM0MsSUFBSXdDLEtBQUssR0FBR3hDLElBQUksQ0FBQ1EsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUNpQixJQUFJLENBQUMsK0JBQStCLENBQUM7TUFDMUYsSUFBSWdCLFFBQVEsR0FBR3pDLElBQUksQ0FBQzJCLElBQUksQ0FBQyxLQUFLLENBQUM7TUFDL0IsSUFBSSxPQUFPYyxRQUFRLEtBQUssV0FBVyxJQUFJRCxLQUFLLENBQUMvQixNQUFNLElBQUlnQyxRQUFRLEVBQUU7UUFDL0Q7TUFDRjtNQUVBekMsSUFBSSxDQUFDeUIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUNhLFFBQVEsS0FBSyxLQUFLLEdBQ2hCLFNBQVMsR0FDVCxRQUFRLENBQUMsQ0FBQ0MsUUFBUSxDQUFDO01BQzdELElBQUksQ0FBQ0wsT0FBTyxDQUFDbEMsSUFBSSxDQUFDO01BRWxCd0MsS0FBSyxHQUFHeEMsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQywrQkFBK0IsQ0FBQztNQUN0RixJQUFJaUIsU0FBUyxHQUFHMUMsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztNQUN4RixJQUFJa0IsVUFBVSxHQUFHM0MsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztNQUV0RixJQUFJZSxLQUFLLENBQUMvQixNQUFNLEVBQUU7UUFDaEIsSUFBSWlDLFNBQVMsQ0FBQ2pDLE1BQU0sRUFBRTtVQUNwQmlDLFNBQVMsQ0FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUMxQztRQUNBLElBQUlGLFVBQVUsQ0FBQ2xDLE1BQU0sSUFBSStCLEtBQUssQ0FBQy9CLE1BQU0sR0FBRyxDQUFDLEVBQUU7VUFDekNrQyxVQUFVLENBQUNFLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDbEM7TUFDRjs7TUFFQTtNQUNBdEQsNkNBQUMsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDdUQsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUM5RTtFQUFDO0lBQUFsQyxHQUFBO0lBQUFDLEtBQUEsRUFNRCxTQUFBSSxhQUFhQSxDQUFDWixLQUFLLEVBQUU7TUFFbkIsSUFBTStCLE1BQU0sR0FBRzdDLDZDQUFDLENBQUNjLEtBQUssQ0FBQ2dDLGFBQWEsQ0FBQztNQUNyQyxJQUFNckMsSUFBSSxHQUFHVCw2Q0FBQyxDQUFDNkMsTUFBTSxDQUFDNUIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO01BQy9DLElBQU11QyxNQUFNLEdBQUcvQyxJQUFJLENBQUN5QixJQUFJLENBQUMsOENBQThDLENBQUM7TUFDeEUsSUFBTXVCLFFBQVEsR0FBR0QsTUFBTSxDQUFDRSxRQUFRLENBQUMsUUFBUSxDQUFDO01BRTFDeEQsZ0JBQWdCLENBQUNpQixrQkFBa0IsQ0FBQyxDQUFDO01BQ3JDcUMsTUFBTSxDQUFDQyxRQUFRLEdBQUcsYUFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN6RDtFQUFDO0lBQUFwQyxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBSyxVQUFVQSxDQUFDYixLQUFLLEVBQUU7TUFDaEIsSUFBSStCLE1BQU0sR0FBRzdDLDZDQUFDLENBQUNjLEtBQUssQ0FBQ2dDLGFBQWEsQ0FBQztNQUNuQyxJQUFJYSxJQUFJLEdBQUdkLE1BQU0sQ0FBQzVCLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztNQUNuRCxJQUFJUixJQUFJLEdBQUdULDZDQUFDLENBQUM2QyxNQUFNLENBQUM1QixPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztNQUV4RCxJQUFJZ0MsS0FBSyxHQUFHeEMsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQywrQkFBK0IsQ0FBQztNQUMxRixJQUFJMEIsUUFBUSxHQUFHbkQsSUFBSSxDQUFDMkIsSUFBSSxDQUFDLEtBQUssQ0FBQztNQUUvQixJQUFJLE9BQU93QixRQUFRLEtBQUssV0FBVyxJQUFJWCxLQUFLLENBQUMvQixNQUFNLElBQUkwQyxRQUFRLEVBQUU7UUFDL0Q7TUFDRjtNQUVBRCxJQUFJLENBQUNFLE1BQU0sQ0FBQyxDQUFDO01BQ2IsSUFBSSxDQUFDbEIsT0FBTyxDQUFDbEMsSUFBSSxDQUFDO01BRWxCd0MsS0FBSyxHQUFHeEMsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQywrQkFBK0IsQ0FBQztNQUN0RixJQUFJaUIsU0FBUyxHQUFHMUMsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztNQUN4RixJQUFJa0IsVUFBVSxHQUFHM0MsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztNQUV0RixJQUFJLENBQUNlLEtBQUssQ0FBQy9CLE1BQU0sRUFBRTtRQUNqQixJQUFJaUMsU0FBUyxDQUFDakMsTUFBTSxFQUFFO1VBQ3BCaUMsU0FBUyxDQUFDRSxNQUFNLENBQUMsQ0FBQyxDQUFDUyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3ZDO01BQ0Y7TUFFQSxJQUFJVixVQUFVLENBQUNsQyxNQUFNLElBQUkrQixLQUFLLENBQUMvQixNQUFNLElBQUksQ0FBQyxFQUFFO1FBQzFDa0MsVUFBVSxDQUFDVSxRQUFRLENBQUMsUUFBUSxDQUFDO01BQy9CO01BQ0EsSUFBSSxDQUFDbEIsZ0NBQWdDLENBQUNuQyxJQUFJLENBQUM7SUFDN0M7RUFBQztJQUFBWSxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBUyxhQUFhQSxDQUFDakIsS0FBSyxFQUFFO01BQ25CLElBQUkrQixNQUFNLEdBQUc3Qyw2Q0FBQyxDQUFDYyxLQUFLLENBQUNnQyxhQUFhLENBQUM7TUFDbkMsSUFBSUcsS0FBSyxHQUFHakQsNkNBQUMsQ0FBQzZDLE1BQU0sQ0FBQzVCLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUNpQixJQUFJLENBQUMsd0VBQXdFLENBQUM7TUFFeEllLEtBQUssQ0FBQ2MsS0FBSyxDQUFDLENBQUM7SUFDZjtFQUFDO0lBQUExQyxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBTSxZQUFZQSxDQUFDZCxLQUFLLEVBQUU7TUFDbEIsSUFBSStCLE1BQU0sR0FBRzdDLDZDQUFDLENBQUNjLEtBQUssQ0FBQ2dDLGFBQWEsQ0FBQztNQUNuQyxJQUFJYSxJQUFJLEdBQUdkLE1BQU0sQ0FBQzVCLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztNQUVuRDRCLE1BQU0sQ0FBQ21CLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUNWLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDUSxRQUFRLENBQUMseUJBQXlCLENBQUM7TUFDOUdILElBQUksQ0FBQ0csUUFBUSxDQUFDLHNCQUFzQixDQUFDO0lBQ3ZDO0VBQUM7SUFBQXpDLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFVLFdBQVdBLENBQUNsQixLQUFLLEVBQUU7TUFDakIsSUFBSStCLE1BQU0sR0FBRzdDLDZDQUFDLENBQUNjLEtBQUssQ0FBQ2dDLGFBQWEsQ0FBQztNQUNuQyxJQUFJRyxLQUFLLEdBQUdqRCw2Q0FBQyxDQUFDNkMsTUFBTSxDQUFDNUIsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQ2lCLElBQUksQ0FBQyxzRUFBc0UsQ0FBQztNQUV0SWUsS0FBSyxDQUFDYyxLQUFLLENBQUMsQ0FBQztJQUNmO0VBQUM7SUFBQTFDLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFPLFVBQVVBLENBQUNmLEtBQUssRUFBRTtNQUNoQixJQUFJK0IsTUFBTSxHQUFHN0MsNkNBQUMsQ0FBQ2MsS0FBSyxDQUFDZ0MsYUFBYSxDQUFDO01BQ25DLElBQUlhLElBQUksR0FBR2QsTUFBTSxDQUFDNUIsT0FBTyxDQUFDLHdCQUF3QixDQUFDO01BRW5ENEIsTUFBTSxDQUFDbUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQ1YsV0FBVyxDQUFDLHlCQUF5QixDQUFDLENBQUNRLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztNQUNoSEgsSUFBSSxDQUFDTCxXQUFXLENBQUMsc0JBQXNCLENBQUM7SUFDMUM7RUFBQztJQUFBakMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQVEsU0FBU0EsQ0FBQ2hCLEtBQUssRUFBRTtNQUNmLElBQUkrQixNQUFNLEdBQUc3Qyw2Q0FBQyxDQUFDYyxLQUFLLENBQUNnQyxhQUFhLENBQUM7TUFDbkMsSUFBSW1CLE1BQU0sR0FBR3BCLE1BQU0sQ0FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQztNQUN2QyxJQUFJOEIsVUFBVSxHQUFHckIsTUFBTSxDQUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxLQUFLO01BQ3hELElBQUkzQixJQUFJLEdBQUdULDZDQUFDLENBQUM2QyxNQUFNLENBQUM1QixPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztNQUN4RCxJQUFJZ0MsS0FBSyxHQUFHeEMsSUFBSSxDQUFDUSxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2lCLElBQUksQ0FBQywrQkFBK0IsQ0FBQztNQUUxRmUsS0FBSyxDQUFDa0IsSUFBSSxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQyxFQUFLO1FBQ25CLElBQUlDLENBQUMsR0FBR3RFLDZDQUFDLENBQUNvRSxDQUFDLENBQUMsQ0FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcrQixNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQy9DLElBQUlNLENBQUMsR0FBR3ZFLDZDQUFDLENBQUNxRSxDQUFDLENBQUMsQ0FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcrQixNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQy9DLElBQUlFLElBQUk7UUFFUixJQUFJRCxVQUFVLEtBQUssS0FBSyxFQUFFO1VBQ3hCQyxJQUFJLEdBQUlHLENBQUMsQ0FBQ0UsR0FBRyxDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxHQUNoQixDQUFDLENBQUMsR0FDREYsQ0FBQyxDQUFDRSxHQUFHLENBQUMsQ0FBQyxHQUFHRCxDQUFDLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEdBQ2hCLENBQUMsR0FDRCxDQUFDO1FBQ2QsQ0FBQyxNQUFNO1VBQ0xMLElBQUksR0FBSUcsQ0FBQyxDQUFDRSxHQUFHLENBQUMsQ0FBQyxHQUFHRCxDQUFDLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEdBQ2hCLENBQUMsQ0FBQyxHQUNERixDQUFDLENBQUNFLEdBQUcsQ0FBQyxDQUFDLEdBQUdELENBQUMsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsR0FDaEIsQ0FBQyxHQUNELENBQUM7UUFDZDtRQUVBLE9BQU9MLElBQUk7TUFDYixDQUFDLENBQUMsQ0FBQzVELElBQUksQ0FBQyxVQUFDa0UsQ0FBQyxFQUFFdEMsU0FBUyxFQUFLO1FBQ3hCbkMsNkNBQUMsQ0FBQ21DLFNBQVMsQ0FBQyxDQUFDa0IsTUFBTSxDQUFDLENBQUMsQ0FBQ3FCLE1BQU0sQ0FBQ3ZDLFNBQVMsQ0FBQztNQUN6QyxDQUFDLENBQUM7TUFFRixJQUFJLENBQUNRLE9BQU8sQ0FBQ2xDLElBQUksQ0FBQztJQUNwQjtFQUFDO0lBQUFZLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFXLFVBQVVBLENBQUNuQixLQUFLLEVBQUU7TUFDaEIsSUFBSTZELEtBQUssR0FBRzNFLDZDQUFDLENBQUNjLEtBQUssQ0FBQ0MsTUFBTSxDQUFDO01BQzNCLElBQUlPLEtBQUssR0FBR3FELEtBQUssQ0FBQ0gsR0FBRyxDQUFDLENBQUM7TUFDdkIsSUFBSWIsSUFBSSxHQUFHZ0IsS0FBSyxDQUFDMUQsT0FBTyxDQUFDLHVCQUF1QixDQUFDO01BRWpEMEMsSUFBSSxDQUFDdkIsSUFBSSxDQUFDLHVCQUF1QixFQUFFdUIsSUFBSSxDQUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFZCxLQUFLLENBQUM7TUFDN0YsSUFBSSxDQUFDcUIsT0FBTyxDQUFDLElBQUksRUFBRWdCLElBQUksQ0FBQztJQUMxQjtFQUFDO0lBQUF0QyxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBcUIsT0FBT0EsQ0FBQ2xDLElBQUksRUFBRXdDLEtBQUssRUFBRTtNQUNuQkEsS0FBSyxHQUFHQSxLQUFLLElBQUlqRCw2Q0FBQyxDQUFDUyxJQUFJLENBQUMsQ0FBQ1EsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUNpQixJQUFJLENBQUMsK0JBQStCLENBQUM7TUFFbEdlLEtBQUssQ0FBQzFDLElBQUksQ0FBQyxVQUFDQyxLQUFLLEVBQUVtRCxJQUFJLEVBQUs7UUFDMUJBLElBQUksR0FBRzNELDZDQUFDLENBQUMyRCxJQUFJLENBQUM7UUFFZCxJQUFJaUIsUUFBUSxHQUFHakIsSUFBSSxDQUFDekIsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQzlDLElBQUkyQyxhQUFhLEdBQUdELFFBQVEsQ0FBQ0osR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSU0sWUFBWSxHQUFHRixRQUFRLENBQUMxRCxNQUFNO1FBQ2xDLElBQUk2RCxVQUFVLEdBQUdwQixJQUFJLENBQUN2QixJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFFbkR1QixJQUFJLENBQUNLLElBQUksQ0FBQyxxQkFBcUIsRUFBRWMsWUFBWSxHQUNWRCxhQUFhLEdBQ2JyRSxLQUFLLENBQUM7UUFFekMsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDd0UsT0FBTyxDQUFDLFVBQUNDLElBQUksRUFBSztVQUN0THRCLElBQUksQ0FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcrQyxJQUFJLEdBQUcsT0FBTyxHQUFHQSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMxRSxJQUFJLENBQUMsWUFBVztZQUMzRCxJQUFJMkUsT0FBTyxHQUFHbEYsNkNBQUMsQ0FBQyxJQUFJLENBQUM7WUFDckIsSUFBSW1GLE9BQU8sR0FBRyxFQUFFO1lBQ2hCLElBQUlDLFdBQVcsR0FBRyxJQUFJO1lBQ3RCLElBQUlDLE9BQU8sR0FBRyxDQUNaLElBQUlDLE1BQU0sQ0FBQyxlQUFlLEdBQUdQLFVBQVUsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQ3RELElBQUlPLE1BQU0sQ0FBQyxlQUFlLEdBQUdQLFVBQVUsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQ3ZEOztZQUVEO1lBQ0EsSUFBSUUsSUFBSSxLQUFLLE1BQU0sSUFBSUMsT0FBTyxDQUFDOUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2NBQ3BELElBQU1tRCxXQUFXLEdBQUdMLE9BQU8sQ0FBQ2xCLElBQUksQ0FBQ2lCLElBQUksQ0FBQyxDQUFDTyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7Y0FDOUQsSUFBTUMsZUFBZSxHQUFHUCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUNqRSxPQUFPLENBQUMsd0JBQXdCLENBQUM7Y0FFcEUsSUFBSXNFLFdBQVcsRUFBRTtnQkFDZkgsV0FBVyxHQUFHRyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUM1QkwsT0FBTyxDQUFDbEIsSUFBSSxDQUFDaUIsSUFBSSxFQUFFQyxPQUFPLENBQUNsQixJQUFJLENBQUNpQixJQUFJLENBQUMsQ0FBQ1MsS0FBSyxDQUFDLENBQUMsRUFBRU4sV0FBVyxDQUFDbEUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Y0FDMUU7Y0FFQSxJQUFJdUUsZUFBZSxJQUFJQSxlQUFlLENBQUNFLE9BQU8sSUFBSUYsZUFBZSxDQUFDRSxPQUFPLENBQUNDLGFBQWEsRUFBRTtnQkFDdkZWLE9BQU8sQ0FBQ2xCLElBQUksQ0FBQ2lCLElBQUksRUFBRVEsZUFBZSxDQUFDRSxPQUFPLENBQUNDLGFBQWEsQ0FBQztjQUMzRDtZQUNGO1lBRUEsSUFBSWQsWUFBWSxJQUFJLENBQUNELGFBQWEsRUFBRTtjQUNsQ0ssT0FBTyxDQUFDbEIsSUFBSSxLQUFBNkIsTUFBQSxDQUFLWixJQUFJLEdBQUlDLE9BQU8sQ0FBQ2xCLElBQUksQ0FBQ2lCLElBQUksQ0FBQyxDQUFDO2NBQzVDQyxPQUFPLENBQUNsQixJQUFJLENBQUNpQixJQUFJLEVBQUUsSUFBSSxDQUFDO2NBQ3hCO1lBQ0Y7WUFFQSxJQUFJQyxPQUFPLENBQUNsQixJQUFJLEtBQUE2QixNQUFBLENBQUtaLElBQUksQ0FBRSxDQUFDLEVBQUU7Y0FDNUJDLE9BQU8sQ0FBQ2xCLElBQUksQ0FBQ2lCLElBQUksRUFBRUMsT0FBTyxDQUFDbEIsSUFBSSxLQUFBNkIsTUFBQSxDQUFLWixJQUFJLENBQUUsQ0FBQyxDQUFDO2NBQzVDQyxPQUFPLENBQUNsQixJQUFJLEtBQUE2QixNQUFBLENBQUtaLElBQUksR0FBSSxJQUFJLENBQUM7WUFDaEM7WUFFQUMsT0FBTyxDQUFDWSxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLEdBQUcsRUFBRTNDLE1BQU07Y0FBQSxPQUFLOEIsT0FBTyxDQUFDYyxJQUFJLENBQUNqRyw2Q0FBQyxDQUFDcUQsTUFBTSxDQUFDLENBQUNXLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQUEsRUFBQztZQUNsSG1CLE9BQU8sQ0FBQ2UsT0FBTyxDQUFDLENBQUM7WUFFakIsSUFBSUMsVUFBVSxHQUFHcEIsVUFBVTtZQUMzQixJQUFJcUIsUUFBUSxHQUFHbEIsT0FBTyxDQUFDbEIsSUFBSSxDQUFDaUIsSUFBSSxDQUFDLENBQUNvQixPQUFPLENBQUNoQixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBQztZQUFBLEdBQTBCO2NBQy9FYyxVQUFVLEdBQUdoQixPQUFPLENBQUNtQixLQUFLLENBQUMsQ0FBQyxJQUFJSCxVQUFVO2NBQzFDLFdBQUFOLE1BQUEsQ0FBV00sVUFBVTtZQUN2QixDQUFDLENBQUM7WUFFRkMsUUFBUSxHQUFHQSxRQUFRLENBQUNDLE9BQU8sQ0FBQ2hCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFDO1lBQUEsR0FBMEI7Y0FDakVjLFVBQVUsR0FBR2hCLE9BQU8sQ0FBQ21CLEtBQUssQ0FBQyxDQUFDLElBQUlILFVBQVU7Y0FDMUMsV0FBQU4sTUFBQSxDQUFXTSxVQUFVO1lBQ3ZCLENBQUMsQ0FBQztZQUVGakIsT0FBTyxDQUFDbEIsSUFBSSxDQUFDaUIsSUFBSSxFQUFFRyxXQUFXLE1BQUFTLE1BQUEsQ0FBTU8sUUFBUSxFQUFBUCxNQUFBLENBQUdULFdBQVcsSUFBS2dCLFFBQVEsQ0FBQztVQUMxRSxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7SUFDSjtFQUFDO0lBQUEvRSxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBVixhQUFhQSxDQUFDRSxLQUFLLEVBQUVDLE1BQU0sMkJBQTBCO01BQUEsSUFBQXdGLE1BQUE7TUFDbkQsSUFBSUMsV0FBVyxHQUFHeEcsNkNBQUMsQ0FBQ2UsTUFBTSxDQUFDLENBQUNtQixJQUFJLENBQUMsMEJBQTBCLENBQUM7TUFDNUQsSUFBSSxDQUFDc0UsV0FBVyxDQUFDdEYsTUFBTSxFQUFFO1FBQ3ZCO01BQ0Y7TUFFQXNGLFdBQVcsQ0FBQ2pHLElBQUksQ0FBQyxVQUFDQyxLQUFLLEVBQUVpRyxVQUFVLEVBQUs7UUFDdENBLFVBQVUsR0FBR3pHLDZDQUFDLENBQUN5RyxVQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUNGLE1BQUksQ0FBQ2xHLEtBQUssQ0FBQ0csS0FBSyxDQUFDaUcsVUFBVSxDQUFDLEVBQUU7VUFDbENGLE1BQUksQ0FBQzdGLE9BQU8sQ0FBQytGLFVBQVUsQ0FBQztRQUMxQjtNQUNGLENBQUMsQ0FBQztJQUNKO0VBQUM7SUFBQXBGLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFzQixnQ0FBZ0NBLENBQUNuQyxJQUFJLEVBQUU7TUFDckMsSUFBSXdDLEtBQUssR0FBR3hDLElBQUksQ0FBQ1EsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUNpQixJQUFJLENBQUMsK0JBQStCLENBQUM7TUFDMUYsSUFBSTBCLFFBQVEsR0FBR25ELElBQUksQ0FBQzJCLElBQUksQ0FBQyxLQUFLLENBQUM7TUFDL0IsSUFBSWMsUUFBUSxHQUFHekMsSUFBSSxDQUFDMkIsSUFBSSxDQUFDLEtBQUssQ0FBQztNQUUvQjNCLElBQUksQ0FBQ3lCLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDOEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7TUFDOUV2RCxJQUFJLENBQUN5QixJQUFJLENBQUMsa0RBQWtELENBQUMsQ0FBQzhCLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO01BRXJGLElBQUksT0FBT0osUUFBUSxLQUFLLFdBQVcsSUFBSVgsS0FBSyxDQUFDL0IsTUFBTSxJQUFJMEMsUUFBUSxFQUFFO1FBQy9EbkQsSUFBSSxDQUFDeUIsSUFBSSxDQUFDLGtEQUFrRCxDQUFDLENBQUM4QixJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztNQUN0RjtNQUVBLElBQUksT0FBT2QsUUFBUSxLQUFLLFdBQVcsSUFBSUQsS0FBSyxDQUFDL0IsTUFBTSxJQUFJZ0MsUUFBUSxFQUFFO1FBQy9EekMsSUFBSSxDQUFDeUIsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLENBQUM4QixJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztNQUMvRTtJQUNGO0VBQUM7SUFBQTNDLEdBQUE7SUFBQUMsS0FBQSxFQTNORCxTQUFPSCxrQkFBa0JBLENBQUEsRUFBRztNQUMxQm5CLDZDQUFDLENBQUMsOENBQThDLENBQUMsQ0FBQzhELFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDdEU7RUFBQztBQUFBO0FBcEZrQztBQWdUOUIsSUFBSTZDLFFBQVEsR0FBRyxJQUFJekcsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL0dyYXYvLi9hcHAvZm9ybXMvZmllbGRzL2NvbGxlY3Rpb25zLmpzPzZjNTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBTb3J0YWJsZSBmcm9tICdzb3J0YWJsZWpzJztcbmltcG9ydCAnLi4vLi4vdXRpbHMvanF1ZXJ5LXV0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sbGVjdGlvbnNGaWVsZCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubGlzdHMgPSAkKCk7XG5cbiAgICBjb25zdCBib2R5ID0gJCgnYm9keScpO1xuICAgICQoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZWFjaCgoaW5kZXgsIGxpc3QpID0+IHRoaXMuYWRkTGlzdChsaXN0KSk7XG4gICAgYm9keS5vbignbXV0YXRpb24uX2dyYXYnLCB0aGlzLl9vbkFkZGVkTm9kZXMuYmluZCh0aGlzKSk7XG4gICAgYm9keS5vbignY2xpY2snLCAoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgIGlmICghKHRhcmdldC5pcygnW2RhdGEtYWN0aW9uPVwiY29uZmlybVwiXSwgW2RhdGEtYWN0aW9uPVwiZGVsZXRlXCJdJykgfHwgdGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFjdGlvbj1cImNvbmZpcm1cIl0sIFtkYXRhLWFjdGlvbj1cImRlbGV0ZVwiXScpLmxlbmd0aCkpIHtcbiAgICAgICAgQ29sbGVjdGlvbnNGaWVsZC5jbG9zZUNvbmZpcm1hdGlvbnMoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbiAgYWRkTGlzdChsaXN0KSB7XG4gICAgbGlzdCA9ICQobGlzdCk7XG4gICAgdGhpcy5saXN0cyA9IHRoaXMubGlzdHMuYWRkKGxpc3QpO1xuXG4gICAgbGlzdC5vbignY2xpY2snLCAnPiAuY29sbGVjdGlvbi1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImFkZFwiXScsIChldmVudCkgPT4gdGhpcy5hZGRJdGVtKGV2ZW50KSk7XG4gICAgbGlzdC5vbignY2xpY2snLCAnPiB1bCA+IGxpID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJjb25maXJtXCJdJywgKGV2ZW50KSA9PiB0aGlzLmNvbmZpcm1SZW1vdmUoZXZlbnQpKTtcbiAgICBsaXN0Lm9uKCdjbGljaycsICc+IHVsID4gbGkgPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImRlbGV0ZVwiXScsIChldmVudCkgPT4gdGhpcy5yZW1vdmVJdGVtKGV2ZW50KSk7XG4gICAgbGlzdC5vbignY2xpY2snLCAnPiB1bCA+IGxpID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJjb2xsYXBzZVwiXScsIChldmVudCkgPT4gdGhpcy5jb2xsYXBzZUl0ZW0oZXZlbnQpKTtcbiAgICBsaXN0Lm9uKCdjbGljaycsICc+IHVsID4gbGkgPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImV4cGFuZFwiXScsIChldmVudCkgPT4gdGhpcy5leHBhbmRJdGVtKGV2ZW50KSk7XG4gICAgbGlzdC5vbignY2xpY2snLCAnPiAuY29sbGVjdGlvbi1hY3Rpb25zIFtkYXRhLWFjdGlvbi1zb3J0PVwiZGF0ZVwiXScsIChldmVudCkgPT4gdGhpcy5zb3J0SXRlbXMoZXZlbnQpKTtcbiAgICBsaXN0Lm9uKCdjbGljaycsICc+IC5jb2xsZWN0aW9uLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiY29sbGFwc2VfYWxsXCJdJywgKGV2ZW50KSA9PiB0aGlzLmNvbGxhcHNlSXRlbXMoZXZlbnQpKTtcbiAgICBsaXN0Lm9uKCdjbGljaycsICc+IC5jb2xsZWN0aW9uLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiZXhwYW5kX2FsbFwiXScsIChldmVudCkgPT4gdGhpcy5leHBhbmRJdGVtcyhldmVudCkpO1xuICAgIGxpc3Qub24oJ2lucHV0IGNoYW5nZScsICdbZGF0YS1rZXktb2JzZXJ2ZV0nLCAoZXZlbnQpID0+IHRoaXMub2JzZXJ2ZUtleShldmVudCkpO1xuXG4gICAgbGlzdC5maW5kKCdbZGF0YS1jb2xsZWN0aW9uLWhvbGRlcl0nKS5lYWNoKChpbmRleCwgY29udGFpbmVyKSA9PiB7XG4gICAgICBjb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICBpZiAoY29udGFpbmVyLmRhdGEoJ2NvbGxlY3Rpb24tc29ydCcpIHx8IGNvbnRhaW5lclswXS5oYXNBdHRyaWJ1dGUoJ2RhdGEtY29sbGVjdGlvbi1ub3NvcnQnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5kYXRhKCdjb2xsZWN0aW9uLXNvcnQnLCBuZXcgU29ydGFibGUoY29udGFpbmVyLmdldCgwKSwge1xuICAgICAgICBmb3JjZUZhbGxiYWNrOiBmYWxzZSxcbiAgICAgICAgaGFuZGxlOiAnLmNvbGxlY3Rpb24tc29ydCcsXG4gICAgICAgIGFuaW1hdGlvbjogMTUwLFxuICAgICAgICBvblVwZGF0ZTogKCkgPT4gdGhpcy5yZWluZGV4KGNvbnRhaW5lcilcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3VwZGF0ZUFjdGlvbnNTdGF0ZUJhc2VkT25NaW5NYXgobGlzdCk7XG4gIH1cblxuICBhZGRJdGVtKGV2ZW50KSB7XG4gICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgbGV0IHBvc2l0aW9uID0gYnV0dG9uLmRhdGEoJ2FjdGlvbi1hZGQnKSB8fCAnYm90dG9tJztcbiAgICBsZXQgbGlzdCA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpO1xuICAgIGxldCB0ZW1wbGF0ZSA9ICQobGlzdC5maW5kKCc+IFtkYXRhLWNvbGxlY3Rpb24tdGVtcGxhdGU9XCJuZXdcIl0nKS5kYXRhKCdjb2xsZWN0aW9uLXRlbXBsYXRlLWh0bWwnKSk7XG5cbiAgICB0aGlzLl91cGRhdGVBY3Rpb25zU3RhdGVCYXNlZE9uTWluTWF4KGxpc3QpO1xuICAgIGxldCBpdGVtcyA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgIGxldCBtYXhJdGVtcyA9IGxpc3QuZGF0YSgnbWF4Jyk7XG4gICAgaWYgKHR5cGVvZiBtYXhJdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgaXRlbXMubGVuZ3RoID49IG1heEl0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGlzdC5maW5kKCc+IFtkYXRhLWNvbGxlY3Rpb24taG9sZGVyXScpW3Bvc2l0aW9uID09PSAndG9wJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdwcmVwZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdhcHBlbmQnXSh0ZW1wbGF0ZSk7XG4gICAgdGhpcy5yZWluZGV4KGxpc3QpO1xuXG4gICAgaXRlbXMgPSBsaXN0LmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcbiAgICBsZXQgdG9wQWN0aW9uID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJ1tkYXRhLWFjdGlvbi1hZGQ9XCJ0b3BcIl0nKTtcbiAgICBsZXQgc29ydEFjdGlvbiA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCdbZGF0YS1hY3Rpb249XCJzb3J0XCJdJyk7XG5cbiAgICBpZiAoaXRlbXMubGVuZ3RoKSB7XG4gICAgICBpZiAodG9wQWN0aW9uLmxlbmd0aCkge1xuICAgICAgICB0b3BBY3Rpb24ucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpO1xuICAgICAgfVxuICAgICAgaWYgKHNvcnRBY3Rpb24ubGVuZ3RoICYmIGl0ZW1zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgc29ydEFjdGlvbi5yZW1vdmVDbGFzcygnaGlkZGVuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVmcmVzaCB0b2dnbGVhYmxlcyBpbiBhIGxpc3RcbiAgICAkKCdbZGF0YS1ncmF2LWZpZWxkPVwidG9nZ2xlYWJsZVwiXSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgfVxuXG4gIHN0YXRpYyBjbG9zZUNvbmZpcm1hdGlvbnMoKSB7XG4gICAgJCgnLmxpc3QtY29uZmlybS1kZWxldGlvbltkYXRhLWFjdGlvbj1cImRlbGV0ZVwiXScpLmFkZENsYXNzKCdoaWRkZW4nKTtcbiAgfVxuXG4gIGNvbmZpcm1SZW1vdmUoZXZlbnQpIHtcblxuICAgIGNvbnN0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgbGlzdCA9ICQoYnV0dG9uLmNsb3Nlc3QoJy5pdGVtLWFjdGlvbnMnKSk7XG4gICAgY29uc3QgYWN0aW9uID0gbGlzdC5maW5kKCcubGlzdC1jb25maXJtLWRlbGV0aW9uW2RhdGEtYWN0aW9uPVwiZGVsZXRlXCJdJyk7XG4gICAgY29uc3QgaXNIaWRkZW4gPSBhY3Rpb24uaGFzQ2xhc3MoJ2hpZGRlbicpO1xuXG4gICAgQ29sbGVjdGlvbnNGaWVsZC5jbG9zZUNvbmZpcm1hdGlvbnMoKTtcbiAgICBhY3Rpb25baXNIaWRkZW4gPyAncmVtb3ZlQ2xhc3MnIDogJ2FkZENsYXNzJ10oJ2hpZGRlbicpO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShldmVudCkge1xuICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGxldCBpdGVtID0gYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcbiAgICBsZXQgbGlzdCA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpO1xuXG4gICAgbGV0IGl0ZW1zID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG4gICAgbGV0IG1pbkl0ZW1zID0gbGlzdC5kYXRhKCdtaW4nKTtcblxuICAgIGlmICh0eXBlb2YgbWluSXRlbXMgIT09ICd1bmRlZmluZWQnICYmIGl0ZW1zLmxlbmd0aCA8PSBtaW5JdGVtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGl0ZW0ucmVtb3ZlKCk7XG4gICAgdGhpcy5yZWluZGV4KGxpc3QpO1xuXG4gICAgaXRlbXMgPSBsaXN0LmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcbiAgICBsZXQgdG9wQWN0aW9uID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJ1tkYXRhLWFjdGlvbi1hZGQ9XCJ0b3BcIl0nKTtcbiAgICBsZXQgc29ydEFjdGlvbiA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCdbZGF0YS1hY3Rpb249XCJzb3J0XCJdJyk7XG5cbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgaWYgKHRvcEFjdGlvbi5sZW5ndGgpIHtcbiAgICAgICAgdG9wQWN0aW9uLnBhcmVudCgpLmFkZENsYXNzKCdoaWRkZW4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc29ydEFjdGlvbi5sZW5ndGggJiYgaXRlbXMubGVuZ3RoIDw9IDEpIHtcbiAgICAgIHNvcnRBY3Rpb24uYWRkQ2xhc3MoJ2hpZGRlbicpO1xuICAgIH1cbiAgICB0aGlzLl91cGRhdGVBY3Rpb25zU3RhdGVCYXNlZE9uTWluTWF4KGxpc3QpO1xuICB9XG5cbiAgY29sbGFwc2VJdGVtcyhldmVudCkge1xuICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGxldCBpdGVtcyA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJjb2xsYXBzZVwiXScpO1xuXG4gICAgaXRlbXMuY2xpY2soKTtcbiAgfVxuXG4gIGNvbGxhcHNlSXRlbShldmVudCkge1xuICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGxldCBpdGVtID0gYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcblxuICAgIGJ1dHRvbi5hdHRyKCdkYXRhLWFjdGlvbicsICdleHBhbmQnKS5yZW1vdmVDbGFzcygnZmEtY2hldnJvbi1jaXJjbGUtZG93bicpLmFkZENsYXNzKCdmYS1jaGV2cm9uLWNpcmNsZS1yaWdodCcpO1xuICAgIGl0ZW0uYWRkQ2xhc3MoJ2NvbGxlY3Rpb24tY29sbGFwc2VkJyk7XG4gIH1cblxuICBleHBhbmRJdGVtcyhldmVudCkge1xuICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgIGxldCBpdGVtcyA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJleHBhbmRcIl0nKTtcblxuICAgIGl0ZW1zLmNsaWNrKCk7XG4gIH1cblxuICBleHBhbmRJdGVtKGV2ZW50KSB7XG4gICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgbGV0IGl0ZW0gPSBidXR0b24uY2xvc2VzdCgnW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuXG4gICAgYnV0dG9uLmF0dHIoJ2RhdGEtYWN0aW9uJywgJ2NvbGxhcHNlJykucmVtb3ZlQ2xhc3MoJ2ZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0JykuYWRkQ2xhc3MoJ2ZhLWNoZXZyb24tY2lyY2xlLWRvd24nKTtcbiAgICBpdGVtLnJlbW92ZUNsYXNzKCdjb2xsZWN0aW9uLWNvbGxhcHNlZCcpO1xuICB9XG5cbiAgc29ydEl0ZW1zKGV2ZW50KSB7XG4gICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgbGV0IHNvcnRieSA9IGJ1dHRvbi5kYXRhKCdhY3Rpb24tc29ydCcpO1xuICAgIGxldCBzb3J0YnlfZGlyID0gYnV0dG9uLmRhdGEoJ2FjdGlvbi1zb3J0LWRpcicpIHx8ICdhc2MnO1xuICAgIGxldCBsaXN0ID0gJChidXR0b24uY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKSk7XG4gICAgbGV0IGl0ZW1zID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG5cbiAgICBpdGVtcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBsZXQgQSA9ICQoYSkuZmluZCgnW25hbWUkPVwiWycgKyBzb3J0YnkgKyAnXVwiXScpO1xuICAgICAgbGV0IEIgPSAkKGIpLmZpbmQoJ1tuYW1lJD1cIlsnICsgc29ydGJ5ICsgJ11cIl0nKTtcbiAgICAgIGxldCBzb3J0O1xuXG4gICAgICBpZiAoc29ydGJ5X2RpciA9PT0gJ2FzYycpIHtcbiAgICAgICAgc29ydCA9IChBLnZhbCgpIDwgQi52YWwoKSlcbiAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgIDogKEEudmFsKCkgPiBCLnZhbCgpKVxuICAgICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgICAgOiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc29ydCA9IChBLnZhbCgpID4gQi52YWwoKSlcbiAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgIDogKEEudmFsKCkgPCBCLnZhbCgpKVxuICAgICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgICAgOiAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc29ydDtcbiAgICB9KS5lYWNoKChfLCBjb250YWluZXIpID0+IHtcbiAgICAgICQoY29udGFpbmVyKS5wYXJlbnQoKS5hcHBlbmQoY29udGFpbmVyKTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVpbmRleChsaXN0KTtcbiAgfVxuXG4gIG9ic2VydmVLZXkoZXZlbnQpIHtcbiAgICBsZXQgaW5wdXQgPSAkKGV2ZW50LnRhcmdldCk7XG4gICAgbGV0IHZhbHVlID0gaW5wdXQudmFsKCk7XG4gICAgbGV0IGl0ZW0gPSBpbnB1dC5jbG9zZXN0KCdbZGF0YS1jb2xsZWN0aW9uLWtleV0nKTtcblxuICAgIGl0ZW0uZGF0YSgnY29sbGVjdGlvbi1rZXktYmFja3VwJywgaXRlbS5kYXRhKCdjb2xsZWN0aW9uLWtleScpKS5kYXRhKCdjb2xsZWN0aW9uLWtleScsIHZhbHVlKTtcbiAgICB0aGlzLnJlaW5kZXgobnVsbCwgaXRlbSk7XG4gIH1cblxuICByZWluZGV4KGxpc3QsIGl0ZW1zKSB7XG4gICAgaXRlbXMgPSBpdGVtcyB8fCAkKGxpc3QpLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcblxuICAgIGl0ZW1zLmVhY2goKGluZGV4LCBpdGVtKSA9PiB7XG4gICAgICBpdGVtID0gJChpdGVtKTtcblxuICAgICAgbGV0IG9ic2VydmVkID0gaXRlbS5maW5kKCdbZGF0YS1rZXktb2JzZXJ2ZV0nKTtcbiAgICAgIGxldCBvYnNlcnZlZFZhbHVlID0gb2JzZXJ2ZWQudmFsKCk7XG4gICAgICBsZXQgaGFzQ3VzdG9tS2V5ID0gb2JzZXJ2ZWQubGVuZ3RoO1xuICAgICAgbGV0IGN1cnJlbnRLZXkgPSBpdGVtLmRhdGEoJ2NvbGxlY3Rpb24ta2V5LWJhY2t1cCcpO1xuXG4gICAgICBpdGVtLmF0dHIoJ2RhdGEtY29sbGVjdGlvbi1rZXknLCBoYXNDdXN0b21LZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gb2JzZXJ2ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpbmRleCk7XG5cbiAgICAgIFsnbmFtZScsICdkYXRhLWdyYXYtZmllbGQtbmFtZScsICdmb3InLCAnaWQnLCAnZGF0YS1ncmF2LWZpbGUtc2V0dGluZ3MnLCAnZGF0YS1maWxlLXBvc3QtYWRkJywgJ2RhdGEtZmlsZS1wb3N0LXJlbW92ZScsICdkYXRhLWdyYXYtYXJyYXktbmFtZScsICdkYXRhLWdyYXYtZWxlbWVudHMnXS5mb3JFYWNoKChwcm9wKSA9PiB7XG4gICAgICAgIGl0ZW0uZmluZCgnWycgKyBwcm9wICsgJ10sIFtfJyArIHByb3AgKyAnXScpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICAgICAgbGV0IGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgICAgICAgIGxldCBpbmRleGVzID0gW107XG4gICAgICAgICAgbGV0IGFycmF5X2luZGV4ID0gbnVsbDtcbiAgICAgICAgICBsZXQgcmVnZXhwcyA9IFtcbiAgICAgICAgICAgIG5ldyBSZWdFeHAoJ1xcXFxbKFxcXFxkK3xcXFxcKnwnICsgY3VycmVudEtleSArICcpXFxcXF0nLCAnZycpLFxuICAgICAgICAgICAgbmV3IFJlZ0V4cCgnXFxcXC4oXFxcXGQrfFxcXFwqfCcgKyBjdXJyZW50S2V5ICsgJylcXFxcLicsICdnJylcbiAgICAgICAgICBdO1xuXG4gICAgICAgICAgLy8gc3BlY2lhbCBjYXNlIHRvIHByZXNlcnZlIGFycmF5IGZpZWxkIGluZGV4IGtleXNcbiAgICAgICAgICBpZiAocHJvcCA9PT0gJ25hbWUnICYmIGVsZW1lbnQuZGF0YSgnZ3JhdkFycmF5VHlwZScpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaF9pbmRleCA9IGVsZW1lbnQuYXR0cihwcm9wKS5tYXRjaCgvXFxbWzAtOV17MSx9XFxdJC8pO1xuICAgICAgICAgICAgY29uc3QgYXJyYXlfY29udGFpbmVyID0gZWxlbWVudFswXS5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LW5hbWVdJyk7XG5cbiAgICAgICAgICAgIGlmIChtYXRjaF9pbmRleCkge1xuICAgICAgICAgICAgICBhcnJheV9pbmRleCA9IG1hdGNoX2luZGV4WzBdO1xuICAgICAgICAgICAgICBlbGVtZW50LmF0dHIocHJvcCwgZWxlbWVudC5hdHRyKHByb3ApLnNsaWNlKDAsIGFycmF5X2luZGV4Lmxlbmd0aCAqIC0xKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChhcnJheV9jb250YWluZXIgJiYgYXJyYXlfY29udGFpbmVyLmRhdGFzZXQgJiYgYXJyYXlfY29udGFpbmVyLmRhdGFzZXQuZ3JhdkFycmF5TmFtZSkge1xuICAgICAgICAgICAgICBlbGVtZW50LmF0dHIocHJvcCwgYXJyYXlfY29udGFpbmVyLmRhdGFzZXQuZ3JhdkFycmF5TmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGhhc0N1c3RvbUtleSAmJiAhb2JzZXJ2ZWRWYWx1ZSkge1xuICAgICAgICAgICAgZWxlbWVudC5hdHRyKGBfJHtwcm9wfWAsIGVsZW1lbnQuYXR0cihwcm9wKSk7XG4gICAgICAgICAgICBlbGVtZW50LmF0dHIocHJvcCwgbnVsbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGVsZW1lbnQuYXR0cihgXyR7cHJvcH1gKSkge1xuICAgICAgICAgICAgZWxlbWVudC5hdHRyKHByb3AsIGVsZW1lbnQuYXR0cihgXyR7cHJvcH1gKSk7XG4gICAgICAgICAgICBlbGVtZW50LmF0dHIoYF8ke3Byb3B9YCwgbnVsbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZWxlbWVudC5wYXJlbnRzKCdbZGF0YS1jb2xsZWN0aW9uLWtleV0nKS5tYXAoKGlkeCwgcGFyZW50KSA9PiBpbmRleGVzLnB1c2goJChwYXJlbnQpLmF0dHIoJ2RhdGEtY29sbGVjdGlvbi1rZXknKSkpO1xuICAgICAgICAgIGluZGV4ZXMucmV2ZXJzZSgpO1xuXG4gICAgICAgICAgbGV0IG1hdGNoZWRLZXkgPSBjdXJyZW50S2V5O1xuICAgICAgICAgIGxldCByZXBsYWNlZCA9IGVsZW1lbnQuYXR0cihwcm9wKS5yZXBsYWNlKHJlZ2V4cHNbMF0sICgvKiBzdHIsIHAxLCBvZmZzZXQgKi8pID0+IHtcbiAgICAgICAgICAgIG1hdGNoZWRLZXkgPSBpbmRleGVzLnNoaWZ0KCkgfHwgbWF0Y2hlZEtleTtcbiAgICAgICAgICAgIHJldHVybiBgWyR7bWF0Y2hlZEtleX1dYDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJlcGxhY2VkID0gcmVwbGFjZWQucmVwbGFjZShyZWdleHBzWzFdLCAoLyogc3RyLCBwMSwgb2Zmc2V0ICovKSA9PiB7XG4gICAgICAgICAgICBtYXRjaGVkS2V5ID0gaW5kZXhlcy5zaGlmdCgpIHx8IG1hdGNoZWRLZXk7XG4gICAgICAgICAgICByZXR1cm4gYC4ke21hdGNoZWRLZXl9LmA7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBlbGVtZW50LmF0dHIocHJvcCwgYXJyYXlfaW5kZXggPyBgJHtyZXBsYWNlZH0ke2FycmF5X2luZGV4fWAgOiByZXBsYWNlZCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBfb25BZGRlZE5vZGVzKGV2ZW50LCB0YXJnZXQvKiAsIHJlY29yZCwgaW5zdGFuY2UgKi8pIHtcbiAgICBsZXQgY29sbGVjdGlvbnMgPSAkKHRhcmdldCkuZmluZCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKTtcbiAgICBpZiAoIWNvbGxlY3Rpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbGxlY3Rpb25zLmVhY2goKGluZGV4LCBjb2xsZWN0aW9uKSA9PiB7XG4gICAgICBjb2xsZWN0aW9uID0gJChjb2xsZWN0aW9uKTtcbiAgICAgIGlmICghfnRoaXMubGlzdHMuaW5kZXgoY29sbGVjdGlvbikpIHtcbiAgICAgICAgdGhpcy5hZGRMaXN0KGNvbGxlY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgX3VwZGF0ZUFjdGlvbnNTdGF0ZUJhc2VkT25NaW5NYXgobGlzdCkge1xuICAgIGxldCBpdGVtcyA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgIGxldCBtaW5JdGVtcyA9IGxpc3QuZGF0YSgnbWluJyk7XG4gICAgbGV0IG1heEl0ZW1zID0gbGlzdC5kYXRhKCdtYXgnKTtcblxuICAgIGxpc3QuZmluZCgnPiAuY29sbGVjdGlvbi1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImFkZFwiXScpLmF0dHIoJ2Rpc2FibGVkJywgZmFsc2UpO1xuICAgIGxpc3QuZmluZCgnPiB1bCA+IGxpID4gLml0ZW0tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJkZWxldGVcIl0nKS5hdHRyKCdkaXNhYmxlZCcsIGZhbHNlKTtcblxuICAgIGlmICh0eXBlb2YgbWluSXRlbXMgIT09ICd1bmRlZmluZWQnICYmIGl0ZW1zLmxlbmd0aCA8PSBtaW5JdGVtcykge1xuICAgICAgbGlzdC5maW5kKCc+IHVsID4gbGkgPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImRlbGV0ZVwiXScpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtYXhJdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgaXRlbXMubGVuZ3RoID49IG1heEl0ZW1zKSB7XG4gICAgICBsaXN0LmZpbmQoJz4gLmNvbGxlY3Rpb24tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJhZGRcIl0nKS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbGV0IEluc3RhbmNlID0gbmV3IENvbGxlY3Rpb25zRmllbGQoKTtcbiJdLCJuYW1lcyI6WyIkIiwiU29ydGFibGUiLCJDb2xsZWN0aW9uc0ZpZWxkIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJsaXN0cyIsImJvZHkiLCJlYWNoIiwiaW5kZXgiLCJsaXN0IiwiYWRkTGlzdCIsIm9uIiwiX29uQWRkZWROb2RlcyIsImJpbmQiLCJldmVudCIsInRhcmdldCIsImlzIiwiY2xvc2VzdCIsImxlbmd0aCIsImNsb3NlQ29uZmlybWF0aW9ucyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiX3RoaXMyIiwiYWRkIiwiYWRkSXRlbSIsImNvbmZpcm1SZW1vdmUiLCJyZW1vdmVJdGVtIiwiY29sbGFwc2VJdGVtIiwiZXhwYW5kSXRlbSIsInNvcnRJdGVtcyIsImNvbGxhcHNlSXRlbXMiLCJleHBhbmRJdGVtcyIsIm9ic2VydmVLZXkiLCJmaW5kIiwiY29udGFpbmVyIiwiZGF0YSIsImhhc0F0dHJpYnV0ZSIsImdldCIsImZvcmNlRmFsbGJhY2siLCJoYW5kbGUiLCJhbmltYXRpb24iLCJvblVwZGF0ZSIsInJlaW5kZXgiLCJfdXBkYXRlQWN0aW9uc1N0YXRlQmFzZWRPbk1pbk1heCIsImJ1dHRvbiIsImN1cnJlbnRUYXJnZXQiLCJwb3NpdGlvbiIsInRlbXBsYXRlIiwiaXRlbXMiLCJtYXhJdGVtcyIsInRvcEFjdGlvbiIsInNvcnRBY3Rpb24iLCJwYXJlbnQiLCJyZW1vdmVDbGFzcyIsInRyaWdnZXIiLCJhY3Rpb24iLCJpc0hpZGRlbiIsImhhc0NsYXNzIiwiaXRlbSIsIm1pbkl0ZW1zIiwicmVtb3ZlIiwiYWRkQ2xhc3MiLCJjbGljayIsImF0dHIiLCJzb3J0YnkiLCJzb3J0YnlfZGlyIiwic29ydCIsImEiLCJiIiwiQSIsIkIiLCJ2YWwiLCJfIiwiYXBwZW5kIiwiaW5wdXQiLCJvYnNlcnZlZCIsIm9ic2VydmVkVmFsdWUiLCJoYXNDdXN0b21LZXkiLCJjdXJyZW50S2V5IiwiZm9yRWFjaCIsInByb3AiLCJlbGVtZW50IiwiaW5kZXhlcyIsImFycmF5X2luZGV4IiwicmVnZXhwcyIsIlJlZ0V4cCIsIm1hdGNoX2luZGV4IiwibWF0Y2giLCJhcnJheV9jb250YWluZXIiLCJzbGljZSIsImRhdGFzZXQiLCJncmF2QXJyYXlOYW1lIiwiY29uY2F0IiwicGFyZW50cyIsIm1hcCIsImlkeCIsInB1c2giLCJyZXZlcnNlIiwibWF0Y2hlZEtleSIsInJlcGxhY2VkIiwicmVwbGFjZSIsInNoaWZ0IiwiX3RoaXMzIiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uIiwiZGVmYXVsdCIsIkluc3RhbmNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/forms/fields/collections.js\n\n}"); /***/ }), /***/ "./app/forms/fields/colorpicker.js": /*!*****************************************!*\ !*** ./app/forms/fields/colorpicker.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instance: () => (/* binding */ Instance),\n/* harmony export */ \"default\": () => (/* binding */ ColorpickerField)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mout_math_clamp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mout/math/clamp */ \"./node_modules/mout/math/clamp.js\");\n/* harmony import */ var mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(mout_math_clamp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mout_function_bind__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mout/function/bind */ \"./node_modules/mout/function/bind.js\");\n/* harmony import */ var mout_function_bind__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(mout_function_bind__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/colors */ \"./app/utils/colors.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\nvar isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\nvar MOUSEDOWN = 'mousedown touchstart MSPointerDown pointerdown';\nvar MOUSEMOVE = 'mousemove touchmove MSPointerMove pointermove';\nvar MOUSEUP = 'mouseup touchend MSPointerUp pointerup';\nvar FOCUSIN = isFirefox ? 'focus' : 'focusin';\nvar ColorpickerField = /*#__PURE__*/function () {\n function ColorpickerField(selector) {\n var _this = this;\n _classCallCheck(this, ColorpickerField);\n this.selector = selector;\n this.field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.selector);\n this.options = Object.assign({}, this.field.data('grav-colorpicker'));\n this.built = false;\n this.attach();\n if (this.options.update) {\n this.field.on('change._grav_colorpicker', function (event, field, hex, opacity) {\n var backgroundColor = hex;\n var rgb = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hex2rgb)(hex);\n if (opacity < 1) {\n backgroundColor = 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + opacity + ')';\n }\n var target = field.closest(_this.options.update);\n if (!target.length) {\n target = field.siblings(_this.options.update);\n }\n if (!target.length) {\n target = field.parent('.g-colorpicker').find(_this.options.update);\n }\n target.css({\n backgroundColor: backgroundColor\n });\n });\n }\n }\n return _createClass(ColorpickerField, [{\n key: \"attach\",\n value: function attach() {\n var _this2 = this;\n body.on(FOCUSIN, this.selector, function (event) {\n return _this2.show(event, event.currentTarget);\n });\n body.on(MOUSEDOWN, this.selector + ' .g-colorpicker, ' + this.selector + ' .g-colorpicker i', this.bound('iconClick'));\n body.on('keydown', this.selector, function (event) {\n switch (event.keyCode) {\n case 9:\n // tab\n _this2.hide();\n break;\n case 13: // enter\n case 27:\n // esc\n _this2.hide();\n event.currentTarget.blur();\n break;\n }\n return true;\n });\n\n // Update on keyup\n body.on('keyup', this.selector, function (event) {\n _this2.updateFromInput(true, event.currentTarget);\n return true;\n });\n\n // Update on paste\n body.on('paste', this.selector, function (event) {\n setTimeout(function () {\n return _this2.updateFromInput(true, event.currentTarget);\n }, 1);\n });\n }\n }, {\n key: \"show\",\n value: function show(event, target) {\n target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target);\n if (!this.built) {\n this.build();\n }\n this.element = target;\n this.reposition();\n this.wrapper.addClass('cp-visible');\n this.updateFromInput();\n this.wrapper.on(MOUSEDOWN, '.cp-grid, .cp-slider, .cp-opacity-slider', this.bound('bodyDown'));\n body.on(MOUSEMOVE, this.bound('bodyMove'));\n body.on(MOUSEDOWN, this.bound('bodyClick'));\n body.on(MOUSEUP, this.bound('targetReset'));\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#admin-main > .content-wrapper').on('scroll', this.bound('reposition'));\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.built) {\n return;\n }\n this.wrapper.removeClass('cp-visible');\n this.wrapper.undelegate(MOUSEDOWN, '.cp-grid, .cp-slider, .cp-opacity-slider', this.bound('bodyDown'));\n body.off(MOUSEMOVE, this.bound('bodyMove'));\n body.off(MOUSEDOWN, this.bound('bodyClick'));\n body.off(MOUSEUP, this.bound('targetReset'));\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#admin-main > .content-wrapper').on('scroll', this.bound('reposition'));\n }\n }, {\n key: \"build\",\n value: function build() {\n var _this3 = this;\n this.wrapper = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
');\n this.slider = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
'));\n this.opacitySlider = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
'));\n this.grid = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
')).append(jquery__WEBPACK_IMPORTED_MODULE_0___default()('
'));\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.grid.find('.cp-picker'));\n var tabs = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').appendTo(this.wrapper);\n this.tabs = {\n hue: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('HUE').appendTo(tabs),\n brightness: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('BRI').appendTo(tabs),\n saturation: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('SAT').appendTo(tabs),\n wheel: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('WHEEL').appendTo(tabs),\n transparent: jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').text('TRANSPARENT').appendTo(tabs)\n };\n tabs.on(MOUSEDOWN, '> div', function (event) {\n var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n if (element.is(_this3.tabs.transparent)) {\n var sliderHeight = _this3.opacitySlider.height();\n _this3.opacity = 0;\n _this3.opacitySlider.find('.cp-picker').css({\n 'top': mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - sliderHeight * _this3.opacity, 0, sliderHeight)\n });\n _this3.move(_this3.opacitySlider, {\n manualOpacity: true\n });\n return;\n }\n var active = tabs.find('.active');\n var mode = active.attr('class').replace(/\\s|active|cp-tab-/g, '');\n var newMode = element.attr('class').replace(/\\s|active|cp-tab-/g, '');\n _this3.wrapper.removeClass('cp-mode-' + mode).addClass('cp-mode-' + newMode);\n active.removeClass('active');\n element.addClass('active');\n _this3.mode = newMode;\n _this3.updateFromInput();\n });\n this.wrapper.appendTo('.content-wrapper');\n this.built = true;\n this.mode = 'hue';\n }\n }, {\n key: \"reposition\",\n value: function reposition() {\n var ct = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.content-wrapper')[0];\n var offset = this.element[0].getBoundingClientRect();\n var ctOffset = ct.getBoundingClientRect();\n var delta = {\n x: 0,\n y: 0\n };\n if (this.options.offset) {\n delta.x = this.options.offset.x || 0;\n delta.y = this.options.offset.y || 0;\n }\n this.wrapper.css({\n top: offset.top + offset.height + ct.scrollTop - ctOffset.top + delta.y,\n left: offset.left + ct.scrollLeft - ctOffset.left + delta.x\n });\n }\n }, {\n key: \"iconClick\",\n value: function iconClick(event) {\n if (this.wrapper && this.wrapper.hasClass('cp-visible')) {\n return true;\n }\n event && event.preventDefault();\n var input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget).find('input');\n setTimeout(function () {\n return input.focus();\n }, 50);\n }\n }, {\n key: \"bodyMove\",\n value: function bodyMove(event) {\n event && event.preventDefault();\n if (this.target) {\n this.move(this.target, event);\n }\n }\n }, {\n key: \"bodyClick\",\n value: function bodyClick(event) {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n if (!target.closest('.cp-wrapper').length && !target.is(this.selector)) {\n this.hide();\n }\n }\n }, {\n key: \"bodyDown\",\n value: function bodyDown(event) {\n event && event.preventDefault();\n this.target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n this.move(this.target, event, true);\n }\n }, {\n key: \"targetReset\",\n value: function targetReset(event) {\n event && event.preventDefault();\n this.target = null;\n }\n }, {\n key: \"move\",\n value: function move(target, event) {\n var input = this.element;\n var picker = target.find('.cp-picker');\n var clientRect = target[0].getBoundingClientRect();\n var offsetX = clientRect.left + window.scrollX;\n var offsetY = clientRect.top + window.scrollY;\n var x = Math.round((event ? event.pageX : 0) - offsetX);\n var y = Math.round((event ? event.pageY : 0) - offsetY);\n var wx;\n var wy;\n var r;\n var phi;\n\n // Touch support\n var touchEvents = event.changedTouches || event.originalEvent && event.originalEvent.changedTouches;\n if (event && touchEvents) {\n x = (touchEvents ? touchEvents[0].pageX : 0) - offsetX;\n y = (touchEvents ? touchEvents[0].pageY : 0) - offsetY;\n }\n if (event && event.manualOpacity) {\n y = clientRect.height;\n }\n\n // Constrain picker to its container\n if (x < 0) x = 0;\n if (y < 0) y = 0;\n if (x > clientRect.width) x = clientRect.width;\n if (y > clientRect.height) y = clientRect.height;\n\n // Constrain color wheel values to the wheel\n if (target.parent('.cp-mode-wheel').length && picker.parent('.cp-grid').length) {\n wx = 75 - x;\n wy = 75 - y;\n r = Math.sqrt(wx * wx + wy * wy);\n phi = Math.atan2(wy, wx);\n if (phi < 0) phi += Math.PI * 2;\n if (r > 75) {\n x = 75 - 75 * Math.cos(phi);\n y = 75 - 75 * Math.sin(phi);\n }\n x = Math.round(x);\n y = Math.round(y);\n }\n\n // Move the picker\n if (target.hasClass('cp-grid')) {\n picker.css({\n top: y,\n left: x\n });\n this.updateFromPicker(input, target);\n } else {\n picker.css({\n top: y\n });\n this.updateFromPicker(input, target);\n }\n }\n }, {\n key: \"updateFromInput\",\n value: function updateFromInput(dontFireEvent, element) {\n element = element ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(element) : this.element;\n var value = element.val();\n var opacity = value.replace(/\\s/g, '').match(/^rgba?\\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},(.+)\\)/);\n var hex;\n var hsb;\n value = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.rgbstr2hex)(value) || value;\n opacity = opacity ? mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(opacity[1], 0, 1) : 1;\n if (!(hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.parseHex)(value))) {\n hex = '#ffffff';\n }\n hsb = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hex2hsb)(hex);\n if (this.built) {\n // opacity\n this.opacity = opacity;\n var sliderHeight = this.opacitySlider.height();\n this.opacitySlider.find('.cp-picker').css({\n 'top': mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - sliderHeight * this.opacity, 0, sliderHeight)\n });\n\n // bg color\n var gridHeight = this.grid.height();\n var gridWidth = this.grid.width();\n var r;\n var phi;\n var x;\n var y;\n sliderHeight = this.slider.height();\n switch (this.mode) {\n case 'wheel':\n // Set grid position\n r = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(Math.ceil(hsb.s * 0.75), 0, gridHeight / 2);\n phi = hsb.h * Math.PI / 180;\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(75 - Math.cos(phi) * r, 0, gridWidth);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(75 - Math.sin(phi) * r, 0, gridHeight);\n this.grid.css({\n backgroundColor: 'transparent'\n }).find('.cp-picker').css({\n top: y,\n left: x\n });\n\n // Set slider position\n y = 150 - hsb.b / (100 / gridHeight);\n if (hex === '') y = 0;\n this.slider.find('.cp-picker').css({\n top: y\n });\n\n // Update panel color\n this.slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: hsb.s,\n b: 100\n })\n });\n break;\n case 'saturation':\n // Set grid position\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(5 * hsb.h / 12, 0, 150);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(gridHeight - Math.ceil(hsb.b / (100 / gridHeight)), 0, gridHeight);\n this.grid.find('.cp-picker').css({\n top: y,\n left: x\n });\n\n // Set slider position\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - hsb.s * (sliderHeight / 100), 0, sliderHeight);\n this.slider.find('.cp-picker').css({\n top: y\n });\n\n // Update UI\n this.slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: 100,\n b: hsb.b\n })\n });\n this.grid.find('.cp-grid-inner').css({\n opacity: hsb.s / 100\n });\n break;\n case 'brightness':\n // Set grid position\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(5 * hsb.h / 12, 0, 150);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(gridHeight - Math.ceil(hsb.s / (100 / gridHeight)), 0, gridHeight);\n this.grid.find('.cp-picker').css({\n top: y,\n left: x\n });\n\n // Set slider position\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - hsb.b * (sliderHeight / 100), 0, sliderHeight);\n this.slider.find('.cp-picker').css({\n top: y\n });\n\n // Update UI\n this.slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: hsb.s,\n b: 100\n })\n });\n this.grid.find('.cp-grid-inner').css({\n opacity: 1 - hsb.b / 100\n });\n break;\n case 'hue':\n default:\n // Set grid position\n x = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(Math.ceil(hsb.s / (100 / gridWidth)), 0, gridWidth);\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(gridHeight - Math.ceil(hsb.b / (100 / gridHeight)), 0, gridHeight);\n this.grid.find('.cp-picker').css({\n top: y,\n left: x\n });\n\n // Set slider position\n y = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(sliderHeight - hsb.h / (360 / sliderHeight), 0, sliderHeight);\n this.slider.find('.cp-picker').css({\n top: y\n });\n\n // Update panel color\n this.grid.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hsb.h,\n s: 100,\n b: 100\n })\n });\n break;\n }\n }\n if (!dontFireEvent) {\n element.val(this.getValue(hex));\n }\n (this.element || element).trigger('change._grav_colorpicker', [element, hex, opacity]);\n }\n }, {\n key: \"updateFromPicker\",\n value: function updateFromPicker(input, target) {\n var getCoords = function getCoords(picker, container) {\n var left, top;\n if (!picker.length || !container) return null;\n left = picker[0].getBoundingClientRect().left;\n top = picker[0].getBoundingClientRect().top;\n return {\n x: left - container[0].getBoundingClientRect().left + picker[0].offsetWidth / 2,\n y: top - container[0].getBoundingClientRect().top + picker[0].offsetHeight / 2\n };\n };\n var hex;\n var hue;\n var saturation;\n var brightness;\n var x;\n var y;\n var r;\n var phi;\n\n // Panel objects\n var grid = this.wrapper.find('.cp-grid');\n var slider = this.wrapper.find('.cp-slider');\n var opacitySlider = this.wrapper.find('.cp-opacity-slider');\n\n // Picker objects\n var gridPicker = grid.find('.cp-picker');\n var sliderPicker = slider.find('.cp-picker');\n var opacityPicker = opacitySlider.find('.cp-picker');\n\n // Picker positions\n var gridPos = getCoords(gridPicker, grid);\n var sliderPos = getCoords(sliderPicker, slider);\n var opacityPos = getCoords(opacityPicker, opacitySlider);\n\n // Sizes\n var gridWidth = grid[0].getBoundingClientRect().width;\n var gridHeight = grid[0].getBoundingClientRect().height;\n var sliderHeight = slider[0].getBoundingClientRect().height;\n var opacitySliderHeight = opacitySlider[0].getBoundingClientRect().height;\n var value = this.element.val();\n value = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.rgbstr2hex)(value) || value;\n if (!(hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.parseHex)(value))) {\n hex = '#ffffff';\n }\n\n // Handle colors\n if (target.hasClass('cp-grid') || target.hasClass('cp-slider')) {\n // Determine HSB values\n switch (this.mode) {\n case 'wheel':\n // Calculate hue, saturation, and brightness\n x = gridWidth / 2 - gridPos.x;\n y = gridHeight / 2 - gridPos.y;\n r = Math.sqrt(x * x + y * y);\n phi = Math.atan2(y, x);\n if (phi < 0) phi += Math.PI * 2;\n if (r > 75) {\n r = 75;\n gridPos.x = 69 - 75 * Math.cos(phi);\n gridPos.y = 69 - 75 * Math.sin(phi);\n }\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(r / 0.75, 0, 100);\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(phi * 180 / Math.PI, 0, 360);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(sliderPos.y * (100 / sliderHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n });\n\n // Update UI\n slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: 100\n })\n });\n break;\n case 'saturation':\n // Calculate hue, saturation, and brightness\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(parseInt(gridPos.x * (360 / gridWidth), 10), 0, 360);\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(sliderPos.y * (100 / sliderHeight)), 0, 100);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(gridPos.y * (100 / gridHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n });\n\n // Update UI\n slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: 100,\n b: brightness\n })\n });\n grid.find('.cp-grid-inner').css({\n opacity: saturation / 100\n });\n break;\n case 'brightness':\n // Calculate hue, saturation, and brightness\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(parseInt(gridPos.x * (360 / gridWidth), 10), 0, 360);\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(gridPos.y * (100 / gridHeight)), 0, 100);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(sliderPos.y * (100 / sliderHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n });\n\n // Update UI\n slider.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: 100\n })\n });\n grid.find('.cp-grid-inner').css({\n opacity: 1 - brightness / 100\n });\n break;\n default:\n // Calculate hue, saturation, and brightness\n hue = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(360 - parseInt(sliderPos.y * (360 / sliderHeight), 10), 0, 360);\n saturation = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(Math.floor(gridPos.x * (100 / gridWidth)), 0, 100);\n brightness = mout_math_clamp__WEBPACK_IMPORTED_MODULE_1___default()(100 - Math.floor(gridPos.y * (100 / gridHeight)), 0, 100);\n hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: saturation,\n b: brightness\n });\n\n // Update UI\n grid.css({\n backgroundColor: (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hsb2hex)({\n h: hue,\n s: 100,\n b: 100\n })\n });\n break;\n }\n }\n\n // Handle opacity\n if (target.hasClass('cp-opacity-slider')) {\n this.opacity = parseFloat(1 - opacityPos.y / opacitySliderHeight).toFixed(2);\n }\n\n // Adjust case\n input.val(this.getValue(hex));\n\n // Handle change event\n this.element.trigger('change._grav_colorpicker', [this.element, hex, this.opacity]);\n }\n }, {\n key: \"getValue\",\n value: function getValue(hex) {\n if (this.opacity === 1) {\n return hex;\n }\n var rgb = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hex2rgb)(hex);\n return 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + this.opacity + ')';\n }\n }, {\n key: \"bound\",\n value: function bound(name) {\n var bound = this._bound || (this._bound = {});\n return bound[name] || (bound[name] = mout_function_bind__WEBPACK_IMPORTED_MODULE_2___default()(this[name], this));\n }\n }]);\n}();\n\nvar Instance = new ColorpickerField('[data-grav-colorpicker]');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9jb2xvcnBpY2tlci5qcz9iYTk4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgY2xhbXAgZnJvbSAnbW91dC9tYXRoL2NsYW1wJztcbmltcG9ydCBiaW5kIGZyb20gJ21vdXQvZnVuY3Rpb24vYmluZCc7XG5pbXBvcnQgeyByZ2JzdHIyaGV4LCBoc2IyaGV4LCBoZXgyaHNiLCBoZXgycmdiLCBwYXJzZUhleCB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5cbmNvbnN0IGlzRmlyZWZveCA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdmaXJlZm94JykgPiAtMTtcbmNvbnN0IGJvZHkgPSAkKCdib2R5Jyk7XG5cbmNvbnN0IE1PVVNFRE9XTiA9ICdtb3VzZWRvd24gdG91Y2hzdGFydCBNU1BvaW50ZXJEb3duIHBvaW50ZXJkb3duJztcbmNvbnN0IE1PVVNFTU9WRSA9ICdtb3VzZW1vdmUgdG91Y2htb3ZlIE1TUG9pbnRlck1vdmUgcG9pbnRlcm1vdmUnO1xuY29uc3QgTU9VU0VVUCA9ICdtb3VzZXVwIHRvdWNoZW5kIE1TUG9pbnRlclVwIHBvaW50ZXJ1cCc7XG5jb25zdCBGT0NVU0lOID0gaXNGaXJlZm94ID8gJ2ZvY3VzJyA6ICdmb2N1c2luJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sb3JwaWNrZXJGaWVsZCB7XG4gICAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgICAgICB0aGlzLmZpZWxkID0gJCh0aGlzLnNlbGVjdG9yKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5maWVsZC5kYXRhKCdncmF2LWNvbG9ycGlja2VyJykpO1xuICAgICAgICB0aGlzLmJ1aWx0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYXR0YWNoKCk7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy51cGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQub24oJ2NoYW5nZS5fZ3Jhdl9jb2xvcnBpY2tlcicsIChldmVudCwgZmllbGQsIGhleCwgb3BhY2l0eSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSBoZXg7XG4gICAgICAgICAgICAgICAgbGV0IHJnYiA9IGhleDJyZ2IoaGV4KTtcblxuICAgICAgICAgICAgICAgIGlmIChvcGFjaXR5IDwgMSkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgnICsgcmdiLnIgKyAnLCAnICsgcmdiLmcgKyAnLCAnICsgcmdiLmIgKyAnLCAnICsgb3BhY2l0eSArICcpJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZmllbGQuY2xvc2VzdCh0aGlzLm9wdGlvbnMudXBkYXRlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gZmllbGQuc2libGluZ3ModGhpcy5vcHRpb25zLnVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSBmaWVsZC5wYXJlbnQoJy5nLWNvbG9ycGlja2VyJykuZmluZCh0aGlzLm9wdGlvbnMudXBkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0YXJnZXQuY3NzKHsgYmFja2dyb3VuZENvbG9yIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhdHRhY2goKSB7XG4gICAgICAgIGJvZHkub24oRk9DVVNJTiwgdGhpcy5zZWxlY3RvciwgKGV2ZW50KSA9PiB0aGlzLnNob3coZXZlbnQsIGV2ZW50LmN1cnJlbnRUYXJnZXQpKTtcbiAgICAgICAgYm9keS5vbihNT1VTRURPV04sIHRoaXMuc2VsZWN0b3IgKyAnIC5nLWNvbG9ycGlja2VyLCAnICsgdGhpcy5zZWxlY3RvciArICcgLmctY29sb3JwaWNrZXIgaScsIHRoaXMuYm91bmQoJ2ljb25DbGljaycpKTtcbiAgICAgICAgYm9keS5vbigna2V5ZG93bicsIHRoaXMuc2VsZWN0b3IsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSA5OiAvLyB0YWJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgMTM6IC8vIGVudGVyXG4gICAgICAgICAgICAgICAgY2FzZSAyNzogLy8gZXNjXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVXBkYXRlIG9uIGtleXVwXG4gICAgICAgIGJvZHkub24oJ2tleXVwJywgdGhpcy5zZWxlY3RvciwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZyb21JbnB1dCh0cnVlLCBldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBVcGRhdGUgb24gcGFzdGVcbiAgICAgICAgYm9keS5vbigncGFzdGUnLCB0aGlzLnNlbGVjdG9yLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVGcm9tSW5wdXQodHJ1ZSwgZXZlbnQuY3VycmVudFRhcmdldCksIDEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaG93KGV2ZW50LCB0YXJnZXQpIHtcbiAgICAgICAgdGFyZ2V0ID0gJCh0YXJnZXQpO1xuXG4gICAgICAgIGlmICghdGhpcy5idWlsdCkge1xuICAgICAgICAgICAgdGhpcy5idWlsZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGFyZ2V0O1xuICAgICAgICB0aGlzLnJlcG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy53cmFwcGVyLmFkZENsYXNzKCdjcC12aXNpYmxlJyk7XG4gICAgICAgIHRoaXMudXBkYXRlRnJvbUlucHV0KCk7XG5cbiAgICAgICAgdGhpcy53cmFwcGVyLm9uKE1PVVNFRE9XTiwgJy5jcC1ncmlkLCAuY3Atc2xpZGVyLCAuY3Atb3BhY2l0eS1zbGlkZXInLCB0aGlzLmJvdW5kKCdib2R5RG93bicpKTtcbiAgICAgICAgYm9keS5vbihNT1VTRU1PVkUsIHRoaXMuYm91bmQoJ2JvZHlNb3ZlJykpO1xuICAgICAgICBib2R5Lm9uKE1PVVNFRE9XTiwgdGhpcy5ib3VuZCgnYm9keUNsaWNrJykpO1xuICAgICAgICBib2R5Lm9uKE1PVVNFVVAsIHRoaXMuYm91bmQoJ3RhcmdldFJlc2V0JykpO1xuICAgICAgICAkKCcjYWRtaW4tbWFpbiA+IC5jb250ZW50LXdyYXBwZXInKS5vbignc2Nyb2xsJywgdGhpcy5ib3VuZCgncmVwb3NpdGlvbicpKTtcbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuYnVpbHQpIHsgcmV0dXJuOyB9XG4gICAgICAgIHRoaXMud3JhcHBlci5yZW1vdmVDbGFzcygnY3AtdmlzaWJsZScpO1xuXG4gICAgICAgIHRoaXMud3JhcHBlci51bmRlbGVnYXRlKE1PVVNFRE9XTiwgJy5jcC1ncmlkLCAuY3Atc2xpZGVyLCAuY3Atb3BhY2l0eS1zbGlkZXInLCB0aGlzLmJvdW5kKCdib2R5RG93bicpKTtcbiAgICAgICAgYm9keS5vZmYoTU9VU0VNT1ZFLCB0aGlzLmJvdW5kKCdib2R5TW92ZScpKTtcbiAgICAgICAgYm9keS5vZmYoTU9VU0VET1dOLCB0aGlzLmJvdW5kKCdib2R5Q2xpY2snKSk7XG4gICAgICAgIGJvZHkub2ZmKE1PVVNFVVAsIHRoaXMuYm91bmQoJ3RhcmdldFJlc2V0JykpO1xuICAgICAgICAkKCcjYWRtaW4tbWFpbiA+IC5jb250ZW50LXdyYXBwZXInKS5vbignc2Nyb2xsJywgdGhpcy5ib3VuZCgncmVwb3NpdGlvbicpKTtcbiAgICB9XG5cbiAgICBidWlsZCgpIHtcbiAgICAgICAgdGhpcy53cmFwcGVyID0gJCgnPGRpdiBjbGFzcz1cImNwLXdyYXBwZXIgY3Atd2l0aC1vcGFjaXR5IGNwLW1vZGUtaHVlXCIgLz4nKTtcbiAgICAgICAgdGhpcy5zbGlkZXIgPSAkKCc8ZGl2IGNsYXNzPVwiY3Atc2xpZGVyIGNwLXNwcml0ZVwiIC8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKS5hcHBlbmQoJCgnPGRpdiBjbGFzcz1cImNwLXBpY2tlclwiIC8+JykpO1xuICAgICAgICB0aGlzLm9wYWNpdHlTbGlkZXIgPSAkKCc8ZGl2IGNsYXNzPVwiY3Atb3BhY2l0eS1zbGlkZXIgY3Atc3ByaXRlXCIgLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLmFwcGVuZCgkKCc8ZGl2IGNsYXNzPVwiY3AtcGlja2VyXCIgLz4nKSk7XG4gICAgICAgIHRoaXMuZ3JpZCA9ICQoJzxkaXYgY2xhc3M9XCJjcC1ncmlkIGNwLXNwcml0ZVwiIC8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKS5hcHBlbmQoJCgnPGRpdiBjbGFzcz1cImNwLWdyaWQtaW5uZXJcIiAvPicpKS5hcHBlbmQoJCgnPGRpdiBjbGFzcz1cImNwLXBpY2tlclwiIC8+JykpO1xuXG4gICAgICAgICQoJzxkaXYgLz4nKS5hcHBlbmRUbyh0aGlzLmdyaWQuZmluZCgnLmNwLXBpY2tlcicpKTtcblxuICAgICAgICBsZXQgdGFicyA9ICQoJzxkaXYgY2xhc3M9XCJjcC10YWJzXCIgLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpO1xuICAgICAgICB0aGlzLnRhYnMgPSB7XG4gICAgICAgICAgICBodWU6ICQoJzxkaXYgY2xhc3M9XCJjcC10YWItaHVlIGFjdGl2ZVwiIC8+JykudGV4dCgnSFVFJykuYXBwZW5kVG8odGFicyksXG4gICAgICAgICAgICBicmlnaHRuZXNzOiAkKCc8ZGl2IGNsYXNzPVwiY3AtdGFiLWJyaWdodG5lc3NcIiAvPicpLnRleHQoJ0JSSScpLmFwcGVuZFRvKHRhYnMpLFxuICAgICAgICAgICAgc2F0dXJhdGlvbjogJCgnPGRpdiBjbGFzcz1cImNwLXRhYi1zYXR1cmF0aW9uXCIgLz4nKS50ZXh0KCdTQVQnKS5hcHBlbmRUbyh0YWJzKSxcbiAgICAgICAgICAgIHdoZWVsOiAkKCc8ZGl2IGNsYXNzPVwiY3AtdGFiLXdoZWVsXCIgLz4nKS50ZXh0KCdXSEVFTCcpLmFwcGVuZFRvKHRhYnMpLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQ6ICQoJzxkaXYgY2xhc3M9XCJjcC10YWItdHJhbnNwXCIgLz4nKS50ZXh0KCdUUkFOU1BBUkVOVCcpLmFwcGVuZFRvKHRhYnMpXG4gICAgICAgIH07XG5cbiAgICAgICAgdGFicy5vbihNT1VTRURPV04sICc+IGRpdicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQuaXModGhpcy50YWJzLnRyYW5zcGFyZW50KSkge1xuICAgICAgICAgICAgICAgIGxldCBzbGlkZXJIZWlnaHQgPSB0aGlzLm9wYWNpdHlTbGlkZXIuaGVpZ2h0KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9wYWNpdHkgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMub3BhY2l0eVNsaWRlci5maW5kKCcuY3AtcGlja2VyJykuY3NzKHsgJ3RvcCc6IGNsYW1wKHNsaWRlckhlaWdodCAtIChzbGlkZXJIZWlnaHQgKiB0aGlzLm9wYWNpdHkpLCAwLCBzbGlkZXJIZWlnaHQpIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZSh0aGlzLm9wYWNpdHlTbGlkZXIsIHsgbWFudWFsT3BhY2l0eTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBhY3RpdmUgPSB0YWJzLmZpbmQoJy5hY3RpdmUnKTtcbiAgICAgICAgICAgIGxldCBtb2RlID0gYWN0aXZlLmF0dHIoJ2NsYXNzJykucmVwbGFjZSgvXFxzfGFjdGl2ZXxjcC10YWItL2csICcnKTtcbiAgICAgICAgICAgIGxldCBuZXdNb2RlID0gZWxlbWVudC5hdHRyKCdjbGFzcycpLnJlcGxhY2UoL1xcc3xhY3RpdmV8Y3AtdGFiLS9nLCAnJyk7XG5cbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5yZW1vdmVDbGFzcygnY3AtbW9kZS0nICsgbW9kZSkuYWRkQ2xhc3MoJ2NwLW1vZGUtJyArIG5ld01vZGUpO1xuICAgICAgICAgICAgYWN0aXZlLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgIGVsZW1lbnQuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuXG4gICAgICAgICAgICB0aGlzLm1vZGUgPSBuZXdNb2RlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGcm9tSW5wdXQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy53cmFwcGVyLmFwcGVuZFRvKCcuY29udGVudC13cmFwcGVyJyk7XG5cbiAgICAgICAgdGhpcy5idWlsdCA9IHRydWU7XG4gICAgICAgIHRoaXMubW9kZSA9ICdodWUnO1xuICAgIH1cblxuICAgIHJlcG9zaXRpb24oKSB7XG4gICAgICAgIGxldCBjdCA9ICQoJy5jb250ZW50LXdyYXBwZXInKVswXTtcbiAgICAgICAgbGV0IG9mZnNldCA9IHRoaXMuZWxlbWVudFswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgbGV0IGN0T2Zmc2V0ID0gY3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGxldCBkZWx0YSA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMub2Zmc2V0KSB7XG4gICAgICAgICAgICBkZWx0YS54ID0gdGhpcy5vcHRpb25zLm9mZnNldC54IHx8IDA7XG4gICAgICAgICAgICBkZWx0YS55ID0gdGhpcy5vcHRpb25zLm9mZnNldC55IHx8IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyYXBwZXIuY3NzKHtcbiAgICAgICAgICAgIHRvcDogb2Zmc2V0LnRvcCArIG9mZnNldC5oZWlnaHQgKyBjdC5zY3JvbGxUb3AgLSBjdE9mZnNldC50b3AgKyBkZWx0YS55LFxuICAgICAgICAgICAgbGVmdDogb2Zmc2V0LmxlZnQgKyBjdC5zY3JvbGxMZWZ0IC0gY3RPZmZzZXQubGVmdCArIGRlbHRhLnhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWNvbkNsaWNrKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLndyYXBwZXIgJiYgdGhpcy53cmFwcGVyLmhhc0NsYXNzKCdjcC12aXNpYmxlJykpIHsgcmV0dXJuIHRydWU7IH1cblxuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGxldCBpbnB1dCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCkuZmluZCgnaW5wdXQnKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBpbnB1dC5mb2N1cygpLCA1MCk7XG4gICAgfVxuXG4gICAgYm9keU1vdmUoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQgJiYgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy50YXJnZXQpIHsgdGhpcy5tb3ZlKHRoaXMudGFyZ2V0LCBldmVudCk7IH1cbiAgICB9XG5cbiAgICBib2R5Q2xpY2soZXZlbnQpIHtcbiAgICAgICAgbGV0IHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTtcblxuICAgICAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcuY3Atd3JhcHBlcicpLmxlbmd0aCAmJiAhdGFyZ2V0LmlzKHRoaXMuc2VsZWN0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJvZHlEb3duKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50ICYmIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy50YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICB0aGlzLm1vdmUodGhpcy50YXJnZXQsIGV2ZW50LCB0cnVlKTtcbiAgICB9XG5cbiAgICB0YXJnZXRSZXNldChldmVudCkge1xuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbnVsbDtcbiAgICB9XG5cbiAgICBtb3ZlKHRhcmdldCwgZXZlbnQpIHtcbiAgICAgICAgbGV0IGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICBsZXQgcGlja2VyID0gdGFyZ2V0LmZpbmQoJy5jcC1waWNrZXInKTtcbiAgICAgICAgbGV0IGNsaWVudFJlY3QgPSB0YXJnZXRbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGxldCBvZmZzZXRYID0gY2xpZW50UmVjdC5sZWZ0ICsgd2luZG93LnNjcm9sbFg7XG4gICAgICAgIGxldCBvZmZzZXRZID0gY2xpZW50UmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgbGV0IHggPSBNYXRoLnJvdW5kKChldmVudCA/IGV2ZW50LnBhZ2VYIDogMCkgLSBvZmZzZXRYKTtcbiAgICAgICAgbGV0IHkgPSBNYXRoLnJvdW5kKChldmVudCA/IGV2ZW50LnBhZ2VZIDogMCkgLSBvZmZzZXRZKTtcbiAgICAgICAgbGV0IHd4O1xuICAgICAgICBsZXQgd3k7XG4gICAgICAgIGxldCByO1xuICAgICAgICBsZXQgcGhpO1xuXG4gICAgICAgIC8vIFRvdWNoIHN1cHBvcnRcbiAgICAgICAgbGV0IHRvdWNoRXZlbnRzID0gZXZlbnQuY2hhbmdlZFRvdWNoZXMgfHwgKGV2ZW50Lm9yaWdpbmFsRXZlbnQgJiYgZXZlbnQub3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlcyk7XG4gICAgICAgIGlmIChldmVudCAmJiB0b3VjaEV2ZW50cykge1xuICAgICAgICAgICAgeCA9ICh0b3VjaEV2ZW50cyA/IHRvdWNoRXZlbnRzWzBdLnBhZ2VYIDogMCkgLSBvZmZzZXRYO1xuICAgICAgICAgICAgeSA9ICh0b3VjaEV2ZW50cyA/IHRvdWNoRXZlbnRzWzBdLnBhZ2VZIDogMCkgLSBvZmZzZXRZO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50Lm1hbnVhbE9wYWNpdHkpIHtcbiAgICAgICAgICAgIHkgPSBjbGllbnRSZWN0LmhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbnN0cmFpbiBwaWNrZXIgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBpZiAoeCA8IDApIHggPSAwO1xuICAgICAgICBpZiAoeSA8IDApIHkgPSAwO1xuICAgICAgICBpZiAoeCA+IGNsaWVudFJlY3Qud2lkdGgpIHggPSBjbGllbnRSZWN0LndpZHRoO1xuICAgICAgICBpZiAoeSA+IGNsaWVudFJlY3QuaGVpZ2h0KSB5ID0gY2xpZW50UmVjdC5oZWlnaHQ7XG5cbiAgICAgICAgLy8gQ29uc3RyYWluIGNvbG9yIHdoZWVsIHZhbHVlcyB0byB0aGUgd2hlZWxcbiAgICAgICAgaWYgKHRhcmdldC5wYXJlbnQoJy5jcC1tb2RlLXdoZWVsJykubGVuZ3RoICYmIHBpY2tlci5wYXJlbnQoJy5jcC1ncmlkJykubGVuZ3RoKSB7XG4gICAgICAgICAgICB3eCA9IDc1IC0geDtcbiAgICAgICAgICAgIHd5ID0gNzUgLSB5O1xuICAgICAgICAgICAgciA9IE1hdGguc3FydCh3eCAqIHd4ICsgd3kgKiB3eSk7XG4gICAgICAgICAgICBwaGkgPSBNYXRoLmF0YW4yKHd5LCB3eCk7XG5cbiAgICAgICAgICAgIGlmIChwaGkgPCAwKSBwaGkgKz0gTWF0aC5QSSAqIDI7XG4gICAgICAgICAgICBpZiAociA+IDc1KSB7XG4gICAgICAgICAgICAgICAgeCA9IDc1IC0gKDc1ICogTWF0aC5jb3MocGhpKSk7XG4gICAgICAgICAgICAgICAgeSA9IDc1IC0gKDc1ICogTWF0aC5zaW4ocGhpKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHggPSBNYXRoLnJvdW5kKHgpO1xuICAgICAgICAgICAgeSA9IE1hdGgucm91bmQoeSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNb3ZlIHRoZSBwaWNrZXJcbiAgICAgICAgaWYgKHRhcmdldC5oYXNDbGFzcygnY3AtZ3JpZCcpKSB7XG4gICAgICAgICAgICBwaWNrZXIuY3NzKHtcbiAgICAgICAgICAgICAgICB0b3A6IHksXG4gICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnJvbVBpY2tlcihpbnB1dCwgdGFyZ2V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBpY2tlci5jc3Moe1xuICAgICAgICAgICAgICAgIHRvcDogeVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZyb21QaWNrZXIoaW5wdXQsIHRhcmdldCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVGcm9tSW5wdXQoZG9udEZpcmVFdmVudCwgZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50ID0gZWxlbWVudCA/ICQoZWxlbWVudCkgOiB0aGlzLmVsZW1lbnQ7XG4gICAgICAgIGxldCB2YWx1ZSA9IGVsZW1lbnQudmFsKCk7XG4gICAgICAgIGxldCBvcGFjaXR5ID0gdmFsdWUucmVwbGFjZSgvXFxzL2csICcnKS5tYXRjaCgvXnJnYmE/XFwoWzAtOV17MSwzfSxbMC05XXsxLDN9LFswLTldezEsM30sKC4rKVxcKS8pO1xuICAgICAgICBsZXQgaGV4O1xuICAgICAgICBsZXQgaHNiO1xuXG4gICAgICAgIHZhbHVlID0gcmdic3RyMmhleCh2YWx1ZSkgfHwgdmFsdWU7XG4gICAgICAgIG9wYWNpdHkgPSBvcGFjaXR5ID8gY2xhbXAob3BhY2l0eVsxXSwgMCwgMSkgOiAxO1xuXG4gICAgICAgIGlmICghKGhleCA9IHBhcnNlSGV4KHZhbHVlKSkpIHsgaGV4ID0gJyNmZmZmZmYnOyB9XG4gICAgICAgIGhzYiA9IGhleDJoc2IoaGV4KTtcblxuICAgICAgICBpZiAodGhpcy5idWlsdCkge1xuICAgICAgICAgICAgLy8gb3BhY2l0eVxuICAgICAgICAgICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICAgICAgICAgIHZhciBzbGlkZXJIZWlnaHQgPSB0aGlzLm9wYWNpdHlTbGlkZXIuaGVpZ2h0KCk7XG4gICAgICAgICAgICB0aGlzLm9wYWNpdHlTbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7ICd0b3AnOiBjbGFtcChzbGlkZXJIZWlnaHQgLSAoc2xpZGVySGVpZ2h0ICogdGhpcy5vcGFjaXR5KSwgMCwgc2xpZGVySGVpZ2h0KSB9KTtcblxuICAgICAgICAgICAgLy8gYmcgY29sb3JcbiAgICAgICAgICAgIGxldCBncmlkSGVpZ2h0ID0gdGhpcy5ncmlkLmhlaWdodCgpO1xuICAgICAgICAgICAgbGV0IGdyaWRXaWR0aCA9IHRoaXMuZ3JpZC53aWR0aCgpO1xuICAgICAgICAgICAgbGV0IHI7XG4gICAgICAgICAgICBsZXQgcGhpO1xuICAgICAgICAgICAgbGV0IHg7XG4gICAgICAgICAgICBsZXQgeTtcblxuICAgICAgICAgICAgc2xpZGVySGVpZ2h0ID0gdGhpcy5zbGlkZXIuaGVpZ2h0KCk7XG5cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnd2hlZWwnOlxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZ3JpZCBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICByID0gY2xhbXAoTWF0aC5jZWlsKGhzYi5zICogMC43NSksIDAsIGdyaWRIZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgcGhpID0gaHNiLmggKiBNYXRoLlBJIC8gMTgwO1xuICAgICAgICAgICAgICAgICAgICB4ID0gY2xhbXAoNzUgLSBNYXRoLmNvcyhwaGkpICogciwgMCwgZ3JpZFdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKDc1IC0gTWF0aC5zaW4ocGhpKSAqIHIsIDAsIGdyaWRIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuY3NzKHsgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnIH0pLmZpbmQoJy5jcC1waWNrZXInKS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgc2xpZGVyIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHkgPSAxNTAgLSAoaHNiLmIgLyAoMTAwIC8gZ3JpZEhlaWdodCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGV4ID09PSAnJykgeSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmZpbmQoJy5jcC1waWNrZXInKS5jc3MoeyB0b3A6IHkgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHBhbmVsIGNvbG9yXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg6IGhzYi5oLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IGhzYi5zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnc2F0dXJhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBncmlkIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHggPSBjbGFtcCgoNSAqIGhzYi5oKSAvIDEyLCAwLCAxNTApO1xuICAgICAgICAgICAgICAgICAgICB5ID0gY2xhbXAoZ3JpZEhlaWdodCAtIE1hdGguY2VpbChoc2IuYiAvICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIGdyaWRIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHksXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB4XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBzbGlkZXIgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKHNsaWRlckhlaWdodCAtIChoc2IucyAqIChzbGlkZXJIZWlnaHQgLyAxMDApKSwgMCwgc2xpZGVySGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7IHRvcDogeSB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgVUlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHNiLmgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IGhzYi5iXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogaHNiLnMgLyAxMDAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnYnJpZ2h0bmVzcyc6XG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBncmlkIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHggPSBjbGFtcCgoNSAqIGhzYi5oKSAvIDEyLCAwLCAxNTApO1xuICAgICAgICAgICAgICAgICAgICB5ID0gY2xhbXAoZ3JpZEhlaWdodCAtIE1hdGguY2VpbChoc2IucyAvICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIGdyaWRIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHksXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB4XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBzbGlkZXIgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKHNsaWRlckhlaWdodCAtIChoc2IuYiAqIChzbGlkZXJIZWlnaHQgLyAxMDApKSwgMCwgc2xpZGVySGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7IHRvcDogeSB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgVUlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHNiLmgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogaHNiLnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogMSAtIChoc2IuYiAvIDEwMCkgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2h1ZSc6XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGdyaWQgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgeCA9IGNsYW1wKE1hdGguY2VpbChoc2IucyAvICgxMDAgLyBncmlkV2lkdGgpKSwgMCwgZ3JpZFdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKGdyaWRIZWlnaHQgLSBNYXRoLmNlaWwoaHNiLmIgLyAoMTAwIC8gZ3JpZEhlaWdodCkpLCAwLCBncmlkSGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1waWNrZXInKS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgc2xpZGVyIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHkgPSBjbGFtcChzbGlkZXJIZWlnaHQgLSAoaHNiLmggLyAoMzYwIC8gc2xpZGVySGVpZ2h0KSksIDAsIHNsaWRlckhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmZpbmQoJy5jcC1waWNrZXInKS5jc3MoeyB0b3A6IHkgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHBhbmVsIGNvbG9yXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBoc2IuaCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRvbnRGaXJlRXZlbnQpIHsgZWxlbWVudC52YWwodGhpcy5nZXRWYWx1ZShoZXgpKTsgfVxuXG4gICAgICAgICh0aGlzLmVsZW1lbnQgfHwgZWxlbWVudCkudHJpZ2dlcignY2hhbmdlLl9ncmF2X2NvbG9ycGlja2VyJywgW2VsZW1lbnQsIGhleCwgb3BhY2l0eV0pO1xuXG4gICAgfVxuXG4gICAgdXBkYXRlRnJvbVBpY2tlcihpbnB1dCwgdGFyZ2V0KSB7XG4gICAgICAgIHZhciBnZXRDb29yZHMgPSBmdW5jdGlvbihwaWNrZXIsIGNvbnRhaW5lcikge1xuXG4gICAgICAgICAgICB2YXIgbGVmdCwgdG9wO1xuICAgICAgICAgICAgaWYgKCFwaWNrZXIubGVuZ3RoIHx8ICFjb250YWluZXIpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgbGVmdCA9IHBpY2tlclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICAgICAgdG9wID0gcGlja2VyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB4OiBsZWZ0IC0gY29udGFpbmVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgKyAocGlja2VyWzBdLm9mZnNldFdpZHRoIC8gMiksXG4gICAgICAgICAgICAgICAgeTogdG9wIC0gY29udGFpbmVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIChwaWNrZXJbMF0ub2Zmc2V0SGVpZ2h0IC8gMilcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgaGV4O1xuICAgICAgICBsZXQgaHVlO1xuICAgICAgICBsZXQgc2F0dXJhdGlvbjtcbiAgICAgICAgbGV0IGJyaWdodG5lc3M7XG4gICAgICAgIGxldCB4O1xuICAgICAgICBsZXQgeTtcbiAgICAgICAgbGV0IHI7XG4gICAgICAgIGxldCBwaGk7XG5cbiAgICAgICAgLy8gUGFuZWwgb2JqZWN0c1xuICAgICAgICBsZXQgZ3JpZCA9IHRoaXMud3JhcHBlci5maW5kKCcuY3AtZ3JpZCcpO1xuICAgICAgICBsZXQgc2xpZGVyID0gdGhpcy53cmFwcGVyLmZpbmQoJy5jcC1zbGlkZXInKTtcbiAgICAgICAgbGV0IG9wYWNpdHlTbGlkZXIgPSB0aGlzLndyYXBwZXIuZmluZCgnLmNwLW9wYWNpdHktc2xpZGVyJyk7XG5cbiAgICAgICAgLy8gUGlja2VyIG9iamVjdHNcbiAgICAgICAgbGV0IGdyaWRQaWNrZXIgPSBncmlkLmZpbmQoJy5jcC1waWNrZXInKTtcbiAgICAgICAgbGV0IHNsaWRlclBpY2tlciA9IHNsaWRlci5maW5kKCcuY3AtcGlja2VyJyk7XG4gICAgICAgIGxldCBvcGFjaXR5UGlja2VyID0gb3BhY2l0eVNsaWRlci5maW5kKCcuY3AtcGlja2VyJyk7XG5cbiAgICAgICAgLy8gUGlja2VyIHBvc2l0aW9uc1xuICAgICAgICBsZXQgZ3JpZFBvcyA9IGdldENvb3JkcyhncmlkUGlja2VyLCBncmlkKTtcbiAgICAgICAgbGV0IHNsaWRlclBvcyA9IGdldENvb3JkcyhzbGlkZXJQaWNrZXIsIHNsaWRlcik7XG4gICAgICAgIGxldCBvcGFjaXR5UG9zID0gZ2V0Q29vcmRzKG9wYWNpdHlQaWNrZXIsIG9wYWNpdHlTbGlkZXIpO1xuXG4gICAgICAgIC8vIFNpemVzXG4gICAgICAgIGxldCBncmlkV2lkdGggPSBncmlkWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBsZXQgZ3JpZEhlaWdodCA9IGdyaWRbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgICBsZXQgc2xpZGVySGVpZ2h0ID0gc2xpZGVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgbGV0IG9wYWNpdHlTbGlkZXJIZWlnaHQgPSBvcGFjaXR5U2xpZGVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmVsZW1lbnQudmFsKCk7XG4gICAgICAgIHZhbHVlID0gcmdic3RyMmhleCh2YWx1ZSkgfHwgdmFsdWU7XG4gICAgICAgIGlmICghKGhleCA9IHBhcnNlSGV4KHZhbHVlKSkpIHsgaGV4ID0gJyNmZmZmZmYnOyB9XG5cbiAgICAgICAgLy8gSGFuZGxlIGNvbG9yc1xuICAgICAgICBpZiAodGFyZ2V0Lmhhc0NsYXNzKCdjcC1ncmlkJykgfHwgdGFyZ2V0Lmhhc0NsYXNzKCdjcC1zbGlkZXInKSkge1xuXG4gICAgICAgICAgICAvLyBEZXRlcm1pbmUgSFNCIHZhbHVlc1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICd3aGVlbCc6XG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBodWUsIHNhdHVyYXRpb24sIGFuZCBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIHggPSAoZ3JpZFdpZHRoIC8gMikgLSBncmlkUG9zLng7XG4gICAgICAgICAgICAgICAgICAgIHkgPSAoZ3JpZEhlaWdodCAvIDIpIC0gZ3JpZFBvcy55O1xuICAgICAgICAgICAgICAgICAgICByID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkpO1xuICAgICAgICAgICAgICAgICAgICBwaGkgPSBNYXRoLmF0YW4yKHksIHgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocGhpIDwgMCkgcGhpICs9IE1hdGguUEkgKiAyO1xuICAgICAgICAgICAgICAgICAgICBpZiAociA+IDc1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByID0gNzU7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkUG9zLnggPSA2OSAtICg3NSAqIE1hdGguY29zKHBoaSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZFBvcy55ID0gNjkgLSAoNzUgKiBNYXRoLnNpbihwaGkpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzYXR1cmF0aW9uID0gY2xhbXAociAvIDAuNzUsIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGh1ZSA9IGNsYW1wKHBoaSAqIDE4MCAvIE1hdGguUEksIDAsIDM2MCk7XG4gICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MgPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKHNsaWRlclBvcy55ICogKDEwMCAvIHNsaWRlckhlaWdodCkpLCAwLCAxMDApO1xuICAgICAgICAgICAgICAgICAgICBoZXggPSBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGg6IGh1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHM6IHNhdHVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBiOiBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBVSVxuICAgICAgICAgICAgICAgICAgICBzbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IHNhdHVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdzYXR1cmF0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGh1ZSwgc2F0dXJhdGlvbiwgYW5kIGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgaHVlID0gY2xhbXAocGFyc2VJbnQoZ3JpZFBvcy54ICogKDM2MCAvIGdyaWRXaWR0aCksIDEwKSwgMCwgMzYwKTtcbiAgICAgICAgICAgICAgICAgICAgc2F0dXJhdGlvbiA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3Ioc2xpZGVyUG9zLnkgKiAoMTAwIC8gc2xpZGVySGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MgPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKGdyaWRQb3MueSAqICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGhleCA9IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgczogc2F0dXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGI6IGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVJXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlci5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogc2F0dXJhdGlvbiAvIDEwMCB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdicmlnaHRuZXNzJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGh1ZSwgc2F0dXJhdGlvbiwgYW5kIGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgaHVlID0gY2xhbXAocGFyc2VJbnQoZ3JpZFBvcy54ICogKDM2MCAvIGdyaWRXaWR0aCksIDEwKSwgMCwgMzYwKTtcbiAgICAgICAgICAgICAgICAgICAgc2F0dXJhdGlvbiA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3IoZ3JpZFBvcy55ICogKDEwMCAvIGdyaWRIZWlnaHQpKSwgMCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcyA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3Ioc2xpZGVyUG9zLnkgKiAoMTAwIC8gc2xpZGVySGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGhleCA9IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgczogc2F0dXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGI6IGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVJXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlci5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogc2F0dXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOiAxMDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogMSAtIChicmlnaHRuZXNzIC8gMTAwKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgaHVlLCBzYXR1cmF0aW9uLCBhbmQgYnJpZ2h0bmVzc1xuICAgICAgICAgICAgICAgICAgICBodWUgPSBjbGFtcCgzNjAgLSBwYXJzZUludChzbGlkZXJQb3MueSAqICgzNjAgLyBzbGlkZXJIZWlnaHQpLCAxMCksIDAsIDM2MCk7XG4gICAgICAgICAgICAgICAgICAgIHNhdHVyYXRpb24gPSBjbGFtcChNYXRoLmZsb29yKGdyaWRQb3MueCAqICgxMDAgLyBncmlkV2lkdGgpKSwgMCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcyA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3IoZ3JpZFBvcy55ICogKDEwMCAvIGdyaWRIZWlnaHQpKSwgMCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgaGV4ID0gaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzOiBzYXR1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgYjogYnJpZ2h0bmVzc1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgVUlcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIYW5kbGUgb3BhY2l0eVxuICAgICAgICBpZiAodGFyZ2V0Lmhhc0NsYXNzKCdjcC1vcGFjaXR5LXNsaWRlcicpKSB7XG4gICAgICAgICAgICB0aGlzLm9wYWNpdHkgPSBwYXJzZUZsb2F0KDEgLSAob3BhY2l0eVBvcy55IC8gb3BhY2l0eVNsaWRlckhlaWdodCkpLnRvRml4ZWQoMik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGp1c3QgY2FzZVxuICAgICAgICBpbnB1dC52YWwodGhpcy5nZXRWYWx1ZShoZXgpKTtcblxuICAgICAgICAvLyBIYW5kbGUgY2hhbmdlIGV2ZW50XG4gICAgICAgIHRoaXMuZWxlbWVudC50cmlnZ2VyKCdjaGFuZ2UuX2dyYXZfY29sb3JwaWNrZXInLCBbdGhpcy5lbGVtZW50LCBoZXgsIHRoaXMub3BhY2l0eV0pO1xuXG4gICAgfVxuXG4gICAgZ2V0VmFsdWUoaGV4KSB7XG4gICAgICAgIGlmICh0aGlzLm9wYWNpdHkgPT09IDEpIHsgcmV0dXJuIGhleDsgfVxuICAgICAgICBsZXQgcmdiID0gaGV4MnJnYihoZXgpO1xuXG4gICAgICAgIHJldHVybiAncmdiYSgnICsgcmdiLnIgKyAnLCAnICsgcmdiLmcgKyAnLCAnICsgcmdiLmIgKyAnLCAnICsgdGhpcy5vcGFjaXR5ICsgJyknO1xuICAgIH1cblxuICAgIGJvdW5kKG5hbWUpIHtcbiAgICAgICAgbGV0IGJvdW5kID0gdGhpcy5fYm91bmQgfHwgKHRoaXMuX2JvdW5kID0ge30pO1xuICAgICAgICByZXR1cm4gYm91bmRbbmFtZV0gfHwgKGJvdW5kW25hbWVdID0gYmluZCh0aGlzW25hbWVdLCB0aGlzKSk7XG4gICAgfVxufVxuXG5leHBvcnQgbGV0IEluc3RhbmNlID0gbmV3IENvbG9ycGlja2VyRmllbGQoJ1tkYXRhLWdyYXYtY29sb3JwaWNrZXJdJyk7XG4iXSwibmFtZXMiOlsiJCIsImNsYW1wIiwiYmluZCIsInJnYnN0cjJoZXgiLCJoc2IyaGV4IiwiaGV4MmhzYiIsImhleDJyZ2IiLCJwYXJzZUhleCIsImlzRmlyZWZveCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInRvTG93ZXJDYXNlIiwiaW5kZXhPZiIsImJvZHkiLCJNT1VTRURPV04iLCJNT1VTRU1PVkUiLCJNT1VTRVVQIiwiRk9DVVNJTiIsIkNvbG9ycGlja2VyRmllbGQiLCJzZWxlY3RvciIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiZmllbGQiLCJvcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiZGF0YSIsImJ1aWx0IiwiYXR0YWNoIiwidXBkYXRlIiwib24iLCJldmVudCIsImhleCIsIm9wYWNpdHkiLCJiYWNrZ3JvdW5kQ29sb3IiLCJyZ2IiLCJyIiwiZyIsImIiLCJ0YXJnZXQiLCJjbG9zZXN0IiwibGVuZ3RoIiwic2libGluZ3MiLCJwYXJlbnQiLCJmaW5kIiwiY3NzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJfdGhpczIiLCJzaG93IiwiY3VycmVudFRhcmdldCIsImJvdW5kIiwia2V5Q29kZSIsImhpZGUiLCJibHVyIiwidXBkYXRlRnJvbUlucHV0Iiwic2V0VGltZW91dCIsImJ1aWxkIiwiZWxlbWVudCIsInJlcG9zaXRpb24iLCJ3cmFwcGVyIiwiYWRkQ2xhc3MiLCJyZW1vdmVDbGFzcyIsInVuZGVsZWdhdGUiLCJvZmYiLCJfdGhpczMiLCJzbGlkZXIiLCJhcHBlbmRUbyIsImFwcGVuZCIsIm9wYWNpdHlTbGlkZXIiLCJncmlkIiwidGFicyIsImh1ZSIsInRleHQiLCJicmlnaHRuZXNzIiwic2F0dXJhdGlvbiIsIndoZWVsIiwidHJhbnNwYXJlbnQiLCJpcyIsInNsaWRlckhlaWdodCIsImhlaWdodCIsIm1vdmUiLCJtYW51YWxPcGFjaXR5IiwiYWN0aXZlIiwibW9kZSIsImF0dHIiLCJyZXBsYWNlIiwibmV3TW9kZSIsImN0Iiwib2Zmc2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY3RPZmZzZXQiLCJkZWx0YSIsIngiLCJ5IiwidG9wIiwic2Nyb2xsVG9wIiwibGVmdCIsInNjcm9sbExlZnQiLCJpY29uQ2xpY2siLCJoYXNDbGFzcyIsInByZXZlbnREZWZhdWx0IiwiaW5wdXQiLCJmb2N1cyIsImJvZHlNb3ZlIiwiYm9keUNsaWNrIiwiYm9keURvd24iLCJ0YXJnZXRSZXNldCIsInBpY2tlciIsImNsaWVudFJlY3QiLCJvZmZzZXRYIiwid2luZG93Iiwic2Nyb2xsWCIsIm9mZnNldFkiLCJzY3JvbGxZIiwiTWF0aCIsInJvdW5kIiwicGFnZVgiLCJwYWdlWSIsInd4Iiwid3kiLCJwaGkiLCJ0b3VjaEV2ZW50cyIsImNoYW5nZWRUb3VjaGVzIiwib3JpZ2luYWxFdmVudCIsIndpZHRoIiwic3FydCIsImF0YW4yIiwiUEkiLCJjb3MiLCJzaW4iLCJ1cGRhdGVGcm9tUGlja2VyIiwiZG9udEZpcmVFdmVudCIsInZhbCIsIm1hdGNoIiwiaHNiIiwiZ3JpZEhlaWdodCIsImdyaWRXaWR0aCIsImNlaWwiLCJzIiwiaCIsImdldFZhbHVlIiwidHJpZ2dlciIsImdldENvb3JkcyIsImNvbnRhaW5lciIsIm9mZnNldFdpZHRoIiwib2Zmc2V0SGVpZ2h0IiwiZ3JpZFBpY2tlciIsInNsaWRlclBpY2tlciIsIm9wYWNpdHlQaWNrZXIiLCJncmlkUG9zIiwic2xpZGVyUG9zIiwib3BhY2l0eVBvcyIsIm9wYWNpdHlTbGlkZXJIZWlnaHQiLCJmbG9vciIsInBhcnNlSW50IiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJuYW1lIiwiX2JvdW5kIiwiZGVmYXVsdCIsIkluc3RhbmNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/forms/fields/colorpicker.js\n\n}"); /***/ }), /***/ "./app/forms/fields/cron.js": /*!**********************************!*\ !*** ./app/forms/fields/cron.js ***! \**********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instance: () => (/* binding */ Instance),\n/* harmony export */ \"default\": () => (/* binding */ CronField)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_cron_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/cron-ui */ \"./app/utils/cron-ui.js\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\nvar CronField = /*#__PURE__*/function () {\n function CronField() {\n var _this = this;\n _classCallCheck(this, CronField);\n this.items = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"cron\"]').each(function (index, cron) {\n return _this.addCron(cron);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n return _createClass(CronField, [{\n key: \"addCron\",\n value: function addCron(cron) {\n cron = jquery__WEBPACK_IMPORTED_MODULE_0___default()(cron);\n this.items = this.items.add(cron);\n cron.find('.cron-selector').each(function (index, container) {\n container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n var input = container.closest('[data-grav-field]').find('input');\n container.jqCron({\n numeric_zero_pad: true,\n enabled_minute: true,\n multiple_dom: true,\n multiple_month: true,\n multiple_mins: true,\n multiple_dow: true,\n multiple_time_hours: true,\n multiple_time_minutes: true,\n default_period: 'hour',\n default_value: input.val() || '* * * * *',\n no_reset_button: false,\n bind_to: input,\n bind_method: {\n set: function set($element, value) {\n $element.val(value);\n }\n },\n texts: {\n en: {\n empty: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.EVERY'],\n empty_minutes: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.EVERY'],\n empty_time_hours: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.EVERY_HOUR'],\n empty_time_minutes: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.EVERY_MINUTE'],\n empty_day_of_week: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.EVERY_DAY_OF_WEEK'],\n empty_day_of_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.EVERY_DAY_OF_MONTH'],\n empty_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.EVERY_MONTH'],\n name_minute: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['NICETIME.MINUTE'],\n name_hour: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['NICETIME.HOUR'],\n name_day: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['NICETIME.DAY'],\n name_week: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['NICETIME.WEEK'],\n name_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['NICETIME.MONTH'],\n name_year: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['NICETIME.YEAR'],\n text_period: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.TEXT_PERIOD'],\n text_mins: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.TEXT_MINS'],\n text_time: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.TEXT_TIME'],\n text_dow: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.TEXT_DOW'],\n text_month: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.TEXT_MONTH'],\n text_dom: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.TEXT_DOM'],\n error1: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.ERROR1'],\n error2: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.ERROR2'],\n error3: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.ERROR3'],\n error4: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['CRON.ERROR4'],\n weekdays: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['DAYS_OF_THE_WEEK'],\n months: grav_config__WEBPACK_IMPORTED_MODULE_2__.translations.GRAV_CORE['MONTHS_OF_THE_YEAR']\n }\n }\n });\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target /* , record, instance */) {\n var _this2 = this;\n var crons = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-field=\"cron\"]');\n if (!crons.length) {\n return;\n }\n crons.each(function (index, list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n if (!~_this2.items.index(list)) {\n _this2.addCron(list);\n }\n });\n }\n }]);\n}();\n\nvar Instance = new CronField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LENBQUMsQ0FBQztJQUNOO0VBQUM7SUFBQTNCLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFKLGFBQWFBLENBQUN1RCxLQUFLLEVBQUVDLE1BQU0sMkJBQTBCO01BQUEsSUFBQUMsTUFBQTtNQUNqRCxJQUFJQyxLQUFLLEdBQUdyRSw2Q0FBQyxDQUFDbUUsTUFBTSxDQUFDLENBQUNsRCxJQUFJLENBQUMsMEJBQTBCLENBQUM7TUFDdEQsSUFBSSxDQUFDb0QsS0FBSyxDQUFDQyxNQUFNLEVBQUU7UUFBRTtNQUFRO01BRTdCRCxLQUFLLENBQUMvRCxJQUFJLENBQUMsVUFBQ0MsS0FBSyxFQUFFZ0UsSUFBSSxFQUFLO1FBQ3hCQSxJQUFJLEdBQUd2RSw2Q0FBQyxDQUFDdUUsSUFBSSxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUNILE1BQUksQ0FBQy9ELEtBQUssQ0FBQ0UsS0FBSyxDQUFDZ0UsSUFBSSxDQUFDLEVBQUU7VUFDMUJILE1BQUksQ0FBQzNELE9BQU8sQ0FBQzhELElBQUksQ0FBQztRQUN0QjtNQUNKLENBQUMsQ0FBQztJQUNOO0VBQUM7QUFBQTtBQTdFeUI7QUFnRnZCLElBQUlFLFFBQVEsR0FBRyxJQUFJdkUsU0FBUyxDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9jcm9uLmpzP2M0NzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCAnLi4vLi4vdXRpbHMvY3Jvbi11aSc7XG5pbXBvcnQgeyB0cmFuc2xhdGlvbnMgfSBmcm9tICdncmF2LWNvbmZpZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENyb25GaWVsZCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSAkKCk7XG5cbiAgICAgICAgJCgnW2RhdGEtZ3Jhdi1maWVsZD1cImNyb25cIl0nKS5lYWNoKChpbmRleCwgY3JvbikgPT4gdGhpcy5hZGRDcm9uKGNyb24pKTtcbiAgICAgICAgJCgnYm9keScpLm9uKCdtdXRhdGlvbi5fZ3JhdicsIHRoaXMuX29uQWRkZWROb2Rlcy5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICBhZGRDcm9uKGNyb24pIHtcbiAgICAgICAgY3JvbiA9ICQoY3Jvbik7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmFkZChjcm9uKTtcblxuICAgICAgICBjcm9uLmZpbmQoJy5jcm9uLXNlbGVjdG9yJykuZWFjaCgoaW5kZXgsIGNvbnRhaW5lcikgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyID0gJChjb250YWluZXIpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBjb250YWluZXIuY2xvc2VzdCgnW2RhdGEtZ3Jhdi1maWVsZF0nKS5maW5kKCdpbnB1dCcpO1xuXG4gICAgICAgICAgICBjb250YWluZXIuanFDcm9uKHtcbiAgICAgICAgICAgICAgICBudW1lcmljX3plcm9fcGFkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGVuYWJsZWRfbWludXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlX2RvbTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZV9tb250aDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZV9taW5zOiB0cnVlLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlX2RvdzogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtdWx0aXBsZV90aW1lX2hvdXJzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlX3RpbWVfbWludXRlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0X3BlcmlvZDogJ2hvdXInLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRfdmFsdWU6IGlucHV0LnZhbCgpIHx8ICcqICogKiAqIConLFxuICAgICAgICAgICAgICAgIG5vX3Jlc2V0X2J1dHRvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgYmluZF90bzogaW5wdXQsXG4gICAgICAgICAgICAgICAgYmluZF9tZXRob2Q6IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbigkZWxlbWVudCwgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LnZhbCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRleHRzOiB7XG4gICAgICAgICAgICAgICAgICAgIGVuOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbXB0eTogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FVkVSWSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlfbWludXRlczogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FVkVSWSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlfdGltZV9ob3VyczogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FVkVSWV9IT1VSJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlbXB0eV90aW1lX21pbnV0ZXM6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVZFUllfTUlOVVRFJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlbXB0eV9kYXlfb2Zfd2VlazogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FVkVSWV9EQVlfT0ZfV0VFSyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlfZGF5X29mX21vbnRoOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVWRVJZX0RBWV9PRl9NT05USCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlfbW9udGg6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVZFUllfTU9OVEgnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfbWludXRlOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydOSUNFVElNRS5NSU5VVEUnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfaG91cjogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnTklDRVRJTUUuSE9VUiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9kYXk6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ05JQ0VUSU1FLkRBWSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV93ZWVrOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydOSUNFVElNRS5XRUVLJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lX21vbnRoOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydOSUNFVElNRS5NT05USCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV95ZWFyOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydOSUNFVElNRS5ZRUFSJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3BlcmlvZDogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5URVhUX1BFUklPRCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9taW5zOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLlRFWFRfTUlOUyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF90aW1lOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLlRFWFRfVElNRSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9kb3c6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uVEVYVF9ET1cnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfbW9udGg6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uVEVYVF9NT05USCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9kb206IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uVEVYVF9ET00nXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yMTogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FUlJPUjEnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yMjogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FUlJPUjInXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yMzogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FUlJPUjMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yNDogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FUlJPUjQnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdlZWtkYXlzOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydEQVlTX09GX1RIRV9XRUVLJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aHM6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ01PTlRIU19PRl9USEVfWUVBUiddXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX29uQWRkZWROb2RlcyhldmVudCwgdGFyZ2V0LyogLCByZWNvcmQsIGluc3RhbmNlICovKSB7XG4gICAgICAgIGxldCBjcm9ucyA9ICQodGFyZ2V0KS5maW5kKCdbZGF0YS1ncmF2LWZpZWxkPVwiY3JvblwiXScpO1xuICAgICAgICBpZiAoIWNyb25zLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgICAgICBjcm9ucy5lYWNoKChpbmRleCwgbGlzdCkgPT4ge1xuICAgICAgICAgICAgbGlzdCA9ICQobGlzdCk7XG4gICAgICAgICAgICBpZiAoIX50aGlzLml0ZW1zLmluZGV4KGxpc3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRDcm9uKGxpc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBsZXQgSW5zdGFuY2UgPSBuZXcgQ3JvbkZpZWxkKCk7XG4iXSwibmFtZXMiOlsiJCIsInRyYW5zbGF0aW9ucyIsIkNyb25GaWVsZCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiaXRlbXMiLCJlYWNoIiwiaW5kZXgiLCJjcm9uIiwiYWRkQ3JvbiIsIm9uIiwiX29uQWRkZWROb2RlcyIsImJpbmQiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsImFkZCIsImZpbmQiLCJjb250YWluZXIiLCJpbnB1dCIsImNsb3Nlc3QiLCJqcUNyb24iLCJudW1lcmljX3plcm9fcGFkIiwiZW5hYmxlZF9taW51dGUiLCJtdWx0aXBsZV9kb20iLCJtdWx0aXBsZV9tb250aCIsIm11bHRpcGxlX21pbnMiLCJtdWx0aXBsZV9kb3ciLCJtdWx0aXBsZV90aW1lX2hvdXJzIiwibXVsdGlwbGVfdGltZV9taW51dGVzIiwiZGVmYXVsdF9wZXJpb2QiLCJkZWZhdWx0X3ZhbHVlIiwidmFsIiwibm9fcmVzZXRfYnV0dG9uIiwiYmluZF90byIsImJpbmRfbWV0aG9kIiwic2V0IiwiJGVsZW1lbnQiLCJ0ZXh0cyIsImVuIiwiZW1wdHkiLCJHUkFWX0NPUkUiLCJlbXB0eV9taW51dGVzIiwiZW1wdHlfdGltZV9ob3VycyIsImVtcHR5X3RpbWVfbWludXRlcyIsImVtcHR5X2RheV9vZl93ZWVrIiwiZW1wdHlfZGF5X29mX21vbnRoIiwiZW1wdHlfbW9udGgiLCJuYW1lX21pbnV0ZSIsIm5hbWVfaG91ciIsIm5hbWVfZGF5IiwibmFtZV93ZWVrIiwibmFtZV9tb250aCIsIm5hbWVfeWVhciIsInRleHRfcGVyaW9kIiwidGV4dF9taW5zIiwidGV4dF90aW1lIiwidGV4dF9kb3ciLCJ0ZXh0X21vbnRoIiwidGV4dF9kb20iLCJlcnJvcjEiLCJlcnJvcjIiLCJlcnJvcjMiLCJlcnJvcjQiLCJ3ZWVrZGF5cyIsIm1vbnRocyIsImV2ZW50IiwidGFyZ2V0IiwiX3RoaXMyIiwiY3JvbnMiLCJsZW5ndGgiLCJsaXN0IiwiZGVmYXVsdCIsIkluc3RhbmNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/forms/fields/cron.js\n\n}"); /***/ }), /***/ "./app/forms/fields/datetime.js": /*!**************************************!*\ !*** ./app/forms/fields/datetime.js ***! \**************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instance: () => (/* binding */ Instance),\n/* harmony export */ \"default\": () => (/* binding */ DateTimeField)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils_bootstrap_datetimepicker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/bootstrap-datetimepicker */ \"./app/utils/bootstrap-datetimepicker.js\");\n/* harmony import */ var _utils_bootstrap_datetimepicker__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_utils_bootstrap_datetimepicker__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\nvar DateTimeField = /*#__PURE__*/function () {\n function DateTimeField(options) {\n var _this = this;\n _classCallCheck(this, DateTimeField);\n this.items = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.options = Object.assign({}, this.defaults, options);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-datetime]').each(function (index, field) {\n return _this.addItem(field);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n return _createClass(DateTimeField, [{\n key: \"defaults\",\n get: function get() {\n return {\n showTodayButton: true,\n showClear: true,\n locale: grav_config__WEBPACK_IMPORTED_MODULE_1__.config.language || 'en',\n icons: {\n time: 'fa fa-clock-o',\n date: 'fa fa-calendar-o',\n up: 'fa fa-chevron-up',\n down: 'fa fa-chevron-down',\n previous: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n today: 'fa fa-bullseye',\n clear: 'fa fa-trash-o',\n close: 'fa fa-remove'\n }\n };\n }\n }, {\n key: \"addItem\",\n value: function addItem(list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n this.items = this.items.add(list);\n if (list.data('DateTimePicker')) {\n return;\n }\n var options = Object.assign({}, this.options, list.data('grav-datetime') || {});\n list.datetimepicker(options).on('dp.show dp.update', this._disableDecades);\n list.siblings('.field-icons').on('click', function () {\n return list.mousedown().focus();\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target /* , record, instance */) {\n var _this2 = this;\n var fields = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-datetime]');\n if (!fields.length) {\n return;\n }\n fields.each(function (index, field) {\n field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(field);\n if (!~_this2.items.index(field)) {\n _this2.addItem(field);\n }\n });\n }\n }, {\n key: \"_disableDecades\",\n value: function _disableDecades() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('.datepicker-years .picker-switch').removeAttr('title').on('click', function (e) {\n return e.stopPropagation();\n });\n }\n }]);\n}();\n\nvar Instance = new DateTimeField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUksQ0FBQyxVQUFDQyxLQUFLLEVBQUVDLEtBQUssRUFBSztRQUMxQkEsS0FBSyxHQUFHWiw2Q0FBQyxDQUFDWSxLQUFLLENBQUM7UUFDaEIsSUFBSSxDQUFDLENBQUNpQyxNQUFJLENBQUN2QyxLQUFLLENBQUNLLEtBQUssQ0FBQ0MsS0FBSyxDQUFDLEVBQUU7VUFDM0JpQyxNQUFJLENBQUNoQyxPQUFPLENBQUNELEtBQUssQ0FBQztRQUN2QjtNQUNKLENBQUMsQ0FBQztJQUNOO0VBQUM7SUFBQU0sR0FBQTtJQUFBZ0IsS0FBQSxFQUVELFNBQUFLLGVBQWVBLENBQUEsRUFBRztNQUNkdkMsNkNBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDaUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDbkMsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFDb0MsQ0FBQztRQUFBLE9BQUtBLENBQUMsQ0FBQ0MsZUFBZSxDQUFDLENBQUM7TUFBQSxFQUFDO0lBQ3JHO0VBQUM7QUFBQTtBQXZENkI7QUEwRDNCLElBQUlFLFFBQVEsR0FBRyxJQUFJbkQsYUFBYSxDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9kYXRldGltZS5qcz9kMWMyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICdncmF2LWNvbmZpZyc7XG5pbXBvcnQgJy4uLy4uL3V0aWxzL2Jvb3RzdHJhcC1kYXRldGltZXBpY2tlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGVUaW1lRmllbGQge1xuXG4gICAgZ2V0IGRlZmF1bHRzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2hvd1RvZGF5QnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd0NsZWFyOiB0cnVlLFxuICAgICAgICAgICAgbG9jYWxlOiBjb25maWcubGFuZ3VhZ2UgfHwgJ2VuJyxcbiAgICAgICAgICAgIGljb25zOiB7XG4gICAgICAgICAgICAgICAgdGltZTogJ2ZhIGZhLWNsb2NrLW8nLFxuICAgICAgICAgICAgICAgIGRhdGU6ICdmYSBmYS1jYWxlbmRhci1vJyxcbiAgICAgICAgICAgICAgICB1cDogJ2ZhIGZhLWNoZXZyb24tdXAnLFxuICAgICAgICAgICAgICAgIGRvd246ICdmYSBmYS1jaGV2cm9uLWRvd24nLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzOiAnZmEgZmEtY2hldnJvbi1sZWZ0JyxcbiAgICAgICAgICAgICAgICBuZXh0OiAnZmEgZmEtY2hldnJvbi1yaWdodCcsXG4gICAgICAgICAgICAgICAgdG9kYXk6ICdmYSBmYS1idWxsc2V5ZScsXG4gICAgICAgICAgICAgICAgY2xlYXI6ICdmYSBmYS10cmFzaC1vJyxcbiAgICAgICAgICAgICAgICBjbG9zZTogJ2ZhIGZhLXJlbW92ZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSAkKCk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGVmYXVsdHMsIG9wdGlvbnMpO1xuXG4gICAgICAgICQoJ1tkYXRhLWdyYXYtZGF0ZXRpbWVdJykuZWFjaCgoaW5kZXgsIGZpZWxkKSA9PiB0aGlzLmFkZEl0ZW0oZmllbGQpKTtcbiAgICAgICAgJCgnYm9keScpLm9uKCdtdXRhdGlvbi5fZ3JhdicsIHRoaXMuX29uQWRkZWROb2Rlcy5iaW5kKHRoaXMpKTtcblxuICAgIH1cblxuICAgIGFkZEl0ZW0obGlzdCkge1xuICAgICAgICBsaXN0ID0gJChsaXN0KTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuYWRkKGxpc3QpO1xuXG4gICAgICAgIGlmIChsaXN0LmRhdGEoJ0RhdGVUaW1lUGlja2VyJykpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgbGV0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm9wdGlvbnMsIGxpc3QuZGF0YSgnZ3Jhdi1kYXRldGltZScpIHx8IHt9KTtcbiAgICAgICAgbGlzdC5kYXRldGltZXBpY2tlcihvcHRpb25zKS5vbignZHAuc2hvdyBkcC51cGRhdGUnLCB0aGlzLl9kaXNhYmxlRGVjYWRlcyk7XG4gICAgICAgIGxpc3Quc2libGluZ3MoJy5maWVsZC1pY29ucycpLm9uKCdjbGljaycsICgpID0+IGxpc3QubW91c2Vkb3duKCkuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgX29uQWRkZWROb2RlcyhldmVudCwgdGFyZ2V0LyogLCByZWNvcmQsIGluc3RhbmNlICovKSB7XG4gICAgICAgIGxldCBmaWVsZHMgPSAkKHRhcmdldCkuZmluZCgnW2RhdGEtZ3Jhdi1kYXRldGltZV0nKTtcbiAgICAgICAgaWYgKCFmaWVsZHMubGVuZ3RoKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGZpZWxkcy5lYWNoKChpbmRleCwgZmllbGQpID0+IHtcbiAgICAgICAgICAgIGZpZWxkID0gJChmaWVsZCk7XG4gICAgICAgICAgICBpZiAoIX50aGlzLml0ZW1zLmluZGV4KGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkSXRlbShmaWVsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9kaXNhYmxlRGVjYWRlcygpIHtcbiAgICAgICAgJCgnLmRhdGVwaWNrZXIteWVhcnMgLnBpY2tlci1zd2l0Y2gnKS5yZW1vdmVBdHRyKCd0aXRsZScpLm9uKCdjbGljaycsIChlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICB9XG59XG5cbmV4cG9ydCBsZXQgSW5zdGFuY2UgPSBuZXcgRGF0ZVRpbWVGaWVsZCgpO1xuIl0sIm5hbWVzIjpbIiQiLCJjb25maWciLCJEYXRlVGltZUZpZWxkIiwib3B0aW9ucyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiaXRlbXMiLCJPYmplY3QiLCJhc3NpZ24iLCJkZWZhdWx0cyIsImVhY2giLCJpbmRleCIsImZpZWxkIiwiYWRkSXRlbSIsIm9uIiwiX29uQWRkZWROb2RlcyIsImJpbmQiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJnZXQiLCJzaG93VG9kYXlCdXR0b24iLCJzaG93Q2xlYXIiLCJsb2NhbGUiLCJsYW5ndWFnZSIsImljb25zIiwidGltZSIsImRhdGUiLCJ1cCIsImRvd24iLCJwcmV2aW91cyIsIm5leHQiLCJ0b2RheSIsImNsZWFyIiwiY2xvc2UiLCJ2YWx1ZSIsImxpc3QiLCJhZGQiLCJkYXRhIiwiZGF0ZXRpbWVwaWNrZXIiLCJfZGlzYWJsZURlY2FkZXMiLCJzaWJsaW5ncyIsIm1vdXNlZG93biIsImZvY3VzIiwiZXZlbnQiLCJ0YXJnZXQiLCJfdGhpczIiLCJmaWVsZHMiLCJmaW5kIiwibGVuZ3RoIiwicmVtb3ZlQXR0ciIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJkZWZhdWx0IiwiSW5zdGFuY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/datetime.js\n\n}"); /***/ }), /***/ "./app/forms/fields/editor.js": /*!************************************!*\ !*** ./app/forms/fields/editor.js ***! \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Instance: () => (/* binding */ Instance),\n/* harmony export */ Toolbar: () => (/* binding */ Toolbar),\n/* harmony export */ \"default\": () => (/* binding */ EditorField)\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _editor_buttons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./editor/buttons */ \"./app/forms/fields/editor/buttons.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var watchjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! watchjs */ \"./node_modules/watchjs/src/watch.js\");\n/* harmony import */ var watchjs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(watchjs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var js_yaml__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/dist/js-yaml.mjs\");\n/* harmony import */ var codemirror_mode_css_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! codemirror/mode/css/css */ \"./node_modules/codemirror/mode/css/css.js\");\n/* harmony import */ var codemirror_mode_css_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_css_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var codemirror_mode_gfm_gfm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! codemirror/mode/gfm/gfm */ \"./node_modules/codemirror/mode/gfm/gfm.js\");\n/* harmony import */ var codemirror_mode_gfm_gfm__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_gfm_gfm__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var codemirror_mode_htmlmixed_htmlmixed__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! codemirror/mode/htmlmixed/htmlmixed */ \"./node_modules/codemirror/mode/htmlmixed/htmlmixed.js\");\n/* harmony import */ var codemirror_mode_htmlmixed_htmlmixed__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_htmlmixed_htmlmixed__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! codemirror/mode/javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\");\n/* harmony import */ var codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_javascript_javascript__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var codemirror_mode_markdown_markdown__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! codemirror/mode/markdown/markdown */ \"./node_modules/codemirror/mode/markdown/markdown.js\");\n/* harmony import */ var codemirror_mode_markdown_markdown__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_markdown_markdown__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var codemirror_mode_php_php__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! codemirror/mode/php/php */ \"./node_modules/codemirror/mode/php/php.js\");\n/* harmony import */ var codemirror_mode_php_php__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_php_php__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var codemirror_mode_sass_sass__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! codemirror/mode/sass/sass */ \"./node_modules/codemirror/mode/sass/sass.js\");\n/* harmony import */ var codemirror_mode_sass_sass__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_sass_sass__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var codemirror_mode_twig_twig__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! codemirror/mode/twig/twig */ \"./node_modules/codemirror/mode/twig/twig.js\");\n/* harmony import */ var codemirror_mode_twig_twig__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_twig_twig__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var codemirror_mode_xml_xml__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! codemirror/mode/xml/xml */ \"./node_modules/codemirror/mode/xml/xml.js\");\n/* harmony import */ var codemirror_mode_xml_xml__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_xml_xml__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var codemirror_mode_yaml_yaml__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! codemirror/mode/yaml/yaml */ \"./node_modules/codemirror/mode/yaml/yaml.js\");\n/* harmony import */ var codemirror_mode_yaml_yaml__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(codemirror_mode_yaml_yaml__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var codemirror_addon_edit_continuelist__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! codemirror/addon/edit/continuelist */ \"./node_modules/codemirror/addon/edit/continuelist.js\");\n/* harmony import */ var codemirror_addon_edit_continuelist__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_edit_continuelist__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var codemirror_addon_mode_overlay__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! codemirror/addon/mode/overlay */ \"./node_modules/codemirror/addon/mode/overlay.js\");\n/* harmony import */ var codemirror_addon_mode_overlay__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_mode_overlay__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var codemirror_addon_selection_active_line__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! codemirror/addon/selection/active-line */ \"./node_modules/codemirror/addon/selection/active-line.js\");\n/* harmony import */ var codemirror_addon_selection_active_line__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_selection_active_line__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var codemirror_addon_lint_lint__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! codemirror/addon/lint/lint */ \"./node_modules/codemirror/addon/lint/lint.js\");\n/* harmony import */ var codemirror_addon_lint_lint__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_lint__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var codemirror_addon_lint_lint_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! codemirror/addon/lint/lint.css */ \"./node_modules/codemirror/addon/lint/lint.css\");\n/* harmony import */ var codemirror_addon_lint_css_lint__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! codemirror/addon/lint/css-lint */ \"./node_modules/codemirror/addon/lint/css-lint.js\");\n/* harmony import */ var codemirror_addon_lint_css_lint__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_css_lint__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var codemirror_addon_lint_javascript_lint__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! codemirror/addon/lint/javascript-lint */ \"./node_modules/codemirror/addon/lint/javascript-lint.js\");\n/* harmony import */ var codemirror_addon_lint_javascript_lint__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_javascript_lint__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var codemirror_addon_lint_json_lint__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! codemirror/addon/lint/json-lint */ \"./node_modules/codemirror/addon/lint/json-lint.js\");\n/* harmony import */ var codemirror_addon_lint_json_lint__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_json_lint__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var codemirror_addon_lint_yaml_lint__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! codemirror/addon/lint/yaml-lint */ \"./node_modules/codemirror/addon/lint/yaml-lint.js\");\n/* harmony import */ var codemirror_addon_lint_yaml_lint__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(codemirror_addon_lint_yaml_lint__WEBPACK_IMPORTED_MODULE_23__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n__webpack_require__.g.jsyaml = js_yaml__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n\n// Modes\n\n\n\n\n\n\n\n\n\n\n\n// Add-ons\n\n\n\n\n\n\n\n\n\nvar IS_MOUSEDOWN = false;\nvar ThemesMap = ['paper'];\nvar Defaults = {\n codemirror: {\n mode: 'htmlmixed',\n theme: 'paper',\n lineWrapping: true,\n dragDrop: true,\n autoCloseTags: true,\n matchTags: true,\n autoCloseBrackets: true,\n matchBrackets: true,\n indentUnit: 4,\n indentWithTabs: false,\n tabSize: 4,\n hintOptions: {\n completionSingle: false\n },\n extraKeys: {\n 'Enter': 'newlineAndIndentContinueMarkdownList'\n }\n }\n};\nvar EditorField = /*#__PURE__*/function () {\n function EditorField(options) {\n var _this = this;\n _classCallCheck(this, EditorField);\n var body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n this.editors = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.options = Object.assign({}, Defaults, options);\n this.buttons = _editor_buttons__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n this.buttonStrategies = _editor_buttons__WEBPACK_IMPORTED_MODULE_1__.strategies;\n (0,watchjs__WEBPACK_IMPORTED_MODULE_3__.watch)(_editor_buttons__WEBPACK_IMPORTED_MODULE_1__[\"default\"], function /* key, modifier, prev, next */\n () {\n _this.editors.each(function (index, editor) {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(editor).data('toolbar').renderButtons();\n });\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-editor]').each(function (index, editor) {\n return _this.addEditor(editor);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(function () {\n body.trigger('grav-editor-ready');\n });\n body.on('mutation._grav', this._onAddedNodes.bind(this));\n body.on('mouseup._grav', function () {\n if (!IS_MOUSEDOWN) {\n return true;\n }\n body.unbind('mousemove._grav');\n IS_MOUSEDOWN = false;\n });\n body.on('mousedown._grav', '.grav-editor-resizer', function (event) {\n event && event.preventDefault();\n IS_MOUSEDOWN = true;\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var container = target.siblings('.grav-editor-content');\n var editor = container.find('.CodeMirror');\n var codemirror = container.find('textarea').data('codemirror');\n body.on('mousemove._grav', function (event) {\n editor.css('height', Math.max(100, event.pageY - container.offset().top));\n codemirror.refresh();\n });\n });\n }\n return _createClass(EditorField, [{\n key: \"addButton\",\n value: function addButton(button, options) {\n if (options && (options.before || options.after)) {\n var index = this.buttons.navigation.findIndex(function (obj) {\n var key = Object.keys(obj).shift();\n return obj[key].identifier === (options.before || options.after);\n });\n if (!~index) {\n options = 'end';\n } else {\n this.buttons.navigation.splice(options.before ? index : index + 1, 0, button);\n }\n }\n if (options === 'start') {\n this.buttons.navigation.splice(0, 0, button);\n }\n if (!options || options === 'end') {\n this.buttons.navigation.push(button);\n }\n }\n }, {\n key: \"addEditor\",\n value: function addEditor(textarea) {\n textarea = jquery__WEBPACK_IMPORTED_MODULE_0___default()(textarea);\n var options = Object.assign({}, this.options.codemirror, textarea.data('grav-editor').codemirror);\n var theme = options.theme || 'paper';\n this.editors = this.editors.add(textarea);\n if (theme && !~ThemesMap.indexOf(theme)) {\n ThemesMap.push(theme);\n // let themeCSS = `https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.12.0/theme/${theme}.min.css`;\n // $('head').append($('').attr('href', themeCSS));\n }\n if (options.mode === 'yaml') {\n Object.assign(options.extraKeys, {\n Tab: function Tab(cm) {\n cm.replaceSelection(' ', 'end');\n }\n });\n }\n var editor = codemirror__WEBPACK_IMPORTED_MODULE_2___default().fromTextArea(textarea.get(0), options);\n textarea.data('codemirror', editor);\n textarea.data('toolbar', new Toolbar(textarea));\n textarea.addClass('code-mirrored');\n if (options.toolbar === false) {\n textarea.data('toolbar').ui.navigation.addClass('grav-editor-hide-toolbar');\n }\n editor.on('change', function () {\n return editor.save();\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target /* , record, instance */) {\n var _this2 = this;\n var editors = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-editor]');\n if (!editors.length) {\n return;\n }\n editors.each(function (index, editor) {\n editor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(editor);\n if (!~_this2.editors.index(editor)) {\n _this2.addEditor(editor);\n }\n });\n }\n }]);\n}();\n\nvar Toolbar = /*#__PURE__*/function () {\n function Toolbar(editor) {\n _classCallCheck(this, Toolbar);\n this.editor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(editor);\n this.codemirror = this.editor.data('codemirror');\n this.buttons = _editor_buttons__WEBPACK_IMPORTED_MODULE_1__[\"default\"].navigation;\n this.ui = {\n navigation: jquery__WEBPACK_IMPORTED_MODULE_0___default()(Toolbar.templates().navigation)\n };\n this.editor.parent('.grav-editor-content').before(this.ui.navigation).after(this.ui.states);\n this.renderButtons();\n }\n return _createClass(Toolbar, [{\n key: \"renderButtons\",\n value: function renderButtons() {\n var _this3 = this;\n var map = {\n 'actions': 'navigation',\n 'modes': 'states'\n };\n ['actions', 'modes'].forEach(function (type) {\n _this3.ui.navigation.find(\".grav-editor-\".concat(type)).empty().append('