/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is not 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;Grav = /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./app/dashboard/backup.js": /*!*********************************!*\ !*** ./app/dashboard/backup.js ***! \*********************************/ /*! namespace exports */ /*! exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ /***/ ((__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 ()\n /* 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\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9iYWNrdXAuanM/MWFiZCJdLCJuYW1lcyI6WyIkIiwib24iLCJlbGVtZW50IiwidXJsIiwiZGF0YSIsImluRHJvcGRvd24iLCJjbG9zZXN0IiwibGVuZ3RoIiwiZmluZCIsImF0dHIiLCJyZW1vdmVDbGFzcyIsImFkZENsYXNzIiwicmVxdWVzdCIsIkNoYXJ0cyIsInNlcmllcyIsImh0bWwiLCJ0cmFuc2xhdGlvbnMiLCJyZW1vdmVBdHRyIiwidHIiLCJyZXNwb25zZSIsInN0YXR1cyIsInJlbW92ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUFBLDZDQUFDLENBQUMscUNBQUQsQ0FBRCxDQUF5Q0MsRUFBekMsQ0FBNEMsT0FBNUMsRUFBcUQsWUFBVztBQUM1RCxNQUFJQyxPQUFPLEdBQUdGLDZDQUFDLENBQUMsSUFBRCxDQUFmO0FBQ0EsTUFBSUcsR0FBRyxHQUFHRCxPQUFPLENBQUNFLElBQVIsQ0FBYSxNQUFiLENBQVY7QUFDQSxNQUFNQyxVQUFVLEdBQUdILE9BQU8sQ0FBQ0ksT0FBUixDQUFnQixnQkFBaEIsQ0FBbkI7QUFFQSxHQUFDRCxVQUFVLENBQUNFLE1BQVgsR0FBb0JGLFVBQXBCLEdBQWlDSCxPQUFsQyxFQUNLSSxPQURMLENBQ2EsZUFEYixFQUM4QkUsSUFEOUIsQ0FDbUMsZ0JBRG5DLEVBRUtDLElBRkwsQ0FFVSxVQUZWLEVBRXNCLFVBRnRCLEVBR0tELElBSEwsQ0FHVSxPQUhWLEVBR21CRSxXQUhuQixDQUcrQixjQUgvQixFQUcrQ0MsUUFIL0MsQ0FHd0Qsb0JBSHhEO0FBS0FDLHlEQUFPLENBQUNULEdBQUQsRUFBTTtBQUFDO0FBQW1CO0FBQzdCLFFBQUlVLDZDQUFNLElBQUlBLHFEQUFkLEVBQThCO0FBQzFCQSxzRUFBQSxDQUEwQjtBQUFFQyxjQUFNLEVBQUUsQ0FBQyxDQUFELEVBQUksR0FBSjtBQUFWLE9BQTFCO0FBQ0FELHdFQUFBLENBQTRCLFVBQTVCLEVBQXdDRSxJQUF4QyxpQkFBc0RDLG1GQUFBLEVBQXREO0FBQ0g7O0FBRUQsS0FBQ1gsVUFBVSxDQUFDRSxNQUFYLEdBQW9CRixVQUFwQixHQUFpQ0gsT0FBbEMsRUFDS0ksT0FETCxDQUNhLGVBRGIsRUFDOEJFLElBRDlCLENBQ21DLGdCQURuQyxFQUVLUyxVQUZMLENBRWdCLFVBRmhCLEVBR0tULElBSEwsQ0FHVSxPQUhWLEVBR21CRSxXQUhuQixDQUcrQixvQkFIL0IsRUFHcURDLFFBSHJELENBRzhELGNBSDlEO0FBSUgsR0FWTSxDQUFQO0FBV0gsQ0FyQkQ7QUF1QkFYLDZDQUFDLENBQUMsMENBQUQsQ0FBRCxDQUE4Q0MsRUFBOUMsQ0FBaUQsT0FBakQsRUFBMEQsWUFBVztBQUNqRSxNQUFJQyxPQUFPLEdBQUdGLDZDQUFDLENBQUMsSUFBRCxDQUFmO0FBQ0EsTUFBSUcsR0FBRyxHQUFHRCxPQUFPLENBQUNFLElBQVIsQ0FBYSxNQUFiLENBQVY7QUFDQSxNQUFNYyxFQUFFLEdBQUdoQixPQUFPLENBQUNJLE9BQVIsQ0FBZ0IsSUFBaEIsQ0FBWDtBQUNBWSxJQUFFLENBQUNQLFFBQUgsQ0FBWSxVQUFaO0FBRUFDLHlEQUFPLENBQUNULEdBQUQsRUFBTSxVQUFDZ0IsUUFBRCxFQUFjO0FBQ3ZCLFFBQUlBLFFBQVEsQ0FBQ0MsTUFBVCxLQUFvQixTQUF4QixFQUFtQztBQUMvQkYsUUFBRSxDQUFDRyxNQUFIO0FBQ0gsS0FGRCxNQUVPO0FBQ0hILFFBQUUsQ0FBQ1IsV0FBSCxDQUFlLFVBQWY7QUFDSDtBQUNKLEdBTk0sQ0FBUDtBQU9ILENBYkQiLCJmaWxlIjoiLi9hcHAvZGFzaGJvYXJkL2JhY2t1cC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgeyB0cmFuc2xhdGlvbnMgfSBmcm9tICdncmF2LWNvbmZpZyc7XG5pbXBvcnQgcmVxdWVzdCBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcbmltcG9ydCB7IEluc3RhbmNlcyBhcyBDaGFydHMgfSBmcm9tICcuL2NoYXJ0JztcblxuJCgnW2RhdGEtYmFja3VwXVtkYXRhLWFqYXgqPVwiYmFja3VwL1wiXScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkge1xuICAgIGxldCBlbGVtZW50ID0gJCh0aGlzKTtcbiAgICBsZXQgdXJsID0gZWxlbWVudC5kYXRhKCdhamF4Jyk7XG4gICAgY29uc3QgaW5Ecm9wZG93biA9IGVsZW1lbnQuY2xvc2VzdCgnLmRyb3Bkb3duLW1lbnUnKTtcblxuICAgIChpbkRyb3Bkb3duLmxlbmd0aCA/IGluRHJvcGRvd24gOiBlbGVtZW50KVxuICAgICAgICAuY2xvc2VzdCgnLmJ1dHRvbi1ncm91cCcpLmZpbmQoJz4gYnV0dG9uOmZpcnN0JylcbiAgICAgICAgLmF0dHIoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJylcbiAgICAgICAgLmZpbmQoJz4gLmZhJykucmVtb3ZlQ2xhc3MoJ2ZhLWxpZmUtcmluZycpLmFkZENsYXNzKCdmYS1zcGluIGZhLXJlZnJlc2gnKTtcblxuICAgIHJlcXVlc3QodXJsLCAoLyogcmVzcG9uc2UgKi8pID0+IHtcbiAgICAgICAgaWYgKENoYXJ0cyAmJiBDaGFydHMuYmFja3Vwcykge1xuICAgICAgICAgICAgQ2hhcnRzLmJhY2t1cHMudXBkYXRlRGF0YSh7IHNlcmllczogWzAsIDEwMF0gfSk7XG4gICAgICAgICAgICBDaGFydHMuYmFja3Vwcy5lbGVtZW50LmZpbmQoJy5udW1lcmljJykuaHRtbChgMCA8ZW0+JHt0cmFuc2xhdGlvbnMuUExVR0lOX0FETUlOLkRBWVMudG9Mb3dlckNhc2UoKX08L2VtPmApO1xuICAgICAgICB9XG5cbiAgICAgICAgKGluRHJvcGRvd24ubGVuZ3RoID8gaW5Ecm9wZG93biA6IGVsZW1lbnQpXG4gICAgICAgICAgICAuY2xvc2VzdCgnLmJ1dHRvbi1ncm91cCcpLmZpbmQoJz4gYnV0dG9uOmZpcnN0JylcbiAgICAgICAgICAgIC5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpXG4gICAgICAgICAgICAuZmluZCgnPiAuZmEnKS5yZW1vdmVDbGFzcygnZmEtc3BpbiBmYS1yZWZyZXNoJykuYWRkQ2xhc3MoJ2ZhLWxpZmUtcmluZycpO1xuICAgIH0pO1xufSk7XG5cbiQoJ1tkYXRhLWJhY2t1cF1bZGF0YS1hamF4Kj1cImJhY2t1cERlbGV0ZVwiXScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkge1xuICAgIGxldCBlbGVtZW50ID0gJCh0aGlzKTtcbiAgICBsZXQgdXJsID0gZWxlbWVudC5kYXRhKCdhamF4Jyk7XG4gICAgY29uc3QgdHIgPSBlbGVtZW50LmNsb3Nlc3QoJ3RyJyk7XG4gICAgdHIuYWRkQ2xhc3MoJ2RlbGV0aW5nJyk7XG5cbiAgICByZXF1ZXN0KHVybCwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgdHIucmVtb3ZlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0ci5yZW1vdmVDbGFzcygnZGVsZXRpbmcnKTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/backup.js\n"); /***/ }), /***/ "./app/dashboard/cache.js": /*!********************************!*\ !*** ./app/dashboard/cache.js ***! \********************************/ /*! namespace exports */ /*! export Instance [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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\": () => /* binding */ Cache,\n/* harmony export */ \"Instance\": () => /* binding */ Instance\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\nvar getUrl = function getUrl() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (type) {\n type = \"cleartype:\".concat(type, \"/\");\n }\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};\n\nvar Cache = /*#__PURE__*/function () {\n function Cache() {\n var _this = this;\n\n _classCallCheck(this, Cache);\n\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\n _createClass(Cache, [{\n key: \"clear\",\n value: function clear(event, element) {\n var _this2 = this;\n\n var type = '';\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n if (typeof event === 'string') {\n type = event;\n }\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 return Cache;\n}();\n\n\nvar Instance = new Cache();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9jYWNoZS5qcz9jYjJiIl0sIm5hbWVzIjpbImdldFVybCIsInR5cGUiLCJjb25maWciLCJDYWNoZSIsImVsZW1lbnQiLCIkIiwib24iLCJldmVudCIsImNsZWFyIiwidGFyZ2V0IiwicHJldmVudERlZmF1bHQiLCJkYXRhIiwidXJsIiwiZGlzYWJsZSIsInJlcXVlc3QiLCJlbmFibGUiLCJyZW1vdmVBdHRyIiwiZmluZCIsInJlbW92ZUNsYXNzIiwiYWRkQ2xhc3MiLCJhdHRyIiwiSW5zdGFuY2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUEsTUFBTSxHQUFHLFNBQVRBLE1BQVMsR0FBZTtBQUFBLE1BQWRDLElBQWMsdUVBQVAsRUFBTzs7QUFDMUIsTUFBSUEsSUFBSixFQUFVO0FBQ05BLFFBQUksdUJBQWdCQSxJQUFoQixNQUFKO0FBQ0g7O0FBRUQsbUJBQVVDLGlFQUFWLDZCQUFxREEseURBQXJELHdCQUFtRkQsSUFBbkYsd0JBQXFHQyx5REFBckcsU0FBd0hBLDJEQUF4SDtBQUNILENBTkQ7O0lBUXFCQyxLO0FBQ2pCLG1CQUFjO0FBQUE7O0FBQUE7O0FBQ1YsU0FBS0MsT0FBTCxHQUFlQyw2Q0FBQyxDQUFDLG9CQUFELENBQWhCO0FBQ0FBLGlEQUFDLENBQUMsTUFBRCxDQUFELENBQVVDLEVBQVYsQ0FBYSxPQUFiLEVBQXNCLG9CQUF0QixFQUE0QyxVQUFDQyxLQUFEO0FBQUEsYUFBVyxLQUFJLENBQUNDLEtBQUwsQ0FBV0QsS0FBWCxFQUFrQkEsS0FBSyxDQUFDRSxNQUF4QixDQUFYO0FBQUEsS0FBNUM7QUFDSDs7OzswQkFFS0YsSyxFQUFPSCxPLEVBQVM7QUFBQTs7QUFDbEIsVUFBSUgsSUFBSSxHQUFHLEVBQVg7O0FBRUEsVUFBSU0sS0FBSyxJQUFJQSxLQUFLLENBQUNHLGNBQW5CLEVBQW1DO0FBQUVILGFBQUssQ0FBQ0csY0FBTjtBQUF5Qjs7QUFDOUQsVUFBSSxPQUFPSCxLQUFQLEtBQWlCLFFBQXJCLEVBQStCO0FBQUVOLFlBQUksR0FBR00sS0FBUDtBQUFlOztBQUVoREgsYUFBTyxHQUFHQSxPQUFPLEdBQUdDLDZDQUFDLENBQUNELE9BQUQsQ0FBSixHQUFnQkMsNkNBQUMsb0NBQTRCSixJQUE1QixTQUFsQztBQUNBQSxVQUFJLEdBQUdBLElBQUksSUFBSUksNkNBQUMsQ0FBQ0QsT0FBRCxDQUFELENBQVdPLElBQVgsQ0FBZ0Isa0JBQWhCLENBQVIsSUFBK0MsRUFBdEQ7QUFDQSxVQUFJQyxHQUFHLEdBQUdSLE9BQU8sQ0FBQ08sSUFBUixDQUFhLFlBQWIsS0FBOEJYLE1BQU0sQ0FBQ0MsSUFBRCxDQUE5QztBQUVBLFdBQUtZLE9BQUw7QUFFQUMsNkRBQU8sQ0FBQ0YsR0FBRCxFQUFNO0FBQUEsZUFBTSxNQUFJLENBQUNHLE1BQUwsRUFBTjtBQUFBLE9BQU4sQ0FBUDtBQUNIOzs7NkJBRVE7QUFDTCxXQUFLWCxPQUFMLENBQ0tZLFVBREwsQ0FDZ0IsVUFEaEIsRUFFS0MsSUFGTCxDQUVVLE9BRlYsRUFFbUJDLFdBRm5CLENBRStCLCtCQUYvQixFQUVnRUMsUUFGaEUsQ0FFeUUsWUFGekU7QUFHSDs7OzhCQUVTO0FBQ04sV0FBS2YsT0FBTCxDQUNLZ0IsSUFETCxDQUNVLFVBRFYsRUFDc0IsVUFEdEIsRUFFS0gsSUFGTCxDQUVVLE9BRlYsRUFFbUJDLFdBRm5CLENBRStCLFlBRi9CLEVBRTZDQyxRQUY3QyxDQUVzRCxvQkFGdEQ7QUFHSDs7Ozs7OztBQUdMLElBQUlFLFFBQVEsR0FBRyxJQUFJbEIsS0FBSixFQUFmIiwiZmlsZSI6Ii4vYXBwL2Rhc2hib2FyZC9jYWNoZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICdncmF2LWNvbmZpZyc7XG5pbXBvcnQgcmVxdWVzdCBmcm9tICcuLi91dGlscy9yZXF1ZXN0JztcblxuY29uc3QgZ2V0VXJsID0gKHR5cGUgPSAnJykgPT4ge1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHR5cGUgPSBgY2xlYXJ0eXBlOiR7dHlwZX0vYDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7Y29uZmlnLmJhc2VfdXJsX3JlbGF0aXZlfS9jYWNoZS5qc29uL3Rhc2ske2NvbmZpZy5wYXJhbV9zZXB9Y2xlYXJDYWNoZS8ke3R5cGV9YWRtaW4tbm9uY2Uke2NvbmZpZy5wYXJhbV9zZXB9JHtjb25maWcuYWRtaW5fbm9uY2V9YDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENhY2hlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gJCgnW2RhdGEtY2xlYXItY2FjaGVdJyk7XG4gICAgICAgICQoJ2JvZHknKS5vbignY2xpY2snLCAnW2RhdGEtY2xlYXItY2FjaGVdJywgKGV2ZW50KSA9PiB0aGlzLmNsZWFyKGV2ZW50LCBldmVudC50YXJnZXQpKTtcbiAgICB9XG5cbiAgICBjbGVhcihldmVudCwgZWxlbWVudCkge1xuICAgICAgICBsZXQgdHlwZSA9ICcnO1xuXG4gICAgICAgIGlmIChldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCkgeyBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyB9XG4gICAgICAgIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7IHR5cGUgPSBldmVudDsgfVxuXG4gICAgICAgIGVsZW1lbnQgPSBlbGVtZW50ID8gJChlbGVtZW50KSA6ICQoYFtkYXRhLWNsZWFyLWNhY2hlLXR5cGU9XCIke3R5cGV9XCJdYCk7XG4gICAgICAgIHR5cGUgPSB0eXBlIHx8ICQoZWxlbWVudCkuZGF0YSgnY2xlYXItY2FjaGUtdHlwZScpIHx8ICcnO1xuICAgICAgICBsZXQgdXJsID0gZWxlbWVudC5kYXRhKCdjbGVhckNhY2hlJykgfHwgZ2V0VXJsKHR5cGUpO1xuXG4gICAgICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgICAgIHJlcXVlc3QodXJsLCAoKSA9PiB0aGlzLmVuYWJsZSgpKTtcbiAgICB9XG5cbiAgICBlbmFibGUoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFxuICAgICAgICAgICAgLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJylcbiAgICAgICAgICAgIC5maW5kKCc+IC5mYScpLnJlbW92ZUNsYXNzKCdmYS1yZWZyZXNoIGZhLXNwaW4gZmEtcmV0d2VldCcpLmFkZENsYXNzKCdmYS1yZXR3ZWV0Jyk7XG4gICAgfVxuXG4gICAgZGlzYWJsZSgpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50XG4gICAgICAgICAgICAuYXR0cignZGlzYWJsZWQnLCAnZGlzYWJsZWQnKVxuICAgICAgICAgICAgLmZpbmQoJz4gLmZhJykucmVtb3ZlQ2xhc3MoJ2ZhLXJldHdlZXQnKS5hZGRDbGFzcygnZmEtcmVmcmVzaCBmYS1zcGluJyk7XG4gICAgfVxufVxuXG5sZXQgSW5zdGFuY2UgPSBuZXcgQ2FjaGUoKTtcblxuZXhwb3J0IHsgSW5zdGFuY2UgfTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/dashboard/cache.js\n"); /***/ }), /***/ "./app/dashboard/chart.js": /*!********************************!*\ !*** ./app/dashboard/chart.js ***! \********************************/ /*! namespace exports */ /*! export Instances [provided] [no usage info] [missing usage info prevents renaming] */ /*! export UpdatesChart [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! export defaults [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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 */ \"defaults\": () => /* binding */ defaults,\n/* harmony export */ \"default\": () => /* binding */ Chart,\n/* harmony export */ \"UpdatesChart\": () => /* binding */ UpdatesChart,\n/* harmony export */ \"Instances\": () => /* binding */ Instances\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 _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\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 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};\n\nvar Chart = /*#__PURE__*/function () {\n function Chart(element) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, Chart);\n\n this.element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element) || [];\n\n if (!this.element[0]) {\n return;\n }\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'); // FIX: workaround for chartist issue not allowing HTML in labels anymore\n // https://github.com/gionkunz/chartist-js/issues/937\n\n\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\n _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 return Chart;\n}();\n\n\n;\nvar UpdatesChart = /*#__PURE__*/function (_Chart) {\n _inherits(UpdatesChart, _Chart);\n\n var _super = _createSuper(UpdatesChart);\n\n function UpdatesChart(element) {\n var _this2;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, UpdatesChart);\n\n _this2 = _super.call(this, element, options, data);\n\n _this2.chart.on('draw', function (data) {\n return _this2.draw(data);\n });\n\n _utils_gpm__WEBPACK_IMPORTED_MODULE_3__.Instance.on('fetched', function (response) {\n if (!response.payload) {\n return;\n }\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\n _this2.updateData({\n series: [updated, missing]\n });\n\n if (response.payload.resources.total) {\n _updates__WEBPACK_IMPORTED_MODULE_4__.Instance.maintenance('show');\n }\n });\n return _this2;\n }\n\n _createClass(UpdatesChart, [{\n key: \"draw\",\n value: function draw(data) {\n if (data.index) {\n return;\n }\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 _get(_getPrototypeOf(UpdatesChart.prototype), \"updateData\", this).call(this, data); // missing updates\n\n\n if (this.data.series[0] < 100) {\n this.element.closest('#updates').find('[data-update-packages]').fadeIn();\n }\n }\n }]);\n\n return UpdatesChart;\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\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9jaGFydC5qcz8xZTg2Il0sIm5hbWVzIjpbImRlZmF1bHRzIiwiZGF0YSIsInNlcmllcyIsIm9wdGlvbnMiLCJQaWUiLCJkb251dCIsImRvbnV0V2lkdGgiLCJzdGFydEFuZ2xlIiwidG90YWwiLCJzaG93TGFiZWwiLCJoZWlnaHQiLCJjaGFydFBhZGRpbmciLCJCYXIiLCJheGlzWCIsInNob3dHcmlkIiwibGFiZWxPZmZzZXQiLCJ4IiwieSIsImF4aXNZIiwib2Zmc2V0Iiwic2NhbGVNaW5TcGFjZSIsIkNoYXJ0IiwiZWxlbWVudCIsIiQiLCJ0eXBlIiwidG9Mb3dlckNhc2UiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInN1YnN0ciIsIk9iamVjdCIsImFzc2lnbiIsImNoYXJ0IiwiY2hhcnRpc3QiLCJmaW5kIiwiZW1wdHkiLCJvbiIsInJlbW92ZUNsYXNzIiwiZWFjaCIsImluZGV4IiwibGFiZWwiLCJ0ZXh0IiwiaHRtbCIsInJlcGxhY2UiLCJ1cGRhdGUiLCJVcGRhdGVzQ2hhcnQiLCJkcmF3IiwiZ3BtIiwicmVzcG9uc2UiLCJwYXlsb2FkIiwiZ3JhdiIsIm1pc3NpbmciLCJyZXNvdXJjZXMiLCJpc1VwZGF0YWJsZSIsImluc3RhbGxlZCIsInVwZGF0ZWQiLCJ1cGRhdGVEYXRhIiwidXBkYXRlcyIsIm5vdGljZSIsInRyYW5zbGF0aW9ucyIsInZhbHVlIiwiTWF0aCIsInJvdW5kIiwiY2xvc2VzdCIsImZhZGVJbiIsImNoYXJ0cyIsIm5hbWUiLCJJbnN0YW5jZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7Q0FHQTs7QUFFTyxJQUFNQSxRQUFRLEdBQUc7QUFDcEJDLE1BQUksRUFBRTtBQUNGQyxVQUFNLEVBQUUsQ0FBQyxHQUFELEVBQU0sQ0FBTjtBQUROLEdBRGM7QUFJcEJDLFNBQU8sRUFBRTtBQUNM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Q0FBdUJjLElBQXZCLENBQTRCLFlBQVc7QUFDbkMsTUFBSWYsT0FBTyxHQUFHQyw2Q0FBQyxDQUFDLElBQUQsQ0FBZjtBQUNBLE1BQUkwQyxJQUFJLEdBQUczQyxPQUFPLENBQUNyQixJQUFSLENBQWEsWUFBYixLQUE4QixFQUF6QztBQUNBLE1BQUlFLE9BQU8sR0FBR21CLE9BQU8sQ0FBQ3JCLElBQVIsQ0FBYSxlQUFiLEtBQWlDLEVBQS9DO0FBQ0EsTUFBSUEsSUFBSSxHQUFHcUIsT0FBTyxDQUFDckIsSUFBUixDQUFhLFlBQWIsS0FBOEIsRUFBekM7O0FBRUEsTUFBSWdFLElBQUksS0FBSyxTQUFiLEVBQXdCO0FBQ3BCRCxVQUFNLENBQUNDLElBQUQsQ0FBTixHQUFlLElBQUlyQixZQUFKLENBQWlCdEIsT0FBakIsRUFBMEJuQixPQUExQixFQUFtQ0YsSUFBbkMsQ0FBZjtBQUNILEdBRkQsTUFFTztBQUNIK0QsVUFBTSxDQUFDQyxJQUFELENBQU4sR0FBZSxJQUFJNUMsS0FBSixDQUFVQyxPQUFWLEVBQW1CbkIsT0FBbkIsRUFBNEJGLElBQTVCLENBQWY7QUFDSDtBQUNKLENBWEQ7QUFhTyxJQUFJaUUsU0FBUyxHQUFHRixNQUFoQiIsImZpbGUiOiIuL2FwcC9kYXNoYm9hcmQvY2hhcnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IGNoYXJ0aXN0IGZyb20gJ2NoYXJ0aXN0JztcbmltcG9ydCB7IHRyYW5zbGF0aW9ucyB9IGZyb20gJ2dyYXYtY29uZmlnJztcbmltcG9ydCB7IEluc3RhbmNlIGFzIGdwbSB9IGZyb20gJy4uL3V0aWxzL2dwbSc7XG5pbXBvcnQgeyBJbnN0YW5jZSBhcyB1cGRhdGVzIH0gZnJvbSAnLi4vdXBkYXRlcyc7XG5cbi8vIGxldCBpc0ZpcmVmb3ggPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZmlyZWZveCcpID4gLTE7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICBkYXRhOiB7XG4gICAgICAgIHNlcmllczogWzEwMCwgMF1cbiAgICB9LFxuICAgIG9wdGlvbnM6IHtcbiAgICAgICAgUGllOiB7XG4gICAgICAgICAgICBkb251dDogdHJ1ZSxcbiAgICAgICAgICAgIGRvbnV0V2lkdGg6IDEwLFxuICAgICAgICAgICAgc3RhcnRBbmdsZTogMCxcbiAgICAgICAgICAgIHRvdGFsOiAxMDAsXG4gICAgICAgICAgICBzaG93TGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgaGVpZ2h0OiAxNTAsXG4gICAgICAgICAgICAvLyBjaGFydFBhZGRpbmc6ICFpc0ZpcmVmb3ggPyAxMCA6IDI1IC8vIHdvcmthcm91bmQgZm9yIG9sZGVyIHZlcnNpb25zIG9mIGZpcmVmb3hcbiAgICAgICAgICAgIGNoYXJ0UGFkZGluZzogNVxuICAgICAgICB9LFxuICAgICAgICBCYXI6IHtcbiAgICAgICAgICAgIGhlaWdodDogMTY0LFxuICAgICAgICAgICAgY2hhcnRQYWRkaW5nOiAyMCwgLy8gd29ya2Fyb3VuZCBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgZmlyZWZveFxuXG4gICAgICAgICAgICBheGlzWDoge1xuICAgICAgICAgICAgICAgIHNob3dHcmlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsYWJlbE9mZnNldDoge1xuICAgICAgICAgICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgICAgICAgICB5OiAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF4aXNZOiB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAxNSxcbiAgICAgICAgICAgICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgICAgICAgICAgICAgc2hvd0dyaWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgbGFiZWxPZmZzZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgeDogNSxcbiAgICAgICAgICAgICAgICAgICAgeTogNVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2NhbGVNaW5TcGFjZTogMjVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENoYXJ0IHtcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50LCBvcHRpb25zID0ge30sIGRhdGEgPSB7fSkge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpIHx8IFtdO1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFswXSkgeyByZXR1cm47IH1cblxuICAgICAgICBsZXQgdHlwZSA9ICh0aGlzLmVsZW1lbnQuZGF0YSgnY2hhcnQtdHlwZScpIHx8ICdwaWUnKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdHlwZS5zdWJzdHIoMSkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMub3B0aW9uc1t0aGlzLnR5cGVdLCBvcHRpb25zKTtcbiAgICAgICAgZGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRzLmRhdGEsIGRhdGEpO1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHtcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICBkYXRhXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYXJ0ID0gY2hhcnRpc3RbdGhpcy50eXBlXSh0aGlzLmVsZW1lbnQuZmluZCgnLmN0LWNoYXJ0JykuZW1wdHkoKVswXSwgdGhpcy5kYXRhLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB0aGlzLmNoYXJ0Lm9uKCdjcmVhdGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZpbmQoJy5oaWRkZW4nKS5yZW1vdmVDbGFzcygnaGlkZGVuJyk7XG5cbiAgICAgICAgICAgIC8vIEZJWDogd29ya2Fyb3VuZCBmb3IgY2hhcnRpc3QgaXNzdWUgbm90IGFsbG93aW5nIEhUTUwgaW4gbGFiZWxzIGFueW1vcmVcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9naW9ua3Vuei9jaGFydGlzdC1qcy9pc3N1ZXMvOTM3XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLmN0LWxhYmVsJykuZWFjaCgoaW5kZXgsIGxhYmVsKSA9PiB7XG4gICAgICAgICAgICAgICAgbGFiZWwgPSAkKGxhYmVsKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gbGFiZWwuaHRtbCgpLnJlcGxhY2UoJyZsdDsnLCAnPCcpLnJlcGxhY2UoJyZndDsnLCAnPicpO1xuICAgICAgICAgICAgICAgIGxhYmVsLmh0bWwodGV4dCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0YShkYXRhKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kYXRhLCBkYXRhKTtcbiAgICAgICAgdGhpcy5jaGFydC51cGRhdGUodGhpcy5kYXRhKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlc0NoYXJ0IGV4dGVuZHMgQ2hhcnQge1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQsIG9wdGlvbnMgPSB7fSwgZGF0YSA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnQsIG9wdGlvbnMsIGRhdGEpO1xuXG4gICAgICAgIHRoaXMuY2hhcnQub24oJ2RyYXcnLCAoZGF0YSkgPT4gdGhpcy5kcmF3KGRhdGEpKTtcblxuICAgICAgICBncG0ub24oJ2ZldGNoZWQnLCAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmICghcmVzcG9uc2UucGF5bG9hZCkgeyByZXR1cm47IH1cblxuICAgICAgICAgICAgbGV0IHBheWxvYWQgPSByZXNwb25zZS5wYXlsb2FkLmdyYXY7XG4gICAgICAgICAgICBsZXQgbWlzc2luZyA9IChyZXNwb25zZS5wYXlsb2FkLnJlc291cmNlcy50b3RhbCArIChwYXlsb2FkLmlzVXBkYXRhYmxlID8gMSA6IDApKSAqIDEwMCAvIChyZXNwb25zZS5wYXlsb2FkLmluc3RhbGxlZCArIChwYXlsb2FkLmlzVXBkYXRhYmxlID8gMSA6IDApKTtcbiAgICAgICAgICAgIGxldCB1cGRhdGVkID0gMTAwIC0gbWlzc2luZztcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVEYXRhKHsgc2VyaWVzOiBbdXBkYXRlZCwgbWlzc2luZ10gfSk7XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5wYXlsb2FkLnJlc291cmNlcy50b3RhbCkge1xuICAgICAgICAgICAgICAgIHVwZGF0ZXMubWFpbnRlbmFuY2UoJ3Nob3cnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZHJhdyhkYXRhKSB7XG4gICAgICAgIGlmIChkYXRhLmluZGV4KSB7IHJldHVybjsgfVxuXG4gICAgICAgIGxldCBub3RpY2UgPSB0cmFuc2xhdGlvbnMuUExVR0lOX0FETUlOW2RhdGEudmFsdWUgPT09IDEwMCA/ICdGVUxMWV9VUERBVEVEJyA6ICdVUERBVEVTX0FWQUlMQUJMRSddO1xuICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLm51bWVyaWMgc3BhbicpLnRleHQoYCR7TWF0aC5yb3VuZChkYXRhLnZhbHVlKX0lYCk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5maW5kKCcuanNfX3VwZGF0ZXMtYXZhaWxhYmxlLWRlc2NyaXB0aW9uJykuaHRtbChub3RpY2UpO1xuICAgICAgICB0aGlzLmVsZW1lbnQuZmluZCgnLmhpZGRlbicpLnJlbW92ZUNsYXNzKCdoaWRkZW4nKTtcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRhKGRhdGEpIHtcbiAgICAgICAgc3VwZXIudXBkYXRlRGF0YShkYXRhKTtcblxuICAgICAgICAvLyBtaXNzaW5nIHVwZGF0ZXNcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXJpZXNbMF0gPCAxMDApIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5jbG9zZXN0KCcjdXBkYXRlcycpLmZpbmQoJ1tkYXRhLXVwZGF0ZS1wYWNrYWdlc10nKS5mYWRlSW4oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxubGV0IGNoYXJ0cyA9IHt9O1xuXG4kKCdbZGF0YS1jaGFydC1uYW1lXScpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgbGV0IGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgIGxldCBuYW1lID0gZWxlbWVudC5kYXRhKCdjaGFydC1uYW1lJykgfHwgJyc7XG4gICAgbGV0IG9wdGlvbnMgPSBlbGVtZW50LmRhdGEoJ2NoYXJ0LW9wdGlvbnMnKSB8fCB7fTtcbiAgICBsZXQgZGF0YSA9IGVsZW1lbnQuZGF0YSgnY2hhcnQtZGF0YScpIHx8IHt9O1xuXG4gICAgaWYgKG5hbWUgPT09ICd1cGRhdGVzJykge1xuICAgICAgICBjaGFydHNbbmFtZV0gPSBuZXcgVXBkYXRlc0NoYXJ0KGVsZW1lbnQsIG9wdGlvbnMsIGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNoYXJ0c1tuYW1lXSA9IG5ldyBDaGFydChlbGVtZW50LCBvcHRpb25zLCBkYXRhKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGxldCBJbnN0YW5jZXMgPSBjaGFydHM7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/dashboard/chart.js\n"); /***/ }), /***/ "./app/dashboard/index.js": /*!********************************!*\ !*** ./app/dashboard/index.js ***! \********************************/ /*! namespace exports */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.r, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Rhc2hib2FyZC9pbmRleC5qcz9hMTk1Il0sIm5hbWVzIjpbIkNoYXJ0IiwiVXBkYXRlc0NoYXJ0IiwiSW5zdGFuY2VzIiwiQ2FjaGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFFQSxpRUFBZTtBQUNYQSxPQUFLLEVBQUU7QUFDSEEsU0FBSyxFQUFMQSwyQ0FERztBQUVIQyxnQkFBWSxFQUFaQSxnREFGRztBQUdIQyxhQUFTLEVBQVRBLDZDQUFTQTtBQUhOLEdBREk7QUFNWEMsT0FBSyxFQUFMQSw0Q0FBS0E7QUFOTSxDQUFmIiwiZmlsZSI6Ii4vYXBwL2Rhc2hib2FyZC9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDaGFydCwgeyBVcGRhdGVzQ2hhcnQsIEluc3RhbmNlcyB9IGZyb20gJy4vY2hhcnQnO1xuaW1wb3J0IHsgSW5zdGFuY2UgYXMgQ2FjaGUgfSBmcm9tICcuL2NhY2hlJztcbmltcG9ydCAnLi9iYWNrdXAnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgQ2hhcnQ6IHtcbiAgICAgICAgQ2hhcnQsXG4gICAgICAgIFVwZGF0ZXNDaGFydCxcbiAgICAgICAgSW5zdGFuY2VzXG4gICAgfSxcbiAgICBDYWNoZVxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/dashboard/index.js\n"); /***/ }), /***/ "./app/forms/fields/acl-picker.js": /*!****************************************!*\ !*** ./app/forms/fields/acl-picker.js ***! \****************************************/ /*! namespace exports */ /*! exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.* */ /***/ ((__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\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); // const key = input.data('crudpKey');\n\n hidden.prop('name', name.replace(/(.*)(\\[[^\\]]*\\])/, \"$1[\".concat(value, \"]\")));\n input.prop('id', id);\n input.next('label').prop('for', id);\n });\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; // show the initial + button\n\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); // randomize ids\n\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 }); // hide the initial + button\n\n wrapper.find('.permissions-item.empty-list').addClass('hidden'); // disable all + buttons until one is selected\n\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9hY2wtcGlja2VyLmpzP2RmODciXSwibmFtZXMiOlsiYm9keSIsIiQiLCJvbiIsImV2ZW50IiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsInZhbHVlIiwidmFsIiwiaXRlbSIsImNsb3Nlc3QiLCJpbnB1dHMiLCJmaW5kIiwiaGlkZGVuIiwid3JhcHBlciIsInR5cGUiLCJkYXRhIiwiZWFjaCIsImluZGV4IiwiaW5wdXQiLCJuYW1lIiwicHJvcCIsInJlcGxhY2UiLCJjcnVkcENvbnRhaW5lciIsInJhbmQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJpZCIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwibmV4dCIsImNvbnRhaW5lciIsImtleSIsImpzb24iLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJwcmV2ZW50RGVmYXVsdCIsInJlbW92ZSIsImVtcHR5IiwibGVuZ3RoIiwicmVtb3ZlQ2xhc3MiLCJJRCIsInRlbXBsYXRlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2xvbmUiLCJjb250ZW50IiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJpbnNlcnRBZnRlciIsImxhYmVsIiwiRGF0ZSIsIm5vdyIsInRvU3RyaW5nIiwic3Vic3RyIiwidG9Mb3dlckNhc2UiLCJhZGRDbGFzcyJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFFQSxJQUFNQSxJQUFJLEdBQUdDLDZDQUFDLENBQUMsTUFBRCxDQUFkO0FBRUFELElBQUksQ0FBQ0UsRUFBTCxDQUFRLFFBQVIsRUFBa0IsMEJBQWxCLEVBQThDLFVBQUNDLEtBQUQsRUFBVztBQUNyRCxNQUFNQyxNQUFNLEdBQUdILDZDQUFDLENBQUNFLEtBQUssQ0FBQ0UsYUFBUCxDQUFoQjtBQUNBLE1BQU1DLEtBQUssR0FBR0YsTUFBTSxDQUFDRyxHQUFQLEVBQWQ7QUFDQSxNQUFNQyxJQUFJLEdBQUdKLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlLG1CQUFmLENB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ZmlsZSI6Ii4vYXBwL2Zvcm1zL2ZpZWxkcy9hY2wtcGlja2VyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcblxuY29uc3QgYm9keSA9ICQoJ2JvZHknKTtcblxuYm9keS5vbignY2hhbmdlJywgJ1tkYXRhLWFjbF9waWNrZXJdIHNlbGVjdCcsIChldmVudCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgdmFsdWUgPSB0YXJnZXQudmFsKCk7XG4gICAgY29uc3QgaXRlbSA9IHRhcmdldC5jbG9zZXN0KCcucGVybWlzc2lvbnMtaXRlbScpO1xuICAgIGNvbnN0IGlucHV0cyA9IGl0ZW0uZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0nKTtcbiAgICBjb25zdCBoaWRkZW4gPSBpdGVtLmZpbmQoJ2lucHV0W3R5cGU9XCJoaWRkZW5cIl1bbmFtZV0nKTtcbiAgICBjb25zdCB3cmFwcGVyID0gdGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWFjbF9waWNrZXJfaWRdJyk7XG4gICAgY29uc3QgdHlwZSA9IGl0ZW0uZGF0YSgnZmllbGRUeXBlJyk7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2FjY2VzcycpIHtcbiAgICAgICAgaW5wdXRzLmVhY2goKGluZGV4LCBpbnB1dCkgPT4ge1xuICAgICAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBpbnB1dC5wcm9wKCduYW1lJyk7XG4gICAgICAgICAgICBpbnB1dC5wcm9wKCduYW1lJywgbmFtZS5yZXBsYWNlKC8oLiopKFxcW1teXFxdXSpcXF0pLywgYCQxWyR7dmFsdWV9XWApKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAncGVybWlzc2lvbnMnKSB7XG4gICAgICAgIGNvbnN0IGNydWRwQ29udGFpbmVyID0gaXRlbS5maW5kKCdbZGF0YS1maWVsZC1uYW1lXScpO1xuICAgICAgICBpbnB1dHMuZWFjaCgoaW5kZXgsIGlucHV0KSA9PiB7XG4gICAgICAgICAgICBpbnB1dCA9ICQoaW5wdXQpO1xuICAgICAgICAgICAgY29uc3QgcmFuZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDUwMCk7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gY3J1ZHBDb250YWluZXIuZGF0YSgnZmllbGROYW1lJyk7XG4gICAgICAgICAgICBjb25zdCBpZCA9IGlucHV0LnByb3AoJ2lkJykuc3BsaXQoJ18nKS5zbGljZSgwLCAtMSkuam9pbignXycpICsgYF8ke3ZhbHVlfSske3JhbmR9YDtcbiAgICAgICAgICAgIC8vIGNvbnN0IGtleSA9IGlucHV0LmRhdGEoJ2NydWRwS2V5Jyk7XG4gICAgICAgICAgICBoaWRkZW4ucHJvcCgnbmFtZScsIG5hbWUucmVwbGFjZSgvKC4qKShcXFtbXlxcXV0qXFxdKS8sIGAkMVske3ZhbHVlfV1gKSk7XG4gICAgICAgICAgICBpbnB1dC5wcm9wKCdpZCcsIGlkKTtcbiAgICAgICAgICAgIGlucHV0Lm5leHQoJ2xhYmVsJykucHJvcCgnZm9yJywgaWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cmFwcGVyLmZpbmQoJy5wZXJtaXNzaW9ucy1pdGVtIC5idXR0b24uYWRkLWl0ZW0nKVshdmFsdWUgPyAnYWRkQ2xhc3MnIDogJ3JlbW92ZUNsYXNzJ10oJ2Rpc2FibGVkJykucHJvcCgnZGlzYWJsZWQnLCAhdmFsdWUgPyAnZGlzYWJsZWQnIDogbnVsbCk7XG59KTtcblxuYm9keS5vbignaW5wdXQnLCAnaW5wdXRbZGF0YS1jcnVkcC1rZXldJywgKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICBjb25zdCBjb250YWluZXIgPSB0YXJnZXQuY2xvc2VzdCgnLmNydWRwLWNvbnRhaW5lcicpO1xuICAgIGNvbnN0IGhpZGRlbiA9IGNvbnRhaW5lci5maW5kKCdpbnB1dFt0eXBlPVwiaGlkZGVuXCJdW25hbWVdJyk7XG4gICAgY29uc3Qga2V5ID0gdGFyZ2V0LmRhdGEoJ2NydWRwS2V5Jyk7XG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoaGlkZGVuLnZhbCgpIHx8ICd7fScpO1xuICAgIGpzb25ba2V5XSA9IHRhcmdldC52YWwoKTtcbiAgICBoaWRkZW4udmFsKEpTT04uc3RyaW5naWZ5KGpzb24pKTtcbn0pO1xuXG5ib2R5Lm9uKCdjbGljaycsICdbZGF0YS1hY2xfcGlja2VyXSAucmVtb3ZlLWl0ZW0nLCAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGFyZ2V0LmNsb3Nlc3QoJy5wZXJtaXNzaW9ucy1pdGVtJyk7XG4gICAgY29uc3Qgd3JhcHBlciA9IHRhcmdldC5jbG9zZXN0KCdbZGF0YS1hY2xfcGlja2VyX2lkXScpO1xuICAgIGNvbnRhaW5lci5yZW1vdmUoKTtcblxuICAgIGNvbnN0IGVtcHR5ID0gd3JhcHBlci5maW5kKCcucGVybWlzc2lvbnMtaXRlbScpLmxlbmd0aCA9PT0gMTtcblxuICAgIC8vIHNob3cgdGhlIGluaXRpYWwgKyBidXR0b25cbiAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgd3JhcHBlci5maW5kKCcucGVybWlzc2lvbnMtaXRlbS5lbXB0eS1saXN0JykucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpO1xuICAgIH1cbn0pO1xuXG5ib2R5Lm9uKCdjbGljaycsICdbZGF0YS1hY2xfcGlja2VyXSAuYWRkLWl0ZW0nLCAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgaXRlbSA9IHRhcmdldC5jbG9zZXN0KCcucGVybWlzc2lvbnMtaXRlbScpO1xuICAgIGNvbnN0IHdyYXBwZXIgPSB0YXJnZXQuY2xvc2VzdCgnW2RhdGEtYWNsX3BpY2tlcl9pZF0nKTtcbiAgICBjb25zdCBJRCA9IHdyYXBwZXIuZGF0YSgnYWNsX3BpY2tlcl9pZCcpO1xuICAgIGNvbnN0IHRlbXBsYXRlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgdGVtcGxhdGVbZGF0YS1pZD1cImFjbF9waWNrZXItJHtJRH1cIl1gKTtcblxuICAgIGNvbnN0IGNsb25lID0gJCh0ZW1wbGF0ZS5jb250ZW50LmZpcnN0RWxlbWVudENoaWxkKS5jbG9uZSgpO1xuICAgIGNsb25lLmluc2VydEFmdGVyKGl0ZW0pO1xuXG4gICAgLy8gcmFuZG9taXplIGlkc1xuICAgIGNsb25lLmZpbmQoJy5zd2l0Y2gtdG9nZ2xlIGlucHV0W3R5cGU9XCJyYWRpb1wiXScpLmVhY2goKGluZGV4LCBpbnB1dCkgPT4ge1xuICAgICAgICBpbnB1dCA9ICQoaW5wdXQpO1xuICAgICAgICBjb25zdCBpZCA9IGlucHV0LnByb3AoJ2lkJyk7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gaW5wdXQubmV4dCgnbGFiZWwnKTtcbiAgICAgICAgY29uc3QgcmFuZCA9IChEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA1KSkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBpbnB1dC5wcm9wKCdpZCcsIGAke2lkfSR7cmFuZH1gKTtcbiAgICAgICAgbGFiZWwucHJvcCgnZm9yJywgYCR7aWR9JHtyYW5kfWApO1xuICAgIH0pO1xuXG4gICAgLy8gaGlkZSB0aGUgaW5pdGlhbCArIGJ1dHRvblxuICAgIHdyYXBwZXIuZmluZCgnLnBlcm1pc3Npb25zLWl0ZW0uZW1wdHktbGlzdCcpLmFkZENsYXNzKCdoaWRkZW4nKTtcblxuICAgIC8vIGRpc2FibGUgYWxsICsgYnV0dG9ucyB1bnRpbCBvbmUgaXMgc2VsZWN0ZWRcbiAgICB3cmFwcGVyLmZpbmQoJy5wZXJtaXNzaW9ucy1pdGVtIC5idXR0b24uYWRkLWl0ZW0nKS5hZGRDbGFzcygnZGlzYWJsZWQnKS5wcm9wKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/acl-picker.js\n"); /***/ }), /***/ "./app/forms/fields/array.js": /*!***********************************!*\ !*** ./app/forms/fields/array.js ***! \***********************************/ /*! namespace exports */ /*! export Instance [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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\": () => /* binding */ ArrayField,\n/* harmony export */ \"Instance\": () => /* binding */ Instance\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.complete.esm.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\n\nvar Template = /*#__PURE__*/function () {\n function Template(container) {\n _classCallCheck(this, Template);\n\n this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n\n if (this.getName() === undefined) {\n this.container = this.container.closest('[data-grav-array-name]');\n }\n }\n\n _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\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\n tpl += \"\\n \\n \\n
\";\n return tpl;\n }\n }]);\n\n return Template;\n}();\n\nvar ArrayField = /*#__PURE__*/function () {\n function ArrayField() {\n var _this = this;\n\n _classCallCheck(this, ArrayField);\n\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\n _createClass(ArrayField, [{\n key: \"addArray\",\n value: function addArray(list) {\n var _this2 = this;\n\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\n if (container.data('array-sort') || container[0].hasAttribute('data-array-nosort')) {\n return;\n }\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\n _this2._setTemplate(item);\n\n var template = item.data('array-template');\n\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\n this._setTemplate(element);\n\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\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\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\n this._setTemplate(element);\n\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\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\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\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\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\n /* , record, instance */\n ) {\n var _this3 = this;\n\n var arrays = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-field=\"array\"]');\n\n if (!arrays.length) {\n return;\n }\n\n arrays.each(function (index, list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n\n if (!~_this3.arrays.index(list)) {\n _this3.addArray(list);\n }\n });\n }\n }]);\n\n return ArrayField;\n}();\n\n\nvar Instance = new ArrayField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9hcnJheS5qcz8zODRhIl0sIm5hbWVzIjpbImJvZHkiLCIkIiwiVGVtcGxhdGUiLCJjb250YWluZXIiLCJnZXROYW1lIiwidW5kZWZpbmVkIiwiY2xvc2VzdCIsImRhdGEiLCJmaW5kIiwibGVuZ3RoIiwidG9nZ2xlIiwiaXMiLCJ0cGwiLCJ2YWx1ZSIsImlzVGV4dEFyZWEiLCJzaG91bGRCZURpc2FibGVkIiwiZ2V0VmFsdWVQbGFjZWhvbGRlciIsImlzVmFsdWVPbmx5IiwiZ2V0S2V5UGxhY2Vob2xkZXIiLCJBcnJheUZpZWxkIiwib24iLCJldmVudCIsImFjdGlvbklucHV0IiwiYWN0aW9uRXZlbnQiLCJhcnJheXMiLCJlYWNoIiwiaW5kZXgiLCJsaXN0IiwiYWRkQXJyYXkiLCJfb25BZGRlZE5vZGVzIiwiYmluZCIsImhhc0F0dHJpYnV0ZSIsIlNvcnRhYmxlIiwiZ2V0IiwiaGFuZGxlIiwiYW5pbWF0aW9uIiwib25VcGRhdGUiLCJpdGVtIiwiX3NldFRlbXBsYXRlIiwidGVtcGxhdGUiLCJyZWZyZXNoTmFtZXMiLCJlbGVtZW50IiwidGFyZ2V0IiwidHlwZSIsImtleUVsZW1lbnQiLCJzaWJsaW5ncyIsInZhbHVlRWxlbWVudCIsImVzY2FwZWRfbmFtZSIsInZhbCIsImdldEluZGV4Rm9yIiwidG9TdHJpbmciLCJyZXBsYWNlIiwibmFtZSIsImF0dHIiLCJwcmV2ZW50RGVmYXVsdCIsImFjdGlvbiIsInBhcmVudHMiLCJyb3ciLCJhZnRlciIsImdldE5ld1JvdyIsImlzTGFzdCIsIm5ld1JvdyIsInJlbW92ZSIsImlucHV0cyIsImlucHV0IiwicHJlc2VydmVkX25hbWUiLCJJbnN0YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBRUEsSUFBSUEsSUFBSSxHQUFHQyw2Q0FBQyxDQUFDLE1BQUQsQ0FBWjs7SUFFTUMsUTtBQUNGLG9CQUFZQyxTQUFaLEVBQXVCO0FBQUE7O0FBQ25CLFNBQUtBLFNBQUwsR0FBaUJGLDZDQUFDLENBQUNFLFNBQUQsQ0FBbEI7O0FBRUEsUUFBSSxLQUFLQyxPQUFMLE9BQW1CQyxTQUF2QixFQUFrQztBQUM5QixXQUFLRixTQUFMLEdBQWlCLEtBQUtBLFNBQUwsQ0FBZUcsT0FBZixDQUF1Qix3QkFBdkIsQ0FBakI7QUFDSDtBQUNKOzs7OzhCQUVTO0FBQ04sYUFBTyxLQUFLSCxTQUFMLENBQWVJLElBQWYsQ0FBb0IsaUJBQXBCLEtBQTBDLEVBQWpEO0FBQ0g7Ozt3Q0FFbUI7QUFDaEIsYUFBTyxLQUFLSixTQUFMLENBQWVJLElBQWYsQ0FBb0Isb0JBQXBCLEtBQTZDLEtBQXBEO0FBQ0g7OzswQ0FFcUI7QUFDbEIsYUFBTyxLQUFLSixTQUFMLENBQWVJLElBQWYsQ0FBb0Isc0JBQXBCLEtBQStDLE9BQXREO0FBQ0g7OztrQ0FFYTtBQUNWLGFBQU8sS0FBS0osU0FBTCxDQUFlSyxJQUFmLENBQW9CLDJDQUFwQixFQUFpRUMsTUFBakUsSUFBMkUsS0FBbEY7QUFDSDs7O2lDQUVZO0FBQ1QsYUFBTyxLQUFLTixTQUFMLENBQWVJLElBQWYsQ0FBb0IscUJBQXBCLEtBQThDLEtBQXJEO0FBQ0g7Ozt1Q0FFa0I7QUFDZjtBQUNBLFVBQUlHLE1BQU0sR0FBRyxLQUFLUCxTQUFMLENBQWVHLE9BQWYsQ0FBdUIsYUFBdkIsRUFBc0NFLElBQXRDLENBQTJDLHVEQUEzQyxDQUFiO0FBQ0EsYUFBT0UsTUFBTSxDQUFDRCxNQUFQLElBQWlCQyxNQUFNLENBQUNDLEVBQVAsQ0FBVSxnQkFBVixDQUF4QjtBQUNIOzs7Z0NBRVc7QUFDUixVQUFJQyxHQUFHLEdBQUcsRUFBVjtBQUFhLFVBQU1DLEtBQUssR0FBRyxLQUFLQyxVQUFMLHlCQUNSLEtBQUtDLGdCQUFMLEtBQTBCLHFCQUExQixHQUFrRCxFQUQxQyxxRUFDa0csS0FBS0MsbUJBQUwsRUFEbEcsdUNBRVgsS0FBS0QsZ0JBQUwsS0FBMEIscUJBQTFCLEdBQWtELEVBRnZDLCtGQUVxSCxLQUFLQyxtQkFBTCxFQUZySCxVQUFkOztBQUliLFVBQUksS0FBS0MsV0FBTCxFQUFKLEVBQXdCO0FBQ3BCTCxXQUFHLDhNQUdHQyxLQUhILG1CQUFIO0FBS0gsT0FORCxNQU1PO0FBQ0hELFdBQUcsOExBR1UsS0FBS0csZ0JBQUwsS0FBMEIscUJBQTFCLEdBQWtELEVBSDVELGtGQUcrSCxLQUFLRyxpQkFBTCxFQUgvSCxvQ0FJR0wsS0FKSCxtQkFBSDtBQU1IOztBQUVERCxTQUFHLHFMQUFIO0FBS0EsYUFBT0EsR0FBUDtBQUNIOzs7Ozs7SUFHZ0JPLFU7QUFDakIsd0JBQWM7QUFBQTs7QUFBQTs7QUFDVm5CLFFBQUksQ0FBQ29CLEVBQUwsQ0FBUSxPQUFSLEVBQWlCLDhEQUFqQixFQUFpRixVQUFDQyxLQUFEO0FBQUEsYUFBVyxLQUFJLENBQUNDLFdBQUwsQ0FBaUJELEtBQWpCLENBQVg7QUFBQSxLQUFqRjtBQUNBckIsUUFBSSxDQUFDb0IsRUFBTCxDQUFRLGFBQVIsRUFBdUIsK0RBQXZCLEVBQXdGLFVBQUNDLEtBQUQ7QUFBQSxhQUFXLEtBQUksQ0FBQ0UsV0FBTCxDQUFpQkYsS0FBakIsQ0FBWDtBQUFBLEtBQXhGO0FBRUEsU0FBS0csTUFBTCxHQUFjdkIsNkNBQUMsRUFBZjtBQUVBQSxpREFBQyxDQUFDLDJCQUFELENBQUQsQ0FBK0J3QixJQUEvQixDQUFvQyxVQUFDQyxLQUFELEVBQVFDLElBQVI7QUFBQSxhQUFpQixLQUFJLENBQUNDLFFBQUwsQ0FBY0QsSUFBZCxDQUFqQjtBQUFBLEtBQXBDO0FBQ0ExQixpREFBQyxDQUFDLE1BQUQsQ0FBRCxDQUFVbUIsRUFBVixDQUFhLGdCQUFiLEVBQStCLEtBQUtTLGFBQUwsQ0FBbUJDLElBQW5CLENBQXdCLElBQXhCLENBQS9CO0FBQ0g7Ozs7NkJBRVFILEksRUFBTTtBQUFBOztBQUNYQSxVQUFJLEdBQUcxQiw2Q0FBQyxDQUFDMEIsSUFBRCxDQUFSO0FBRUFBLFVBQUksQ0FBQ25CLElBQUwsQ0FBVSxvQ0FBVixFQUFnRGlCLElBQWhELENBQXFELFVBQUNDLEtBQUQsRUFBUXZCLFNBQVIsRUFBc0I7QUFDdkVBLGlCQUFTLEdBQUdGLDZDQUFDLENBQUNFLFNBQUQsQ0FBYjs7QUFDQSxZQUFJQSxTQUFTLENBQUNJLElBQVYsQ0FBZSxZQUFmLEtBQWdDSixTQUFTLENBQUMsQ0FBRCxDQUFULENBQWE0QixZQUFiLENBQTBCLG1CQUExQixDQUFwQyxFQUFvRjtBQUFFO0FBQVM7O0FBRS9GNUIsaUJBQVMsQ0FBQ0ksSUFBVixDQUFlLFlBQWYsRUFBNkIsSUFBSXlCLCtDQUFKLENBQWE3QixTQUFTLENBQUM4QixHQUFWLENBQWMsQ0FBZCxDQUFiLEVBQStCO0FBQ3hEQyxnQkFBTSxFQUFFLFVBRGdEO0FBRXhEQyxtQkFBUyxFQUFFLEdBRjZDO0FBR3hEQyxrQkFBUSxFQUFFLG9CQUFNO0FBQ1osZ0JBQU1DLElBQUksR0FBR2xDLFNBQVMsQ0FBQ0ssSUFBVixDQUFlLG9DQUFmLENBQWI7O0FBQ0Esa0JBQUksQ0FBQzhCLFlBQUwsQ0FBa0JELElBQWxCOztBQUNBLGdCQUFNRSxRQUFRLEdBQUdGLElBQUksQ0FBQzlCLElBQUwsQ0FBVSxnQkFBVixDQUFqQjs7QUFDQSxrQkFBSSxDQUFDaUMsWUFBTCxDQUFrQkQsUUFBbEI7QUFDSDtBQVJ1RCxTQUEvQixDQUE3QjtBQVVILE9BZEQ7QUFlSDs7O2dDQUVXbEIsSyxFQUFPO0FBQ2YsVUFBSW9CLE9BQU8sR0FBR3hDLDZDQUFDLENBQUNvQixLQUFLLENBQUNxQixNQUFQLENBQWY7QUFDQSxVQUFJQyxJQUFJLEdBQUdGLE9BQU8sQ0FBQ2xDLElBQVIsQ0FBYSxpQkFBYixDQUFYOztBQUVBLFdBQUsrQixZQUFMLENBQWtCRyxPQUFsQjs7QUFFQSxVQUFJRixRQUFRLEdBQUdFLE9BQU8sQ0FBQ2xDLElBQVIsQ0FBYSxnQkFBYixDQUFmO0FBQ0EsVUFBSXFDLFVBQVUsR0FBR0QsSUFBSSxLQUFLLEtBQVQsR0FBaUJGLE9BQWpCLEdBQTJCQSxPQUFPLENBQUNJLFFBQVIsQ0FBaUIsb0NBQWpCLENBQTVDO0FBQ0EsVUFBSUMsWUFBWSxHQUFHSCxJQUFJLEtBQUssT0FBVCxHQUFtQkYsT0FBbkIsR0FBNkJBLE9BQU8sQ0FBQ0ksUUFBUixDQUFpQixzQ0FBakIsQ0FBaEQ7QUFFQSxVQUFJRSxZQUFZLEdBQUcsQ0FBQ1IsUUFBUSxDQUFDdEIsV0FBVCxFQUFELEdBQTBCMkIsVUFBVSxDQUFDSSxHQUFYLEVBQTFCLEdBQTZDLEtBQUtDLFdBQUwsQ0FBaUJSLE9BQWpCLENBQWhFO0FBQ0FNLGtCQUFZLEdBQUdBLFlBQVksQ0FBQ0csUUFBYixHQUF3QkMsT0FBeEIsQ0FBZ0MsS0FBaEMsRUFBdUMsS0FBdkMsRUFBOENBLE9BQTlDLENBQXNELElBQXRELEVBQTRELEtBQTVELENBQWY7QUFDQSxVQUFJQyxJQUFJLGFBQU1iLFFBQVEsQ0FBQ25DLE9BQVQsRUFBTixjQUE0QjJDLFlBQTVCLE1BQVI7O0FBRUEsVUFBSSxDQUFDUixRQUFRLENBQUN0QixXQUFULEVBQUQsSUFBNEIsQ0FBQzJCLFVBQVUsQ0FBQ0ksR0FBWCxFQUFELElBQXFCLENBQUNGLFlBQVksQ0FBQ0UsR0FBYixFQUF0RCxFQUEyRTtBQUN2RUYsb0JBQVksQ0FBQ08sSUFBYixDQUFrQixNQUFsQixFQUEwQixFQUExQjtBQUNILE9BRkQsTUFFTztBQUNIO0FBQ0FQLG9CQUFZLENBQUNPLElBQWIsQ0FBa0IsTUFBbEIsRUFBMEJELElBQTFCO0FBQ0g7O0FBRUQsV0FBS1osWUFBTCxDQUFrQkQsUUFBbEI7QUFDSDs7O2dDQUVXbEIsSyxFQUFPO0FBQ2ZBLFdBQUssSUFBSUEsS0FBSyxDQUFDaUMsY0FBTixFQUFUO0FBQ0EsVUFBSWIsT0FBTyxHQUFHeEMsNkNBQUMsQ0FBQ29CLEtBQUssQ0FBQ3FCLE1BQVAsQ0FBZjtBQUNBLFVBQUlhLE1BQU0sR0FBR2QsT0FBTyxDQUFDbEMsSUFBUixDQUFhLG1CQUFiLENBQWI7QUFDQSxVQUFJSixTQUFTLEdBQUdzQyxPQUFPLENBQUNlLE9BQVIsQ0FBZ0Isb0NBQWhCLENBQWhCOztBQUVBLFdBQUtsQixZQUFMLENBQWtCRyxPQUFsQjs7QUFFQSxxQkFBUWMsTUFBUixhQUF3QmQsT0FBeEI7QUFFQSxVQUFJSSxRQUFRLEdBQUcxQyxTQUFTLENBQUNLLElBQVYsQ0FBZSxPQUFmLENBQWY7QUFDQUwsZUFBUyxDQUFDMEMsUUFBUSxDQUFDcEMsTUFBVCxHQUFrQixDQUFsQixHQUFzQixhQUF0QixHQUFzQyxVQUF2QyxDQUFULENBQTRELFdBQTVEO0FBQ0g7Ozs4QkFFU2dDLE8sRUFBUztBQUNmLFVBQUlGLFFBQVEsR0FBR0UsT0FBTyxDQUFDbEMsSUFBUixDQUFhLGdCQUFiLENBQWY7QUFDQSxVQUFJa0QsR0FBRyxHQUFHaEIsT0FBTyxDQUFDbkMsT0FBUixDQUFnQiw4QkFBaEIsQ0FBVjtBQUVBbUQsU0FBRyxDQUFDQyxLQUFKLENBQVVuQixRQUFRLENBQUNvQixTQUFULEVBQVY7QUFDSDs7OzhCQUVTbEIsTyxFQUFTO0FBQ2YsVUFBSUYsUUFBUSxHQUFHRSxPQUFPLENBQUNsQyxJQUFSLENBQWEsZ0JBQWIsQ0FBZjtBQUNBLFVBQUlrRCxHQUFHLEdBQUdoQixPQUFPLENBQUNuQyxPQUFSLENBQWdCLDhCQUFoQixDQUFWO0FBQ0EsVUFBSXNELE1BQU0sR0FBRyxDQUFDSCxHQUFHLENBQUNaLFFBQUosR0FBZXBDLE1BQTdCOztBQUVBLFVBQUltRCxNQUFKLEVBQVk7QUFDUixZQUFJQyxNQUFNLEdBQUc1RCw2Q0FBQyxDQUFDc0MsUUFBUSxDQUFDb0IsU0FBVCxFQUFELENBQWQ7QUFDQUYsV0FBRyxDQUFDQyxLQUFKLENBQVVHLE1BQVY7QUFDQUEsY0FBTSxDQUFDckQsSUFBUCxDQUFZLHFDQUFaLEVBQW1ENkMsSUFBbkQsQ0FBd0QsTUFBeEQsRUFBZ0VkLFFBQVEsQ0FBQ25DLE9BQVQsRUFBaEU7QUFDSDs7QUFFRHFELFNBQUcsQ0FBQ0ssTUFBSjtBQUNBLFdBQUt0QixZQUFMLENBQWtCRCxRQUFsQjtBQUNIOzs7aUNBRVlBLFEsRUFBVTtBQUNuQixVQUFJLENBQUNBLFFBQVEsQ0FBQ3RCLFdBQVQsRUFBTCxFQUE2QjtBQUFFO0FBQVM7O0FBRXhDLFVBQUl3QyxHQUFHLEdBQUdsQixRQUFRLENBQUNwQyxTQUFULENBQW1CSyxJQUFuQixDQUF3QixzQ0FBeEIsQ0FBVjtBQUNBLFVBQUl1RCxNQUFNLEdBQUdOLEdBQUcsQ0FBQ2pELElBQUosQ0FBUyx1QkFBVCxDQUFiO0FBRUF1RCxZQUFNLENBQUN0QyxJQUFQLENBQVksVUFBQ0MsS0FBRCxFQUFRc0MsS0FBUixFQUFrQjtBQUMxQkEsYUFBSyxHQUFHL0QsNkNBQUMsQ0FBQytELEtBQUQsQ0FBVDtBQUNBLFlBQU1DLGNBQWMsR0FBR0QsS0FBSyxDQUFDMUQsT0FBTixDQUFjLHdCQUFkLENBQXZCO0FBQ0EsWUFBTThDLElBQUksYUFBTWEsY0FBYyxDQUFDWixJQUFmLENBQW9CLHNCQUFwQixDQUFOLGNBQXFEM0IsS0FBckQsTUFBVjtBQUNBc0MsYUFBSyxDQUFDWCxJQUFOLENBQVcsTUFBWCxFQUFtQkQsSUFBbkI7QUFDSCxPQUxEOztBQU9BLFVBQUksQ0FBQ1csTUFBTSxDQUFDdEQsTUFBWixFQUFvQjtBQUNoQmdELFdBQUcsQ0FBQ2pELElBQUosQ0FBUyxnQ0FBVCxFQUEyQzZDLElBQTNDLENBQWdELE1BQWhELEVBQXdEZCxRQUFRLENBQUNuQyxPQUFULEVBQXhEO0FBQ0g7QUFDSjs7O2dDQUVXcUMsTyxFQUFTO0FBQ2pCLFVBQUlGLFFBQVEsR0FBR0UsT0FBTyxDQUFDbEMsSUFBUixDQUFhLGdCQUFiLENBQWY7QUFDQSxVQUFJa0QsR0FBRyxHQUFHaEIsT0FBTyxDQUFDbkMsT0FBUixDQUFnQiw4QkFBaEIsQ0FBVjtBQUVBLGFBQU9pQyxRQUFRLENBQUNwQyxTQUFULENBQW1CSyxJQUFuQixXQUEyQitCLFFBQVEsQ0FBQ3RCLFdBQVQsS0FBeUIsUUFBekIsR0FBb0MsRUFBL0Qsd0NBQW9HUyxLQUFwRyxDQUEwRytCLEdBQTFHLENBQVA7QUFDSDs7O2lDQUVZaEIsTyxFQUFTO0FBQ2xCLFVBQUksQ0FBQ0EsT0FBTyxDQUFDbEMsSUFBUixDQUFhLGdCQUFiLENBQUwsRUFBcUM7QUFDakNrQyxlQUFPLENBQUNsQyxJQUFSLENBQWEsZ0JBQWIsRUFBK0IsSUFBSUwsUUFBSixDQUFhdUMsT0FBTyxDQUFDbkMsT0FBUixDQUFnQix3QkFBaEIsQ0FBYixDQUEvQjtBQUNIO0FBQ0o7OztrQ0FFYWUsSyxFQUFPcUI7QUFBTTtNQUEwQjtBQUFBOztBQUNqRCxVQUFJbEIsTUFBTSxHQUFHdkIsNkNBQUMsQ0FBQ3lDLE1BQUQsQ0FBRCxDQUFVbEMsSUFBVixDQUFlLDJCQUFmLENBQWI7O0FBQ0EsVUFBSSxDQUFDZ0IsTUFBTSxDQUFDZixNQUFaLEVBQW9CO0FBQUU7QUFBUzs7QUFFL0JlLFlBQU0sQ0FBQ0MsSUFBUCxDQUFZLFVBQUNDLEtBQUQsRUFBUUMsSUFBUixFQUFpQjtBQUN6QkEsWUFBSSxHQUFHMUIsNkNBQUMsQ0FBQzBCLElBQUQsQ0FBUjs7QUFDQSxZQUFJLENBQUMsQ0FBQyxNQUFJLENBQUNILE1BQUwsQ0FBWUUsS0FBWixDQUFrQkMsSUFBbEIsQ0FBTixFQUErQjtBQUMzQixnQkFBSSxDQUFDQyxRQUFMLENBQWNELElBQWQ7QUFDSDtBQUNKLE9BTEQ7QUFNSDs7Ozs7OztBQUdFLElBQUl1QyxRQUFRLEdBQUcsSUFBSS9DLFVBQUosRUFBZiIsImZpbGUiOiIuL2FwcC9mb3Jtcy9maWVsZHMvYXJyYXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IFNvcnRhYmxlIGZyb20gJ3NvcnRhYmxlanMnO1xuXG5sZXQgYm9keSA9ICQoJ2JvZHknKTtcblxuY2xhc3MgVGVtcGxhdGUge1xuICAgIGNvbnN0cnVjdG9yKGNvbnRhaW5lcikge1xuICAgICAgICB0aGlzLmNvbnRhaW5lciA9ICQoY29udGFpbmVyKTtcblxuICAgICAgICBpZiAodGhpcy5nZXROYW1lKCkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LW5hbWVdJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS1uYW1lJykgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0S2V5UGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5kYXRhKCdncmF2LWFycmF5LWtleW5hbWUnKSB8fCAnS2V5JztcbiAgICB9XG5cbiAgICBnZXRWYWx1ZVBsYWNlaG9sZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS12YWx1ZW5hbWUnKSB8fCAnVmFsdWUnO1xuICAgIH1cblxuICAgIGlzVmFsdWVPbmx5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS1tb2RlPVwidmFsdWVfb25seVwiXTpmaXJzdCcpLmxlbmd0aCB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBpc1RleHRBcmVhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS10ZXh0YXJlYScpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHNob3VsZEJlRGlzYWJsZWQoKSB7XG4gICAgICAgIC8vIGNoZWNrIGZvciB0b2dnbGVhYmxlcywgaWYgZmllbGQgaXMgdG9nZ2xlYWJsZSBhbmQgaXQncyBub3QgZW5hYmxlZCwgcmVuZGVyIGRpc2FibGVkXG4gICAgICAgIGxldCB0b2dnbGUgPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCcuZm9ybS1maWVsZCcpLmZpbmQoJ1tkYXRhLWdyYXYtZmllbGQ9XCJ0b2dnbGVhYmxlXCJdIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXScpO1xuICAgICAgICByZXR1cm4gdG9nZ2xlLmxlbmd0aCAmJiB0b2dnbGUuaXMoJzpub3QoOmNoZWNrZWQpJyk7XG4gICAgfVxuXG4gICAgZ2V0TmV3Um93KCkge1xuICAgICAgICBsZXQgdHBsID0gJyc7Y29uc3QgdmFsdWUgPSB0aGlzLmlzVGV4dEFyZWEoKVxuICAgICAgICAgICAgPyBgPHRleHRhcmVhICR7dGhpcy5zaG91bGRCZURpc2FibGVkKCkgPyAnZGlzYWJsZWQ9XCJkaXNhYmxlZFwiJyA6ICcnfSBkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCIgbmFtZT1cIlwiIHBsYWNlaG9sZGVyPVwiJHt0aGlzLmdldFZhbHVlUGxhY2Vob2xkZXIoKX1cIj48L3RleHRhcmVhPmBcbiAgICAgICAgICAgIDogYDxpbnB1dCAke3RoaXMuc2hvdWxkQmVEaXNhYmxlZCgpID8gJ2Rpc2FibGVkPVwiZGlzYWJsZWRcIicgOiAnJ30gZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJ2YWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgbmFtZT1cIlwiIHZhbHVlPVwiXCIgIHBsYWNlaG9sZGVyPVwiJHt0aGlzLmdldFZhbHVlUGxhY2Vob2xkZXIoKX1cIiAvPmA7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWYWx1ZU9ubHkoKSkge1xuICAgICAgICAgICAgdHBsICs9IGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBhcnJheS1maWVsZC12YWx1ZV9vbmx5XCIgZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWdyYXYtYXJyYXktYWN0aW9uPVwic29ydFwiIGNsYXNzPVwiZmEgZmEtYmFyc1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAke3ZhbHVlfVxuICAgICAgICAgICAgYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRwbCArPSBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIiBkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtZ3Jhdi1hcnJheS1hY3Rpb249XCJzb3J0XCIgY2xhc3M9XCJmYSBmYS1iYXJzXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpbnB1dCAke3RoaXMuc2hvdWxkQmVEaXNhYmxlZCgpID8gJ2Rpc2FibGVkPVwiZGlzYWJsZWRcIicgOiAnJ30gZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJrZXlcIiB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgcGxhY2Vob2xkZXI9XCIke3RoaXMuZ2V0S2V5UGxhY2Vob2xkZXIoKX1cIiAvPlxuICAgICAgICAgICAgICAgICR7dmFsdWV9XG4gICAgICAgICAgICBgO1xuICAgICAgICB9XG5cbiAgICAgICAgdHBsICs9IGBcbiAgICAgICAgICAgIDxzcGFuIGRhdGEtZ3Jhdi1hcnJheS1hY3Rpb249XCJyZW1cIiBjbGFzcz1cImZhIGZhLW1pbnVzXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gZGF0YS1ncmF2LWFycmF5LWFjdGlvbj1cImFkZFwiIGNsYXNzPVwiZmEgZmEtcGx1c1wiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+YDtcblxuICAgICAgICByZXR1cm4gdHBsO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXJyYXlGaWVsZCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGJvZHkub24oJ2lucHV0JywgJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cImtleVwiXSwgW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIl0nLCAoZXZlbnQpID0+IHRoaXMuYWN0aW9uSW5wdXQoZXZlbnQpKTtcbiAgICAgICAgYm9keS5vbignY2xpY2sgdG91Y2gnLCAnW2RhdGEtZ3Jhdi1hcnJheS1hY3Rpb25dOm5vdChbZGF0YS1ncmF2LWFycmF5LWFjdGlvbj1cInNvcnRcIl0pJywgKGV2ZW50KSA9PiB0aGlzLmFjdGlvbkV2ZW50KGV2ZW50KSk7XG5cbiAgICAgICAgdGhpcy5hcnJheXMgPSAkKCk7XG5cbiAgICAgICAgJCgnW2RhdGEtZ3Jhdi1maWVsZD1cImFycmF5XCJdJykuZWFjaCgoaW5kZXgsIGxpc3QpID0+IHRoaXMuYWRkQXJyYXkobGlzdCkpO1xuICAgICAgICAkKCdib2R5Jykub24oJ211dGF0aW9uLl9ncmF2JywgdGhpcy5fb25BZGRlZE5vZGVzLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIGFkZEFycmF5KGxpc3QpIHtcbiAgICAgICAgbGlzdCA9ICQobGlzdCk7XG5cbiAgICAgICAgbGlzdC5maW5kKCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJjb250YWluZXJcIl0nKS5lYWNoKChpbmRleCwgY29udGFpbmVyKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICAgICAgICBpZiAoY29udGFpbmVyLmRhdGEoJ2FycmF5LXNvcnQnKSB8fCBjb250YWluZXJbMF0uaGFzQXR0cmlidXRlKCdkYXRhLWFycmF5LW5vc29ydCcpKSB7IHJldHVybjsgfVxuXG4gICAgICAgICAgICBjb250YWluZXIuZGF0YSgnYXJyYXktc29ydCcsIG5ldyBTb3J0YWJsZShjb250YWluZXIuZ2V0KDApLCB7XG4gICAgICAgICAgICAgICAgaGFuZGxlOiAnLmZhLWJhcnMnLFxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogMTUwLFxuICAgICAgICAgICAgICAgIG9uVXBkYXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBjb250YWluZXIuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdOmZpcnN0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldFRlbXBsYXRlKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IGl0ZW0uZGF0YSgnYXJyYXktdGVtcGxhdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoTmFtZXModGVtcGxhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWN0aW9uSW5wdXQoZXZlbnQpIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSAkKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGxldCB0eXBlID0gZWxlbWVudC5kYXRhKCdncmF2LWFycmF5LXR5cGUnKTtcblxuICAgICAgICB0aGlzLl9zZXRUZW1wbGF0ZShlbGVtZW50KTtcblxuICAgICAgICBsZXQgdGVtcGxhdGUgPSBlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJyk7XG4gICAgICAgIGxldCBrZXlFbGVtZW50ID0gdHlwZSA9PT0gJ2tleScgPyBlbGVtZW50IDogZWxlbWVudC5zaWJsaW5ncygnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwia2V5XCJdOmZpcnN0Jyk7XG4gICAgICAgIGxldCB2YWx1ZUVsZW1lbnQgPSB0eXBlID09PSAndmFsdWUnID8gZWxlbWVudCA6IGVsZW1lbnQuc2libGluZ3MoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCJdOmZpcnN0Jyk7XG5cbiAgICAgICAgbGV0IGVzY2FwZWRfbmFtZSA9ICF0ZW1wbGF0ZS5pc1ZhbHVlT25seSgpID8ga2V5RWxlbWVudC52YWwoKSA6IHRoaXMuZ2V0SW5kZXhGb3IoZWxlbWVudCk7XG4gICAgICAgIGVzY2FwZWRfbmFtZSA9IGVzY2FwZWRfbmFtZS50b1N0cmluZygpLnJlcGxhY2UoL1xcWy9nLCAnJTVCJykucmVwbGFjZSgvXS9nLCAnJTVEJyk7XG4gICAgICAgIGxldCBuYW1lID0gYCR7dGVtcGxhdGUuZ2V0TmFtZSgpfVske2VzY2FwZWRfbmFtZX1dYDtcblxuICAgICAgICBpZiAoIXRlbXBsYXRlLmlzVmFsdWVPbmx5KCkgJiYgKCFrZXlFbGVtZW50LnZhbCgpICYmICF2YWx1ZUVsZW1lbnQudmFsKCkpKSB7XG4gICAgICAgICAgICB2YWx1ZUVsZW1lbnQuYXR0cignbmFtZScsICcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHZhbHVlRWxlbWVudC5hdHRyKCduYW1lJywgIXZhbHVlRWxlbWVudC52YWwoKSA/IHRlbXBsYXRlLmdldE5hbWUoKSA6IG5hbWUpO1xuICAgICAgICAgICAgdmFsdWVFbGVtZW50LmF0dHIoJ25hbWUnLCBuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVmcmVzaE5hbWVzKHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICBhY3Rpb25FdmVudChldmVudCkge1xuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBsZXQgZWxlbWVudCA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IGFjdGlvbiA9IGVsZW1lbnQuZGF0YSgnZ3Jhdi1hcnJheS1hY3Rpb24nKTtcbiAgICAgICAgbGV0IGNvbnRhaW5lciA9IGVsZW1lbnQucGFyZW50cygnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwiY29udGFpbmVyXCJdJyk7XG5cbiAgICAgICAgdGhpcy5fc2V0VGVtcGxhdGUoZWxlbWVudCk7XG5cbiAgICAgICAgdGhpc1tgJHthY3Rpb259QWN0aW9uYF0oZWxlbWVudCk7XG5cbiAgICAgICAgbGV0IHNpYmxpbmdzID0gY29udGFpbmVyLmZpbmQoJz4gZGl2Jyk7XG4gICAgICAgIGNvbnRhaW5lcltzaWJsaW5ncy5sZW5ndGggPiAxID8gJ3JlbW92ZUNsYXNzJyA6ICdhZGRDbGFzcyddKCdvbmUtY2hpbGQnKTtcbiAgICB9XG5cbiAgICBhZGRBY3Rpb24oZWxlbWVudCkge1xuICAgICAgICBsZXQgdGVtcGxhdGUgPSBlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJyk7XG4gICAgICAgIGxldCByb3cgPSBlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiXScpO1xuXG4gICAgICAgIHJvdy5hZnRlcih0ZW1wbGF0ZS5nZXROZXdSb3coKSk7XG4gICAgfVxuXG4gICAgcmVtQWN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScpO1xuICAgICAgICBsZXQgcm93ID0gZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIl0nKTtcbiAgICAgICAgbGV0IGlzTGFzdCA9ICFyb3cuc2libGluZ3MoKS5sZW5ndGg7XG5cbiAgICAgICAgaWYgKGlzTGFzdCkge1xuICAgICAgICAgICAgbGV0IG5ld1JvdyA9ICQodGVtcGxhdGUuZ2V0TmV3Um93KCkpO1xuICAgICAgICAgICAgcm93LmFmdGVyKG5ld1Jvdyk7XG4gICAgICAgICAgICBuZXdSb3cuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIl06bGFzdCcpLmF0dHIoJ25hbWUnLCB0ZW1wbGF0ZS5nZXROYW1lKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcm93LnJlbW92ZSgpO1xuICAgICAgICB0aGlzLnJlZnJlc2hOYW1lcyh0ZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgcmVmcmVzaE5hbWVzKHRlbXBsYXRlKSB7XG4gICAgICAgIGlmICghdGVtcGxhdGUuaXNWYWx1ZU9ubHkoKSkgeyByZXR1cm47IH1cblxuICAgICAgICBsZXQgcm93ID0gdGVtcGxhdGUuY29udGFpbmVyLmZpbmQoJz4gZGl2ID4gW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdJyk7XG4gICAgICAgIGxldCBpbnB1dHMgPSByb3cuZmluZCgnW25hbWVdOm5vdChbbmFtZT1cIlwiXSknKTtcblxuICAgICAgICBpbnB1dHMuZWFjaCgoaW5kZXgsIGlucHV0KSA9PiB7XG4gICAgICAgICAgICBpbnB1dCA9ICQoaW5wdXQpO1xuICAgICAgICAgICAgY29uc3QgcHJlc2VydmVkX25hbWUgPSBpbnB1dC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LW5hbWVdJyk7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gYCR7cHJlc2VydmVkX25hbWUuYXR0cignZGF0YS1ncmF2LWFycmF5LW5hbWUnKX1bJHtpbmRleH1dYDtcbiAgICAgICAgICAgIGlucHV0LmF0dHIoJ25hbWUnLCBuYW1lKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFpbnB1dHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByb3cuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIl0nKS5hdHRyKCduYW1lJywgdGVtcGxhdGUuZ2V0TmFtZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEluZGV4Rm9yKGVsZW1lbnQpIHtcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScpO1xuICAgICAgICBsZXQgcm93ID0gZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIl0nKTtcblxuICAgICAgICByZXR1cm4gdGVtcGxhdGUuY29udGFpbmVyLmZpbmQoYCR7dGVtcGxhdGUuaXNWYWx1ZU9ubHkoKSA/ICc+IGRpdiAnIDogJyd9ID4gW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdYCkuaW5kZXgocm93KTtcbiAgICB9XG5cbiAgICBfc2V0VGVtcGxhdGUoZWxlbWVudCkge1xuICAgICAgICBpZiAoIWVsZW1lbnQuZGF0YSgnYXJyYXktdGVtcGxhdGUnKSkge1xuICAgICAgICAgICAgZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScsIG5ldyBUZW1wbGF0ZShlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWdyYXYtYXJyYXktbmFtZV0nKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX29uQWRkZWROb2RlcyhldmVudCwgdGFyZ2V0LyogLCByZWNvcmQsIGluc3RhbmNlICovKSB7XG4gICAgICAgIGxldCBhcnJheXMgPSAkKHRhcmdldCkuZmluZCgnW2RhdGEtZ3Jhdi1maWVsZD1cImFycmF5XCJdJyk7XG4gICAgICAgIGlmICghYXJyYXlzLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgICAgICBhcnJheXMuZWFjaCgoaW5kZXgsIGxpc3QpID0+IHtcbiAgICAgICAgICAgIGxpc3QgPSAkKGxpc3QpO1xuICAgICAgICAgICAgaWYgKCF+dGhpcy5hcnJheXMuaW5kZXgobGlzdCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEFycmF5KGxpc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBsZXQgSW5zdGFuY2UgPSBuZXcgQXJyYXlGaWVsZCgpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/forms/fields/array.js\n"); /***/ }), /***/ "./app/forms/fields/collections.js": /*!*****************************************!*\ !*** ./app/forms/fields/collections.js ***! \*****************************************/ /*! namespace exports */ /*! export Instance [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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\": () => /* binding */ CollectionsField,\n/* harmony export */ \"Instance\": () => /* binding */ Instance\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.complete.esm.js\");\n/* harmony import */ var _utils_jquery_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/jquery-utils */ \"./app/utils/jquery-utils.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\nvar CollectionsField = /*#__PURE__*/function () {\n function CollectionsField() {\n var _this = this;\n\n _classCallCheck(this, CollectionsField);\n\n this.lists = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-type=\"collection\"]').each(function (index, list) {\n return _this.addList(list);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n }\n\n _createClass(CollectionsField, [{\n key: \"addList\",\n value: function addList(list) {\n var _this2 = this;\n\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=\"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\n if (container.data('collection-sort') || container[0].hasAttribute('data-collection-nosort')) {\n return;\n }\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\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\n this._updateActionsStateBasedOnMinMax(list);\n\n var items = list.closest('[data-type=\"collection\"]').find('> ul > [data-collection-item]');\n var maxItems = list.data('max');\n\n if (typeof maxItems !== 'undefined' && items.length >= maxItems) {\n return;\n }\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\n if (items.length) {\n if (topAction.length) {\n topAction.parent().removeClass('hidden');\n }\n\n if (sortAction.length && items.length > 1) {\n sortAction.removeClass('hidden');\n }\n } // refresh toggleables in a list\n\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]').trigger('change');\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\n if (typeof minItems !== 'undefined' && items.length <= minItems) {\n return;\n }\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\n if (!items.length) {\n if (topAction.length) {\n topAction.parent().addClass('hidden');\n }\n }\n\n if (sortAction.length && items.length <= 1) {\n sortAction.addClass('hidden');\n }\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\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\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-grav-array-name'].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')]; // special case to preserve array field index keys\n\n if (prop === 'name' && element.data('gravArrayType')) {\n var match_index = element.attr(prop).match(/\\[[0-9]{1,}\\]$/);\n var pattern = element[0].closest('[data-grav-array-name]').dataset.gravArrayName;\n\n if (match_index && pattern) {\n array_index = match_index[0];\n element.attr(prop, \"\".concat(pattern).concat(match_index[0]));\n return;\n }\n }\n\n if (hasCustomKey && !observedValue) {\n element.attr(\"_\".concat(prop), element.attr(prop));\n element.attr(prop, null);\n return;\n }\n\n if (element.attr(\"_\".concat(prop))) {\n element.attr(prop, element.attr(\"_\".concat(prop)));\n element.attr(\"_\".concat(prop), null);\n }\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 ()\n /* str, p1, offset */\n {\n var extras = '';\n\n if (array_index) {\n extras = array_index;\n console.log(indexes, extras);\n }\n\n matchedKey = indexes.shift() || matchedKey;\n return \"[\".concat(matchedKey, \"]\").concat(extras);\n });\n replaced = replaced.replace(regexps[1], function ()\n /* str, p1, offset */\n {\n matchedKey = indexes.shift() || matchedKey;\n return \".\".concat(matchedKey, \".\");\n });\n element.attr(prop, replaced);\n });\n });\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target\n /* , record, instance */\n ) {\n var _this3 = this;\n\n var collections = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-type=\"collection\"]');\n\n if (!collections.length) {\n return;\n }\n\n collections.each(function (index, collection) {\n collection = jquery__WEBPACK_IMPORTED_MODULE_0___default()(collection);\n\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\n if (typeof minItems !== 'undefined' && items.length <= minItems) {\n list.find('> ul > li > .item-actions [data-action=\"delete\"]').attr('disabled', true);\n }\n\n if (typeof maxItems !== 'undefined' && items.length >= maxItems) {\n list.find('> .collection-actions [data-action=\"add\"]').attr('disabled', true);\n }\n }\n }]);\n\n return CollectionsField;\n}();\n\n\nvar Instance = new CollectionsField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9jb2xsZWN0aW9ucy5qcz82YzU1Il0sIm5hbWVzIjpbIkNvbGxlY3Rpb25zRmllbGQiLCJsaXN0cyIsIiQiLCJlYWNoIiwiaW5kZXgiLCJsaXN0IiwiYWRkTGlzdCIsIm9uIiwiX29uQWRkZWROb2RlcyIsImJpbmQiLCJhZGQiLCJldmVudCIsImFkZEl0ZW0iLCJyZW1vdmVJdGVtIiwiY29sbGFwc2VJdGVtIiwiZXhwYW5kSXRlbSIsInNvcnRJdGVtcyIsImNvbGxhcHNlSXRlbXMiLCJleHBhbmRJdGVtcyIsIm9ic2VydmVLZXkiLCJmaW5kIiwiY29udGFpbmVyIiwiZGF0YSIsImhhc0F0dHJpYnV0ZSIsIlNvcnRhYmxlIiwiZ2V0IiwiZm9yY2VGYWxsYmFjayIsImhhbmRsZSIsImFuaW1hdGlvbiIsIm9uVXBkYXRlIiwicmVpbmRleCIsIl91cGRhdGVBY3Rpb25zU3RhdGVCYXNlZE9uTWluTWF4IiwiYnV0dG9uIiwiY3VycmVudFRhcmdldCIsInBvc2l0aW9uIiwiY2xvc2VzdCIsInRlbXBsYXRlIiwiaXRlbXMiLCJtYXhJdGVtcyIsImxlbmd0aCIsInRvcEFjdGlvbiIsInNvcnRBY3Rpb24iLCJwYXJlbnQiLCJyZW1vdmVDbGFzcyIsInRyaWdnZXIiLCJpdGVtIiwibWluSXRlbXMiLCJyZW1vdmUiLCJhZGRDbGFzcyIsImNsaWNrIiwiYXR0ciIsInNvcnRieSIsInNvcnRieV9kaXIiLCJzb3J0IiwiYSIsImIiLCJBIiwiQiIsInZhbCIsIl8iLCJhcHBlbmQiLCJpbnB1dCIsInRhcmdldCIsInZhbHVlIiwib2JzZXJ2ZWQiLCJvYnNlcnZlZFZhbHVlIiwiaGFzQ3VzdG9tS2V5IiwiY3VycmVudEtleSIsImZvckVhY2giLCJwcm9wIiwiZWxlbWVudCIsImluZGV4ZXMiLCJhcnJheV9pbmRleCIsInJlZ2V4cHMiLCJSZWdFeHAiLCJtYXRjaF9pbmRleCIsIm1hdGNoIiwicGF0dGVybiIsImRhdGFzZXQiLCJncmF2QXJyYXlOYW1lIiwicGFyZW50cyIsIm1hcCIsImlkeCIsInB1c2giLCJyZXZlcnNlIiwibWF0Y2hlZEtleSIsInJlcGxhY2VkIiwicmVwbGFjZSIsImV4dHJhcyIsImNvbnNvbGUiLCJsb2ciLCJzaGlmdCIsImNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbiIsIkluc3RhbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0lBRXFCQSxnQjtBQUNqQiw4QkFBYztBQUFBOztBQUFBOztBQUNWLFNBQUtDLEtBQUwsR0FBYUMsNkNBQUMsRUFBZDtBQUVBQSxpREFBQyxDQUFDLDBCQUFELENBQUQsQ0FBOEJDLElBQTlCLENBQW1DLFVBQUNDLEtBQUQsRUFBUUMsSUFBUjtBQUFBLGFBQWlCLEtBQUksQ0FBQ0MsT0FBTCxDQUFhRCxJQUFiLENBQWpCO0FBQUEsS0FBbkM7QUFDQUgsaURBQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUssRUFBVixDQUFhLGdCQUFiLEVBQStCLEtBQUtDLGFBQUwsQ0FBbUJDLElBQW5CLENBQXdCLElBQXhCLENBQS9CO0FBRUg7Ozs7NEJBRU9KLEksRUFBTTtBQUFBOztBQUNWQSxVQUFJLEdBQUdILDZDQUFDLENBQUNHLElBQUQsQ0FBUjtBQUNBLFdBQUtKLEtBQUwsR0FBYSxLQUFLQSxLQUFMLENBQVdTLEdBQVgsQ0FBZUwsSUFBZixDQUFiO0FBRUFBLFVBQUksQ0FBQ0UsRUFBTCxDQUFRLE9BQVIsRUFBaUIsMkNBQWpCLEVBQThELFVBQUNJLEtBQUQ7QUFBQSxlQUFXLE1BQUksQ0FBQ0MsT0FBTCxDQUFhRCxLQUFiLENBQVg7QUFBQSxPQUE5RDtBQUNBTixVQUFJLENBQUNFLEVBQUwsQ0FBUSxPQUFSLEVBQWlCLGtEQUFqQixFQUFxRSxVQUFDSSxLQUFEO0FBQUEsZUFBVyxNQUFJLENBQUNFLFVBQUwsQ0FBZ0JGLEtBQWhCLENBQVg7QUFBQSxPQUFyRTtBQUNBTixVQUFJLENBQUNFLEVBQUwsQ0FBUSxPQUFSLEVBQWlCLG9EQUFqQixFQUF1RSxVQUFDSSxLQUFEO0FBQUEsZUFBVyxNQUFJLENBQUNHLFlBQUwsQ0FBa0JILEtBQWxCLENBQVg7QUFBQSxPQUF2RTtBQUNBTixVQUFJLENBQUNFLEVBQUwsQ0FBUSxPQUFSLEVBQWlCLGtEQUFqQixFQUFxRSxVQUFDSSxLQUFEO0FBQUEsZUFBVyxNQUFJLENBQUNJLFVBQUwsQ0FBZ0JKLEtBQWhCLENBQVg7QUFBQSxPQUFyRTtBQUNBTixVQUFJLENBQUNFLEVBQUwsQ0FBUSxPQUFSLEVBQWlCLGlEQUFqQixFQUFvRSxVQUFDSSxLQUFEO0FBQUEsZUFBVyxNQUFJLENBQUNLLFNBQUwsQ0FBZUwsS0FBZixDQUFYO0FBQUEsT0FBcEU7QUFDQU4sVUFBSSxDQUFDRSxFQUFMLENBQVEsT0FBUixFQUFpQixvREFBakIsRUFBdUUsVUFBQ0ksS0FBRDtBQUFBLGVBQVcsTUFBSSxDQUFDTSxhQUFMLENBQW1CTixLQUFuQixDQUFYO0FBQUEsT0FBdkU7QUFDQU4sVUFBSSxDQUFDRSxFQUFMLENBQVEsT0FBUixFQUFpQixrREFBakIsRUFBcUUsVUFBQ0ksS0FBRDtBQUFBLGVBQVcsTUFBSSxDQUFDTyxXQUFMLENBQWlCUCxLQUFqQixDQUFYO0FBQUEsT0FBckU7QUFDQU4sVUFBSSxDQUFDRSxFQUFMLENBQVEsY0FBUixFQUF3QixvQkFBeEIsRUFBOEMsVUFBQ0ksS0FBRDtBQUFBLGVBQVcsTUFBSSxDQUFDUSxVQUFMLENBQWdCUixLQUFoQixDQUFYO0FBQUEsT0FBOUM7QUFFQU4sVUFBSSxDQUFDZSxJQUFMLENBQVUsMEJBQVYsRUFBc0NqQixJQUF0QyxDQUEyQyxVQUFDQyxLQUFELEVBQVFpQixTQUFSLEVBQXNCO0FBQzdEQSxpQkFBUyxHQUFHbkIsNkNBQUMsQ0FBQ21CLFNBQUQsQ0FBYjs7QUFDQSxZQUFJQSxTQUFTLENBQUNDLElBQVYsQ0FBZSxpQkFBZixLQUFxQ0QsU0FBUyxDQUFDLENBQUQsQ0FBVCxDQUFhRSxZQUFiLENBQTBCLHdCQUExQixDQUF6QyxFQUE4RjtBQUFFO0FBQVM7O0FBRXpHRixpQkFBUyxDQUFDQyxJQUFWLENBQWUsaUJBQWYsRUFBa0MsSUFBSUUsK0NBQUosQ0FBYUgsU0FBUyxDQUFDSSxHQUFWLENBQWMsQ0FBZCxDQUFiLEVBQStCO0FBQzdEQyx1QkFBYSxFQUFFLEtBRDhDO0FBRTdEQyxnQkFBTSxFQUFFLGtCQUZxRDtBQUc3REMsbUJBQVMsRUFBRSxHQUhrRDtBQUk3REMsa0JBQVEsRUFBRTtBQUFBLG1CQUFNLE1BQUksQ0FBQ0MsT0FBTCxDQUFhVCxTQUFiLENBQU47QUFBQTtBQUptRCxTQUEvQixDQUFsQztBQU1ILE9BVkQ7O0FBWUEsV0FBS1UsZ0NBQUwsQ0FBc0MxQixJQUF0QztBQUNIOzs7NEJBRU9NLEssRUFBTztBQUNYLFVBQUlxQixNQUFNLEdBQUc5Qiw2Q0FBQyxDQUFDUyxLQUFLLENBQUNzQixhQUFQLENBQWQ7QUFDQSxVQUFJQyxRQUFRLEdBQUdGLE1BQU0sQ0FBQ1YsSUFBUCxDQUFZLFlBQVosS0FBNkIsUUFBNUM7QUFDQSxVQUFJakIsSUFBSSxHQUFHSCw2Q0FBQyxDQUFDOEIsTUFBTSxDQUFDRyxPQUFQLENBQWUsMEJBQWYsQ0FBRCxDQUFaO0FBQ0EsVUFBSUMsUUFBUSxHQUFHbEMsNkNBQUMsQ0FBQ0csSUFBSSxDQUFDZSxJQUFMLENBQVUsb0NBQVYsRUFBZ0RFLElBQWhELENBQXFELDBCQUFyRCxDQUFELENBQWhCOztBQUVBLFdBQUtTLGdDQUFMLENBQXNDMUIsSUFBdEM7O0FBQ0EsVUFBSWdDLEtBQUssR0FBR2hDLElBQUksQ0FBQzhCLE9BQUwsQ0FBYSwwQkFBYixFQUF5Q2YsSUFBekMsQ0FBOEMsK0JBQTlDLENBQVo7QUFDQSxVQUFJa0IsUUFBUSxHQUFHakMsSUFBSSxDQUFDaUIsSUFBTCxDQUFVLEtBQVYsQ0FBZjs7QUFDQSxVQUFJLE9BQU9nQixRQUFQLEtBQW9CLFdBQXBCLElBQW1DRCxLQUFLLENBQUNFLE1BQU4sSUFBZ0JELFFBQXZELEVBQWlFO0FBQzdEO0FBQ0g7O0FBRURqQyxVQUFJLENBQUNlLElBQUwsQ0FBVSw0QkFBVixFQUF3Q2MsUUFBUSxLQUFLLEtBQWIsR0FBcUIsU0FBckIsR0FBaUMsUUFBekUsRUFBbUZFLFFBQW5GO0FBQ0EsV0FBS04sT0FBTCxDQUFhekIsSUFBYjtBQUVBZ0MsV0FBSyxHQUFHaEMsSUFBSSxDQUFDOEIsT0FBTCxDQUFhLDBCQUFiLEVBQXlDZixJQUF6QyxDQUE4QywrQkFBOUMsQ0FBUjtBQUNBLFVBQUlvQixTQUFTLEdBQUduQyxJQUFJLENBQUM4QixPQUFMLENBQWEsMEJBQWIsRUFBeUNmLElBQXpDLENBQThDLHlCQUE5QyxDQUFoQjtBQUNBLFVBQUlxQixVQUFVLEdBQUdwQyxJQUFJLENBQUM4QixPQUFMLENBQWEsMEJBQWIsRUFBeUNmLElBQXpDLENBQThDLHNCQUE5QyxDQUFqQjs7QUFFQSxVQUFJaUIsS0FBSyxDQUFDRSxNQUFWLEVBQWtCO0FBQ2QsWUFBSUMsU0FBUyxDQUFDRCxNQUFkLEVBQXNCO0FBQUVDLG1CQUFTLENBQUNFLE1BQVYsR0FBbUJDLFdBQW5CLENBQStCLFFBQS9CO0FBQTJDOztBQUNuRSxZQUFJRixVQUFVLENBQUNGLE1BQVgsSUFBcUJGLEtBQUssQ0FBQ0UsTUFBTixHQUFlLENBQXhDLEVBQTJDO0FBQUVFLG9CQUFVLENBQUNFLFdBQVgsQ0FBdUIsUUFBdkI7QUFBbUM7QUFDbkYsT0F2QlUsQ0F5Qlg7OztBQUNBekMsbURBQUMsQ0FBQyx1REFBRCxDQUFELENBQTJEMEMsT0FBM0QsQ0FBbUUsUUFBbkU7QUFDSDs7OytCQUVVakMsSyxFQUFPO0FBQ2QsVUFBSXFCLE1BQU0sR0FBRzlCLDZDQUFDLENBQUNTLEtBQUssQ0FBQ3NCLGFBQVAsQ0FBZDtBQUNBLFVBQUlZLElBQUksR0FBR2IsTUFBTSxDQUFDRyxPQUFQLENBQWUsd0JBQWYsQ0FBWDtBQUNBLFVBQUk5QixJQUFJLEdBQUdILDZDQUFDLENBQUM4QixNQUFNLENBQUNHLE9BQVAsQ0FBZSwwQkFBZixDQUFELENBQVo7QUFFQSxVQUFJRSxLQUFLLEdBQUdoQyxJQUFJLENBQUM4QixPQUFMLENBQWEsMEJBQWIsRUFBeUNmLElBQXpDLENBQThDLCtCQUE5QyxDQUFaO0FBQ0EsVUFBSTBCLFFBQVEsR0FBR3pDLElBQUksQ0FBQ2lCLElBQUwsQ0FBVSxLQUFWLENBQWY7O0FBRUEsVUFBSSxPQUFPd0IsUUFBUCxLQUFvQixXQUFwQixJQUFtQ1QsS0FBSyxDQUFDRSxNQUFOLElBQWdCTyxRQUF2RCxFQUFpRTtBQUM3RDtBQUNIOztBQUVERCxVQUFJLENBQUNFLE1BQUw7QUFDQSxXQUFLakIsT0FBTCxDQUFhekIsSUFBYjtBQUVBZ0MsV0FBSyxHQUFHaEMsSUFBSSxDQUFDOEIsT0FBTCxDQUFhLDBCQUFiLEVBQXlDZixJQUF6QyxDQUE4QywrQkFBOUMsQ0FBUjtBQUNBLFVBQUlvQixTQUFTLEdBQUduQyxJQUFJLENBQUM4QixPQUFMLENBQWEsMEJBQWIsRUFBeUNmLElBQXpDLENBQThDLHlCQUE5QyxDQUFoQjtBQUNBLFVBQUlxQixVQUFVLEdBQUdwQyxJQUFJLENBQUM4QixPQUFMLENBQWEsMEJBQWIsRUFBeUNmLElBQXpDLENBQThDLHNCQUE5QyxDQUFqQjs7QUFFQSxVQUFJLENBQUNpQixLQUFLLENBQUNFLE1BQVgsRUFBbUI7QUFDZixZQUFJQyxTQUFTLENBQUNELE1BQWQsRUFBc0I7QUFBRUMsbUJBQVMsQ0FBQ0UsTUFBVixHQUFtQk0sUUFBbkIsQ0FBNEIsUUFBNUI7QUFBd0M7QUFDbkU7O0FBRUQsVUFBSVAsVUFBVSxDQUFDRixNQUFYLElBQXFCRixLQUFLLENBQUNFLE1BQU4sSUFBZ0IsQ0FBekMsRUFBNEM7QUFBRUUsa0JBQVUsQ0FBQ08sUUFBWCxDQUFvQixRQUFwQjtBQUFnQzs7QUFDOUUsV0FBS2pCLGdDQUFMLENBQXNDMUIsSUFBdEM7QUFDSDs7O2tDQUVhTSxLLEVBQU87QUFDakIsVUFBSXFCLE1BQU0sR0FBRzlCLDZDQUFDLENBQUNTLEtBQUssQ0FBQ3NCLGFBQVAsQ0FBZDtBQUNBLFVBQUlJLEtBQUssR0FBR25DLDZDQUFDLENBQUM4QixNQUFNLENBQUNHLE9BQVAsQ0FBZSwwQkFBZixDQUFELENBQUQsQ0FBOENmLElBQTlDLENBQW1ELHdFQUFuRCxDQUFaO0FBRUFpQixXQUFLLENBQUNZLEtBQU47QUFDSDs7O2lDQUVZdEMsSyxFQUFPO0FBQ2hCLFVBQUlxQixNQUFNLEdBQUc5Qiw2Q0FBQyxDQUFDUyxLQUFLLENBQUNzQixhQUFQLENBQWQ7QUFDQSxVQUFJWSxJQUFJLEdBQUdiLE1BQU0sQ0FBQ0csT0FBUCxDQUFlLHdCQUFmLENBQVg7QUFFQUgsWUFBTSxDQUFDa0IsSUFBUCxDQUFZLGFBQVosRUFBMkIsUUFBM0IsRUFBcUNQLFdBQXJDLENBQWlELHdCQUFqRCxFQUEyRUssUUFBM0UsQ0FBb0YseUJBQXBGO0FBQ0FILFVBQUksQ0FBQ0csUUFBTCxDQUFjLHNCQUFkO0FBQ0g7OztnQ0FFV3JDLEssRUFBTztBQUNmLFVBQUlxQixNQUFNLEdBQUc5Qiw2Q0FBQyxDQUFDUyxLQUFLLENBQUNzQixhQUFQLENBQWQ7QUFDQSxVQUFJSSxLQUFLLEdBQUduQyw2Q0FBQyxDQUFDOEIsTUFBTSxDQUFDRyxPQUFQLENBQWUsMEJBQWYsQ0FBRCxDQUFELENBQThDZixJQUE5QyxDQUFtRCxzRUFBbkQsQ0FBWjtBQUVBaUIsV0FBSyxDQUFDWSxLQUFOO0FBQ0g7OzsrQkFFVXRDLEssRUFBTztBQUNkLFVBQUlxQixNQUFNLEdBQUc5Qiw2Q0FBQyxDQUFDUyxLQUFLLENBQUNzQixhQUFQLENBQWQ7QUFDQSxVQUFJWSxJQUFJLEdBQUdiLE1BQU0sQ0FBQ0csT0FBUCxDQUFlLHdCQUFmLENBQVg7QUFFQUgsWUFBTSxDQUFDa0IsSUFBUCxDQUFZLGFBQVosRUFBMkIsVUFBM0IsRUFBdUNQLFdBQXZDLENBQW1ELHlCQUFuRCxFQUE4RUssUUFBOUUsQ0FBdUYsd0JBQXZGO0FBQ0FILFVBQUksQ0FBQ0YsV0FBTCxDQUFpQixzQkFBakI7QUFDSDs7OzhCQUVTaEMsSyxFQUFPO0FBQ2IsVUFBSXFCLE1BQU0sR0FBRzlCLDZDQUFDLENBQUNTLEtBQUssQ0FBQ3NCLGFBQVAsQ0FBZDtBQUNBLFVBQUlrQixNQUFNLEdBQUduQixNQUFNLENBQUNWLElBQVAsQ0FBWSxhQUFaLENBQWI7QUFDQSxVQUFJOEIsVUFBVSxHQUFHcEIsTUFBTSxDQUFDVixJQUFQLENBQVksaUJBQVosS0FBa0MsS0FBbkQ7QUFDQSxVQUFJakIsSUFBSSxHQUFHSCw2Q0FBQyxDQUFDOEIsTUFBTSxDQUFDRyxPQUFQLENBQWUsMEJBQWYsQ0FBRCxDQUFaO0FBQ0EsVUFBSUUsS0FBSyxHQUFHaEMsSUFBSSxDQUFDOEIsT0FBTCxDQUFhLDBCQUFiLEVBQXlDZixJQUF6QyxDQUE4QywrQkFBOUMsQ0FBWjtBQUVBaUIsV0FBSyxDQUFDZ0IsSUFBTixDQUFXLFVBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFVO0FBQ2pCLFlBQUlDLENBQUMsR0FBR3RELDZDQUFDLENBQUNvRCxDQUFELENBQUQsQ0FBS2xDLElBQUwsQ0FBVSxjQUFjK0IsTUFBZCxHQUF1QixLQUFqQyxDQUFSO0FBQ0EsWUFBSU0sQ0FBQyxHQUFHdkQsNkNBQUMsQ0FBQ3FELENBQUQsQ0FBRCxDQUFLbkMsSUFBTCxDQUFVLGNBQWMrQixNQUFkLEdBQXVCLEtBQWpDLENBQVI7QUFDQSxZQUFJRSxJQUFKOztBQUVBLFlBQUlELFVBQVUsS0FBSyxLQUFuQixFQUEwQjtBQUN0QkMsY0FBSSxHQUFJRyxDQUFDLENBQUNFLEdBQUYsS0FBVUQsQ0FBQyxDQUFDQyxHQUFGLEVBQVgsR0FBc0IsQ0FBQyxDQUF2QixHQUE0QkYsQ0FBQyxDQUFDRSxHQUFGLEtBQVVELENBQUMsQ0FBQ0MsR0FBRixFQUFYLEdBQXNCLENBQXRCLEdBQTBCLENBQTVEO0FBQ0gsU0FGRCxNQUVPO0FBQ0hMLGNBQUksR0FBSUcsQ0FBQyxDQUFDRSxHQUFGLEtBQVVELENBQUMsQ0FBQ0MsR0FBRixFQUFYLEdBQXNCLENBQUMsQ0FBdkIsR0FBNEJGLENBQUMsQ0FBQ0UsR0FBRixLQUFVRCxDQUFDLENBQUNDLEdBQUYsRUFBWCxHQUFzQixDQUF0QixHQUEwQixDQUE1RDtBQUNIOztBQUVELGVBQU9MLElBQVA7QUFDSCxPQVpELEVBWUdsRCxJQVpILENBWVEsVUFBQ3dELENBQUQsRUFBSXRDLFNBQUosRUFBa0I7QUFDdEJuQixxREFBQyxDQUFDbUIsU0FBRCxDQUFELENBQWFxQixNQUFiLEdBQXNCa0IsTUFBdEIsQ0FBNkJ2QyxTQUE3QjtBQUNILE9BZEQ7QUFnQkEsV0FBS1MsT0FBTCxDQUFhekIsSUFBYjtBQUNIOzs7K0JBRVVNLEssRUFBTztBQUNkLFVBQUlrRCxLQUFLLEdBQUczRCw2Q0FBQyxDQUFDUyxLQUFLLENBQUNtRCxNQUFQLENBQWI7QUFDQSxVQUFJQyxLQUFLLEdBQUdGLEtBQUssQ0FBQ0gsR0FBTixFQUFaO0FBQ0EsVUFBSWIsSUFBSSxHQUFHZ0IsS0FBSyxDQUFDMUIsT0FBTixDQUFjLHVCQUFkLENBQVg7QUFFQVUsVUFBSSxDQUFDdkIsSUFBTCxDQUFVLHVCQUFWLEVBQW1DdUIsSUFBSSxDQUFDdkIsSUFBTCxDQUFVLGdCQUFWLENBQW5DLEVBQWdFQSxJQUFoRSxDQUFxRSxnQkFBckUsRUFBdUZ5QyxLQUF2RjtBQUNBLFdBQUtqQyxPQUFMLENBQWEsSUFBYixFQUFtQmUsSUFBbkI7QUFDSDs7OzRCQUVPeEMsSSxFQUFNZ0MsSyxFQUFPO0FBQ2pCQSxXQUFLLEdBQUdBLEtBQUssSUFBSW5DLDZDQUFDLENBQUNHLElBQUQsQ0FBRCxDQUFROEIsT0FBUixDQUFnQiwwQkFBaEIsRUFBNENmLElBQTVDLENBQWlELCtCQUFqRCxDQUFqQjtBQUVBaUIsV0FBSyxDQUFDbEMsSUFBTixDQUFXLFVBQUNDLEtBQUQsRUFBUXlDLElBQVIsRUFBaUI7QUFDeEJBLFlBQUksR0FBRzNDLDZDQUFDLENBQUMyQyxJQUFELENBQVI7QUFFQSxZQUFJbUIsUUFBUSxHQUFHbkIsSUFBSSxDQUFDekIsSUFBTCxDQUFVLG9CQUFWLENBQWY7QUFDQSxZQUFJNkMsYUFBYSxHQUFHRCxRQUFRLENBQUNOLEdBQVQsRUFBcEI7QUFDQSxZQUFJUSxZQUFZLEdBQUdGLFFBQVEsQ0FBQ3pCLE1BQTVCO0FBQ0EsWUFBSTRCLFVBQVUsR0FBR3RCLElBQUksQ0FBQ3ZCLElBQUwsQ0FBVSx1QkFBVixDQUFqQjtBQUVBdUIsWUFBSSxDQUFDSyxJQUFMLENBQVUscUJBQVYsRUFBaUNnQixZQUFZLEdBQUdELGFBQUgsR0FBbUI3RCxLQUFoRTtBQUVBLFNBQUMsTUFBRCxFQUFTLHNCQUFULEVBQWlDLEtBQWpDLEVBQXdDLElBQXhDLEVBQThDLHlCQUE5QyxFQUF5RSxzQkFBekUsRUFBaUdnRSxPQUFqRyxDQUF5RyxVQUFDQyxJQUFELEVBQVU7QUFDL0d4QixjQUFJLENBQUN6QixJQUFMLENBQVUsTUFBTWlELElBQU4sR0FBYSxPQUFiLEdBQXVCQSxJQUF2QixHQUE4QixHQUF4QyxFQUE2Q2xFLElBQTdDLENBQWtELFlBQVc7QUFDekQsZ0JBQUltRSxPQUFPLEdBQUdwRSw2Q0FBQyxDQUFDLElBQUQsQ0FBZjtBQUNBLGdCQUFJcUUsT0FBTyxHQUFHLEVBQWQ7QUFDQSxnQkFBSUMsV0FBVyxHQUFHLElBQWxCO0FBQ0EsZ0JBQUlDLE9BQU8sR0FBRyxDQUNWLElBQUlDLE1BQUosQ0FBVyxrQkFBa0JQLFVBQWxCLEdBQStCLE1BQTFDLEVBQWtELEdBQWxELENBRFUsRUFFVixJQUFJTyxNQUFKLENBQVcsa0JBQWtCUCxVQUFsQixHQUErQixNQUExQyxFQUFrRCxHQUFsRCxDQUZVLENBQWQsQ0FKeUQsQ0FTekQ7O0FBQ0EsZ0JBQUlFLElBQUksS0FBSyxNQUFULElBQW1CQyxPQUFPLENBQUNoRCxJQUFSLENBQWEsZUFBYixDQUF2QixFQUFzRDtBQUNsRCxrQkFBTXFELFdBQVcsR0FBR0wsT0FBTyxDQUFDcEIsSUFBUixDQUFhbUIsSUFBYixFQUFtQk8sS0FBbkIsQ0FBeUIsZ0JBQXpCLENBQXBCO0FBQ0Esa0JBQU1DLE9BQU8sR0FBR1AsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXbkMsT0FBWCxDQUFtQix3QkFBbkIsRUFBNkMyQyxPQUE3QyxDQUFxREMsYUFBckU7O0FBQ0Esa0JBQUlKLFdBQVcsSUFBSUUsT0FBbkIsRUFBNEI7QUFDeEJMLDJCQUFXLEdBQUdHLFdBQVcsQ0FBQyxDQUFELENBQXpCO0FBQ0FMLHVCQUFPLENBQUNwQixJQUFSLENBQWFtQixJQUFiLFlBQXNCUSxPQUF0QixTQUFnQ0YsV0FBVyxDQUFDLENBQUQsQ0FBM0M7QUFDQTtBQUNIO0FBQ0o7O0FBRUQsZ0JBQUlULFlBQVksSUFBSSxDQUFDRCxhQUFyQixFQUFvQztBQUNoQ0sscUJBQU8sQ0FBQ3BCLElBQVIsWUFBaUJtQixJQUFqQixHQUF5QkMsT0FBTyxDQUFDcEIsSUFBUixDQUFhbUIsSUFBYixDQUF6QjtBQUNBQyxxQkFBTyxDQUFDcEIsSUFBUixDQUFhbUIsSUFBYixFQUFtQixJQUFuQjtBQUNBO0FBQ0g7O0FBRUQsZ0JBQUlDLE9BQU8sQ0FBQ3BCLElBQVIsWUFBaUJtQixJQUFqQixFQUFKLEVBQThCO0FBQzFCQyxxQkFBTyxDQUFDcEIsSUFBUixDQUFhbUIsSUFBYixFQUFtQkMsT0FBTyxDQUFDcEIsSUFBUixZQUFpQm1CLElBQWpCLEVBQW5CO0FBQ0FDLHFCQUFPLENBQUNwQixJQUFSLFlBQWlCbUIsSUFBakIsR0FBeUIsSUFBekI7QUFDSDs7QUFFREMsbUJBQU8sQ0FBQ1UsT0FBUixDQUFnQix1QkFBaEIsRUFBeUNDLEdBQXpDLENBQTZDLFVBQUNDLEdBQUQsRUFBTXhDLE1BQU47QUFBQSxxQkFBaUI2QixPQUFPLENBQUNZLElBQVIsQ0FBYWpGLDZDQUFDLENBQUN3QyxNQUFELENBQUQsQ0FBVVEsSUFBVixDQUFlLHFCQUFmLENBQWIsQ0FBakI7QUFBQSxhQUE3QztBQUNBcUIsbUJBQU8sQ0FBQ2EsT0FBUjtBQUVBLGdCQUFJQyxVQUFVLEdBQUdsQixVQUFqQjtBQUNBLGdCQUFJbUIsUUFBUSxHQUFHaEIsT0FBTyxDQUFDcEIsSUFBUixDQUFhbUIsSUFBYixFQUFtQmtCLE9BQW5CLENBQTJCZCxPQUFPLENBQUMsQ0FBRCxDQUFsQyxFQUF1QztBQUFDO0FBQTBCO0FBQzdFLGtCQUFJZSxNQUFNLEdBQUcsRUFBYjs7QUFDQSxrQkFBSWhCLFdBQUosRUFBaUI7QUFBRWdCLHNCQUFNLEdBQUdoQixXQUFUO0FBQXNCaUIsdUJBQU8sQ0FBQ0MsR0FBUixDQUFZbkIsT0FBWixFQUFxQmlCLE1BQXJCO0FBQStCOztBQUV4RUgsd0JBQVUsR0FBR2QsT0FBTyxDQUFDb0IsS0FBUixNQUFtQk4sVUFBaEM7QUFDQSxnQ0FBV0EsVUFBWCxjQUF5QkcsTUFBekI7QUFDSCxhQU5jLENBQWY7QUFRQUYsb0JBQVEsR0FBR0EsUUFBUSxDQUFDQyxPQUFULENBQWlCZCxPQUFPLENBQUMsQ0FBRCxDQUF4QixFQUE2QjtBQUFDO0FBQTBCO0FBQy9EWSx3QkFBVSxHQUFHZCxPQUFPLENBQUNvQixLQUFSLE1BQW1CTixVQUFoQztBQUNBLGdDQUFXQSxVQUFYO0FBQ0gsYUFIVSxDQUFYO0FBS0FmLG1CQUFPLENBQUNwQixJQUFSLENBQWFtQixJQUFiLEVBQW1CaUIsUUFBbkI7QUFDSCxXQWpERDtBQWtESCxTQW5ERDtBQW9ESCxPQTlERDtBQStESDs7O2tDQUVhM0UsSyxFQUFPbUQ7QUFBTTtNQUEwQjtBQUFBOztBQUNqRCxVQUFJOEIsV0FBVyxHQUFHMUYsNkNBQUMsQ0FBQzRELE1BQUQsQ0FBRCxDQUFVMUMsSUFBVixDQUFlLDBCQUFmLENBQWxCOztBQUNBLFVBQUksQ0FBQ3dFLFdBQVcsQ0FBQ3JELE1BQWpCLEVBQXlCO0FBQUU7QUFBUzs7QUFFcENxRCxpQkFBVyxDQUFDekYsSUFBWixDQUFpQixVQUFDQyxLQUFELEVBQVF5RixVQUFSLEVBQXVCO0FBQ3BDQSxrQkFBVSxHQUFHM0YsNkNBQUMsQ0FBQzJGLFVBQUQsQ0FBZDs7QUFDQSxZQUFJLENBQUMsQ0FBQyxNQUFJLENBQUM1RixLQUFMLENBQVdHLEtBQVgsQ0FBaUJ5RixVQUFqQixDQUFOLEVBQW9DO0FBQ2hDLGdCQUFJLENBQUN2RixPQUFMLENBQWF1RixVQUFiO0FBQ0g7QUFDSixPQUxEO0FBTUg7OztxREFFZ0N4RixJLEVBQU07QUFDbkMsVUFBSWdDLEtBQUssR0FBR2hDLElBQUksQ0FBQzhCLE9BQUwsQ0FBYSwwQkFBYixFQUF5Q2YsSUFBekMsQ0FBOEMsK0JBQTlDLENBQVo7QUFDQSxVQUFJMEIsUUFBUSxHQUFHekMsSUFBSSxDQUFDaUIsSUFBTCxDQUFVLEtBQVYsQ0FBZjtBQUNBLFVBQUlnQixRQUFRLEdBQUdqQyxJQUFJLENBQUNpQixJQUFMLENBQVUsS0FBVixDQUFmO0FBRUFqQixVQUFJLENBQUNlLElBQUwsQ0FBVSwyQ0FBVixFQUF1RDhCLElBQXZELENBQTRELFVBQTVELEVBQXdFLEtBQXhFO0FBQ0E3QyxVQUFJLENBQUNlLElBQUwsQ0FBVSxrREFBVixFQUE4RDhCLElBQTlELENBQW1FLFVBQW5FLEVBQStFLEtBQS9FOztBQUVBLFVBQUksT0FBT0osUUFBUCxLQUFvQixXQUFwQixJQUFtQ1QsS0FBSyxDQUFDRSxNQUFOLElBQWdCTyxRQUF2RCxFQUFpRTtBQUM3RHpDLFlBQUksQ0FBQ2UsSUFBTCxDQUFVLGtEQUFWLEVBQThEOEIsSUFBOUQsQ0FBbUUsVUFBbkUsRUFBK0UsSUFBL0U7QUFDSDs7QUFFRCxVQUFJLE9BQU9aLFFBQVAsS0FBb0IsV0FBcEIsSUFBbUNELEtBQUssQ0FBQ0UsTUFBTixJQUFnQkQsUUFBdkQsRUFBaUU7QUFDN0RqQyxZQUFJLENBQUNlLElBQUwsQ0FBVSwyQ0FBVixFQUF1RDhCLElBQXZELENBQTRELFVBQTVELEVBQXdFLElBQXhFO0FBQ0g7QUFDSjs7Ozs7OztBQUdFLElBQUk0QyxRQUFRLEdBQUcsSUFBSTlGLGdCQUFKLEVBQWYiLCJmaWxlIjoiLi9hcHAvZm9ybXMvZmllbGRzL2NvbGxlY3Rpb25zLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBTb3J0YWJsZSBmcm9tICdzb3J0YWJsZWpzJztcbmltcG9ydCAnLi4vLi4vdXRpbHMvanF1ZXJ5LXV0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sbGVjdGlvbnNGaWVsZCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubGlzdHMgPSAkKCk7XG5cbiAgICAgICAgJCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5lYWNoKChpbmRleCwgbGlzdCkgPT4gdGhpcy5hZGRMaXN0KGxpc3QpKTtcbiAgICAgICAgJCgnYm9keScpLm9uKCdtdXRhdGlvbi5fZ3JhdicsIHRoaXMuX29uQWRkZWROb2Rlcy5iaW5kKHRoaXMpKTtcblxuICAgIH1cblxuICAgIGFkZExpc3QobGlzdCkge1xuICAgICAgICBsaXN0ID0gJChsaXN0KTtcbiAgICAgICAgdGhpcy5saXN0cyA9IHRoaXMubGlzdHMuYWRkKGxpc3QpO1xuXG4gICAgICAgIGxpc3Qub24oJ2NsaWNrJywgJz4gLmNvbGxlY3Rpb24tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJhZGRcIl0nLCAoZXZlbnQpID0+IHRoaXMuYWRkSXRlbShldmVudCkpO1xuICAgICAgICBsaXN0Lm9uKCdjbGljaycsICc+IHVsID4gbGkgPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImRlbGV0ZVwiXScsIChldmVudCkgPT4gdGhpcy5yZW1vdmVJdGVtKGV2ZW50KSk7XG4gICAgICAgIGxpc3Qub24oJ2NsaWNrJywgJz4gdWwgPiBsaSA+IC5pdGVtLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiY29sbGFwc2VcIl0nLCAoZXZlbnQpID0+IHRoaXMuY29sbGFwc2VJdGVtKGV2ZW50KSk7XG4gICAgICAgIGxpc3Qub24oJ2NsaWNrJywgJz4gdWwgPiBsaSA+IC5pdGVtLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiZXhwYW5kXCJdJywgKGV2ZW50KSA9PiB0aGlzLmV4cGFuZEl0ZW0oZXZlbnQpKTtcbiAgICAgICAgbGlzdC5vbignY2xpY2snLCAnPiAuY29sbGVjdGlvbi1hY3Rpb25zIFtkYXRhLWFjdGlvbi1zb3J0PVwiZGF0ZVwiXScsIChldmVudCkgPT4gdGhpcy5zb3J0SXRlbXMoZXZlbnQpKTtcbiAgICAgICAgbGlzdC5vbignY2xpY2snLCAnPiAuY29sbGVjdGlvbi1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImNvbGxhcHNlX2FsbFwiXScsIChldmVudCkgPT4gdGhpcy5jb2xsYXBzZUl0ZW1zKGV2ZW50KSk7XG4gICAgICAgIGxpc3Qub24oJ2NsaWNrJywgJz4gLmNvbGxlY3Rpb24tYWN0aW9ucyBbZGF0YS1hY3Rpb249XCJleHBhbmRfYWxsXCJdJywgKGV2ZW50KSA9PiB0aGlzLmV4cGFuZEl0ZW1zKGV2ZW50KSk7XG4gICAgICAgIGxpc3Qub24oJ2lucHV0IGNoYW5nZScsICdbZGF0YS1rZXktb2JzZXJ2ZV0nLCAoZXZlbnQpID0+IHRoaXMub2JzZXJ2ZUtleShldmVudCkpO1xuXG4gICAgICAgIGxpc3QuZmluZCgnW2RhdGEtY29sbGVjdGlvbi1ob2xkZXJdJykuZWFjaCgoaW5kZXgsIGNvbnRhaW5lcikgPT4ge1xuICAgICAgICAgICAgY29udGFpbmVyID0gJChjb250YWluZXIpO1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5kYXRhKCdjb2xsZWN0aW9uLXNvcnQnKSB8fCBjb250YWluZXJbMF0uaGFzQXR0cmlidXRlKCdkYXRhLWNvbGxlY3Rpb24tbm9zb3J0JykpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgICAgIGNvbnRhaW5lci5kYXRhKCdjb2xsZWN0aW9uLXNvcnQnLCBuZXcgU29ydGFibGUoY29udGFpbmVyLmdldCgwKSwge1xuICAgICAgICAgICAgICAgIGZvcmNlRmFsbGJhY2s6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhhbmRsZTogJy5jb2xsZWN0aW9uLXNvcnQnLFxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogMTUwLFxuICAgICAgICAgICAgICAgIG9uVXBkYXRlOiAoKSA9PiB0aGlzLnJlaW5kZXgoY29udGFpbmVyKVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl91cGRhdGVBY3Rpb25zU3RhdGVCYXNlZE9uTWluTWF4KGxpc3QpO1xuICAgIH1cblxuICAgIGFkZEl0ZW0oZXZlbnQpIHtcbiAgICAgICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgIGxldCBwb3NpdGlvbiA9IGJ1dHRvbi5kYXRhKCdhY3Rpb24tYWRkJykgfHwgJ2JvdHRvbSc7XG4gICAgICAgIGxldCBsaXN0ID0gJChidXR0b24uY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKSk7XG4gICAgICAgIGxldCB0ZW1wbGF0ZSA9ICQobGlzdC5maW5kKCc+IFtkYXRhLWNvbGxlY3Rpb24tdGVtcGxhdGU9XCJuZXdcIl0nKS5kYXRhKCdjb2xsZWN0aW9uLXRlbXBsYXRlLWh0bWwnKSk7XG5cbiAgICAgICAgdGhpcy5fdXBkYXRlQWN0aW9uc1N0YXRlQmFzZWRPbk1pbk1heChsaXN0KTtcbiAgICAgICAgbGV0IGl0ZW1zID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG4gICAgICAgIGxldCBtYXhJdGVtcyA9IGxpc3QuZGF0YSgnbWF4Jyk7XG4gICAgICAgIGlmICh0eXBlb2YgbWF4SXRlbXMgIT09ICd1bmRlZmluZWQnICYmIGl0ZW1zLmxlbmd0aCA+PSBtYXhJdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGlzdC5maW5kKCc+IFtkYXRhLWNvbGxlY3Rpb24taG9sZGVyXScpW3Bvc2l0aW9uID09PSAndG9wJyA/ICdwcmVwZW5kJyA6ICdhcHBlbmQnXSh0ZW1wbGF0ZSk7XG4gICAgICAgIHRoaXMucmVpbmRleChsaXN0KTtcblxuICAgICAgICBpdGVtcyA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgICAgICBsZXQgdG9wQWN0aW9uID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJ1tkYXRhLWFjdGlvbi1hZGQ9XCJ0b3BcIl0nKTtcbiAgICAgICAgbGV0IHNvcnRBY3Rpb24gPSBsaXN0LmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnW2RhdGEtYWN0aW9uPVwic29ydFwiXScpO1xuXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0b3BBY3Rpb24ubGVuZ3RoKSB7IHRvcEFjdGlvbi5wYXJlbnQoKS5yZW1vdmVDbGFzcygnaGlkZGVuJyk7IH1cbiAgICAgICAgICAgIGlmIChzb3J0QWN0aW9uLmxlbmd0aCAmJiBpdGVtcy5sZW5ndGggPiAxKSB7IHNvcnRBY3Rpb24ucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZWZyZXNoIHRvZ2dsZWFibGVzIGluIGEgbGlzdFxuICAgICAgICAkKCdbZGF0YS1ncmF2LWZpZWxkPVwidG9nZ2xlYWJsZVwiXSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICB9XG5cbiAgICByZW1vdmVJdGVtKGV2ZW50KSB7XG4gICAgICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICBsZXQgaXRlbSA9IGJ1dHRvbi5jbG9zZXN0KCdbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG4gICAgICAgIGxldCBsaXN0ID0gJChidXR0b24uY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKSk7XG5cbiAgICAgICAgbGV0IGl0ZW1zID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJz4gdWwgPiBbZGF0YS1jb2xsZWN0aW9uLWl0ZW1dJyk7XG4gICAgICAgIGxldCBtaW5JdGVtcyA9IGxpc3QuZGF0YSgnbWluJyk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBtaW5JdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgaXRlbXMubGVuZ3RoIDw9IG1pbkl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpdGVtLnJlbW92ZSgpO1xuICAgICAgICB0aGlzLnJlaW5kZXgobGlzdCk7XG5cbiAgICAgICAgaXRlbXMgPSBsaXN0LmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcbiAgICAgICAgbGV0IHRvcEFjdGlvbiA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCdbZGF0YS1hY3Rpb24tYWRkPVwidG9wXCJdJyk7XG4gICAgICAgIGxldCBzb3J0QWN0aW9uID0gbGlzdC5jbG9zZXN0KCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpLmZpbmQoJ1tkYXRhLWFjdGlvbj1cInNvcnRcIl0nKTtcblxuICAgICAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRvcEFjdGlvbi5sZW5ndGgpIHsgdG9wQWN0aW9uLnBhcmVudCgpLmFkZENsYXNzKCdoaWRkZW4nKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNvcnRBY3Rpb24ubGVuZ3RoICYmIGl0ZW1zLmxlbmd0aCA8PSAxKSB7IHNvcnRBY3Rpb24uYWRkQ2xhc3MoJ2hpZGRlbicpOyB9XG4gICAgICAgIHRoaXMuX3VwZGF0ZUFjdGlvbnNTdGF0ZUJhc2VkT25NaW5NYXgobGlzdCk7XG4gICAgfVxuXG4gICAgY29sbGFwc2VJdGVtcyhldmVudCkge1xuICAgICAgICBsZXQgYnV0dG9uID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgbGV0IGl0ZW1zID0gJChidXR0b24uY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKSkuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0gPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImNvbGxhcHNlXCJdJyk7XG5cbiAgICAgICAgaXRlbXMuY2xpY2soKTtcbiAgICB9XG5cbiAgICBjb2xsYXBzZUl0ZW0oZXZlbnQpIHtcbiAgICAgICAgbGV0IGJ1dHRvbiA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgIGxldCBpdGVtID0gYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcblxuICAgICAgICBidXR0b24uYXR0cignZGF0YS1hY3Rpb24nLCAnZXhwYW5kJykucmVtb3ZlQ2xhc3MoJ2ZhLWNoZXZyb24tY2lyY2xlLWRvd24nKS5hZGRDbGFzcygnZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQnKTtcbiAgICAgICAgaXRlbS5hZGRDbGFzcygnY29sbGVjdGlvbi1jb2xsYXBzZWQnKTtcbiAgICB9XG5cbiAgICBleHBhbmRJdGVtcyhldmVudCkge1xuICAgICAgICBsZXQgYnV0dG9uID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgbGV0IGl0ZW1zID0gJChidXR0b24uY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKSkuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0gPiAuaXRlbS1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImV4cGFuZFwiXScpO1xuXG4gICAgICAgIGl0ZW1zLmNsaWNrKCk7XG4gICAgfVxuXG4gICAgZXhwYW5kSXRlbShldmVudCkge1xuICAgICAgICBsZXQgYnV0dG9uID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgbGV0IGl0ZW0gPSBidXR0b24uY2xvc2VzdCgnW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuXG4gICAgICAgIGJ1dHRvbi5hdHRyKCdkYXRhLWFjdGlvbicsICdjb2xsYXBzZScpLnJlbW92ZUNsYXNzKCdmYS1jaGV2cm9uLWNpcmNsZS1yaWdodCcpLmFkZENsYXNzKCdmYS1jaGV2cm9uLWNpcmNsZS1kb3duJyk7XG4gICAgICAgIGl0ZW0ucmVtb3ZlQ2xhc3MoJ2NvbGxlY3Rpb24tY29sbGFwc2VkJyk7XG4gICAgfVxuXG4gICAgc29ydEl0ZW1zKGV2ZW50KSB7XG4gICAgICAgIGxldCBidXR0b24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICBsZXQgc29ydGJ5ID0gYnV0dG9uLmRhdGEoJ2FjdGlvbi1zb3J0Jyk7XG4gICAgICAgIGxldCBzb3J0YnlfZGlyID0gYnV0dG9uLmRhdGEoJ2FjdGlvbi1zb3J0LWRpcicpIHx8ICdhc2MnO1xuICAgICAgICBsZXQgbGlzdCA9ICQoYnV0dG9uLmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykpO1xuICAgICAgICBsZXQgaXRlbXMgPSBsaXN0LmNsb3Nlc3QoJ1tkYXRhLXR5cGU9XCJjb2xsZWN0aW9uXCJdJykuZmluZCgnPiB1bCA+IFtkYXRhLWNvbGxlY3Rpb24taXRlbV0nKTtcblxuICAgICAgICBpdGVtcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICBsZXQgQSA9ICQoYSkuZmluZCgnW25hbWUkPVwiWycgKyBzb3J0YnkgKyAnXVwiXScpO1xuICAgICAgICAgICAgbGV0IEIgPSAkKGIpLmZpbmQoJ1tuYW1lJD1cIlsnICsgc29ydGJ5ICsgJ11cIl0nKTtcbiAgICAgICAgICAgIGxldCBzb3J0O1xuXG4gICAgICAgICAgICBpZiAoc29ydGJ5X2RpciA9PT0gJ2FzYycpIHtcbiAgICAgICAgICAgICAgICBzb3J0ID0gKEEudmFsKCkgPCBCLnZhbCgpKSA/IC0xIDogKEEudmFsKCkgPiBCLnZhbCgpKSA/IDEgOiAwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzb3J0ID0gKEEudmFsKCkgPiBCLnZhbCgpKSA/IC0xIDogKEEudmFsKCkgPCBCLnZhbCgpKSA/IDEgOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc29ydDtcbiAgICAgICAgfSkuZWFjaCgoXywgY29udGFpbmVyKSA9PiB7XG4gICAgICAgICAgICAkKGNvbnRhaW5lcikucGFyZW50KCkuYXBwZW5kKGNvbnRhaW5lcik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVpbmRleChsaXN0KTtcbiAgICB9XG5cbiAgICBvYnNlcnZlS2V5KGV2ZW50KSB7XG4gICAgICAgIGxldCBpbnB1dCA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IHZhbHVlID0gaW5wdXQudmFsKCk7XG4gICAgICAgIGxldCBpdGVtID0gaW5wdXQuY2xvc2VzdCgnW2RhdGEtY29sbGVjdGlvbi1rZXldJyk7XG5cbiAgICAgICAgaXRlbS5kYXRhKCdjb2xsZWN0aW9uLWtleS1iYWNrdXAnLCBpdGVtLmRhdGEoJ2NvbGxlY3Rpb24ta2V5JykpLmRhdGEoJ2NvbGxlY3Rpb24ta2V5JywgdmFsdWUpO1xuICAgICAgICB0aGlzLnJlaW5kZXgobnVsbCwgaXRlbSk7XG4gICAgfVxuXG4gICAgcmVpbmRleChsaXN0LCBpdGVtcykge1xuICAgICAgICBpdGVtcyA9IGl0ZW1zIHx8ICQobGlzdCkuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuXG4gICAgICAgIGl0ZW1zLmVhY2goKGluZGV4LCBpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtID0gJChpdGVtKTtcblxuICAgICAgICAgICAgbGV0IG9ic2VydmVkID0gaXRlbS5maW5kKCdbZGF0YS1rZXktb2JzZXJ2ZV0nKTtcbiAgICAgICAgICAgIGxldCBvYnNlcnZlZFZhbHVlID0gb2JzZXJ2ZWQudmFsKCk7XG4gICAgICAgICAgICBsZXQgaGFzQ3VzdG9tS2V5ID0gb2JzZXJ2ZWQubGVuZ3RoO1xuICAgICAgICAgICAgbGV0IGN1cnJlbnRLZXkgPSBpdGVtLmRhdGEoJ2NvbGxlY3Rpb24ta2V5LWJhY2t1cCcpO1xuXG4gICAgICAgICAgICBpdGVtLmF0dHIoJ2RhdGEtY29sbGVjdGlvbi1rZXknLCBoYXNDdXN0b21LZXkgPyBvYnNlcnZlZFZhbHVlIDogaW5kZXgpO1xuXG4gICAgICAgICAgICBbJ25hbWUnLCAnZGF0YS1ncmF2LWZpZWxkLW5hbWUnLCAnZm9yJywgJ2lkJywgJ2RhdGEtZ3Jhdi1maWxlLXNldHRpbmdzJywgJ2RhdGEtZ3Jhdi1hcnJheS1uYW1lJ10uZm9yRWFjaCgocHJvcCkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmluZCgnWycgKyBwcm9wICsgJ10sIFtfJyArIHByb3AgKyAnXScpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBlbGVtZW50ID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGFycmF5X2luZGV4ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlZ2V4cHMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgUmVnRXhwKCdcXFxcWyhcXFxcZCt8XFxcXCp8JyArIGN1cnJlbnRLZXkgKyAnKVxcXFxdJywgJ2cnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBSZWdFeHAoJ1xcXFwuKFxcXFxkK3xcXFxcKnwnICsgY3VycmVudEtleSArICcpXFxcXC4nLCAnZycpXG4gICAgICAgICAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gc3BlY2lhbCBjYXNlIHRvIHByZXNlcnZlIGFycmF5IGZpZWxkIGluZGV4IGtleXNcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICduYW1lJyAmJiBlbGVtZW50LmRhdGEoJ2dyYXZBcnJheVR5cGUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hfaW5kZXggPSBlbGVtZW50LmF0dHIocHJvcCkubWF0Y2goL1xcW1swLTldezEsfVxcXSQvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdHRlcm4gPSBlbGVtZW50WzBdLmNsb3Nlc3QoJ1tkYXRhLWdyYXYtYXJyYXktbmFtZV0nKS5kYXRhc2V0LmdyYXZBcnJheU5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hfaW5kZXggJiYgcGF0dGVybikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X2luZGV4ID0gbWF0Y2hfaW5kZXhbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hdHRyKHByb3AsIGAke3BhdHRlcm59JHttYXRjaF9pbmRleFswXX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzQ3VzdG9tS2V5ICYmICFvYnNlcnZlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmF0dHIoYF8ke3Byb3B9YCwgZWxlbWVudC5hdHRyKHByb3ApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0cihwcm9wLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmF0dHIoYF8ke3Byb3B9YCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0cihwcm9wLCBlbGVtZW50LmF0dHIoYF8ke3Byb3B9YCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hdHRyKGBfJHtwcm9wfWAsIG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5wYXJlbnRzKCdbZGF0YS1jb2xsZWN0aW9uLWtleV0nKS5tYXAoKGlkeCwgcGFyZW50KSA9PiBpbmRleGVzLnB1c2goJChwYXJlbnQpLmF0dHIoJ2RhdGEtY29sbGVjdGlvbi1rZXknKSkpO1xuICAgICAgICAgICAgICAgICAgICBpbmRleGVzLnJldmVyc2UoKTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgbWF0Y2hlZEtleSA9IGN1cnJlbnRLZXk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZXBsYWNlZCA9IGVsZW1lbnQuYXR0cihwcm9wKS5yZXBsYWNlKHJlZ2V4cHNbMF0sICgvKiBzdHIsIHAxLCBvZmZzZXQgKi8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRyYXMgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcnJheV9pbmRleCkgeyBleHRyYXMgPSBhcnJheV9pbmRleDsgY29uc29sZS5sb2coaW5kZXhlcywgZXh0cmFzKTsgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVkS2V5ID0gaW5kZXhlcy5zaGlmdCgpIHx8IG1hdGNoZWRLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFske21hdGNoZWRLZXl9XSR7ZXh0cmFzfWA7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlcGxhY2VkID0gcmVwbGFjZWQucmVwbGFjZShyZWdleHBzWzFdLCAoLyogc3RyLCBwMSwgb2Zmc2V0ICovKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVkS2V5ID0gaW5kZXhlcy5zaGlmdCgpIHx8IG1hdGNoZWRLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYC4ke21hdGNoZWRLZXl9LmA7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0cihwcm9wLCByZXBsYWNlZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX29uQWRkZWROb2RlcyhldmVudCwgdGFyZ2V0LyogLCByZWNvcmQsIGluc3RhbmNlICovKSB7XG4gICAgICAgIGxldCBjb2xsZWN0aW9ucyA9ICQodGFyZ2V0KS5maW5kKCdbZGF0YS10eXBlPVwiY29sbGVjdGlvblwiXScpO1xuICAgICAgICBpZiAoIWNvbGxlY3Rpb25zLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgICAgICBjb2xsZWN0aW9ucy5lYWNoKChpbmRleCwgY29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgICAgY29sbGVjdGlvbiA9ICQoY29sbGVjdGlvbik7XG4gICAgICAgICAgICBpZiAoIX50aGlzLmxpc3RzLmluZGV4KGNvbGxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRMaXN0KGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfdXBkYXRlQWN0aW9uc1N0YXRlQmFzZWRPbk1pbk1heChsaXN0KSB7XG4gICAgICAgIGxldCBpdGVtcyA9IGxpc3QuY2xvc2VzdCgnW2RhdGEtdHlwZT1cImNvbGxlY3Rpb25cIl0nKS5maW5kKCc+IHVsID4gW2RhdGEtY29sbGVjdGlvbi1pdGVtXScpO1xuICAgICAgICBsZXQgbWluSXRlbXMgPSBsaXN0LmRhdGEoJ21pbicpO1xuICAgICAgICBsZXQgbWF4SXRlbXMgPSBsaXN0LmRhdGEoJ21heCcpO1xuXG4gICAgICAgIGxpc3QuZmluZCgnPiAuY29sbGVjdGlvbi1hY3Rpb25zIFtkYXRhLWFjdGlvbj1cImFkZFwiXScpLmF0dHIoJ2Rpc2FibGVkJywgZmFsc2UpO1xuICAgICAgICBsaXN0LmZpbmQoJz4gdWwgPiBsaSA+IC5pdGVtLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiZGVsZXRlXCJdJykuYXR0cignZGlzYWJsZWQnLCBmYWxzZSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBtaW5JdGVtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgaXRlbXMubGVuZ3RoIDw9IG1pbkl0ZW1zKSB7XG4gICAgICAgICAgICBsaXN0LmZpbmQoJz4gdWwgPiBsaSA+IC5pdGVtLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiZGVsZXRlXCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbWF4SXRlbXMgIT09ICd1bmRlZmluZWQnICYmIGl0ZW1zLmxlbmd0aCA+PSBtYXhJdGVtcykge1xuICAgICAgICAgICAgbGlzdC5maW5kKCc+IC5jb2xsZWN0aW9uLWFjdGlvbnMgW2RhdGEtYWN0aW9uPVwiYWRkXCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGxldCBJbnN0YW5jZSA9IG5ldyBDb2xsZWN0aW9uc0ZpZWxkKCk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/collections.js\n"); /***/ }), /***/ "./app/forms/fields/colorpicker.js": /*!*****************************************!*\ !*** ./app/forms/fields/colorpicker.js ***! \*****************************************/ /*! namespace exports */ /*! export Instance [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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\": () => /* binding */ ColorpickerField,\n/* harmony export */ \"Instance\": () => /* binding */ Instance\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\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';\n\nvar ColorpickerField = /*#__PURE__*/function () {\n function ColorpickerField(selector) {\n var _this = this;\n\n _classCallCheck(this, ColorpickerField);\n\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\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\n if (opacity < 1) {\n backgroundColor = 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + opacity + ')';\n }\n\n var target = field.closest(_this.options.update);\n\n if (!target.length) {\n target = field.siblings(_this.options.update);\n }\n\n if (!target.length) {\n target = field.parent('.g-colorpicker').find(_this.options.update);\n }\n\n target.css({\n backgroundColor: backgroundColor\n });\n });\n }\n }\n\n _createClass(ColorpickerField, [{\n key: \"attach\",\n value: function attach() {\n var _this2 = this;\n\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\n break;\n\n case 13: // enter\n\n case 27:\n // esc\n _this2.hide();\n\n event.currentTarget.blur();\n break;\n }\n\n return true;\n }); // Update on keyup\n\n body.on('keyup', this.selector, function (event) {\n _this2.updateFromInput(true, event.currentTarget);\n\n return true;\n }); // Update on paste\n\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\n if (!this.built) {\n this.build();\n }\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\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\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\n if (element.is(_this3.tabs.transparent)) {\n var sliderHeight = _this3.opacitySlider.height();\n\n _this3.opacity = 0;\n\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\n _this3.move(_this3.opacitySlider, {\n manualOpacity: true\n });\n\n return;\n }\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\n _this3.wrapper.removeClass('cp-mode-' + mode).addClass('cp-mode-' + newMode);\n\n active.removeClass('active');\n element.addClass('active');\n _this3.mode = newMode;\n\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\n if (this.options.offset) {\n delta.x = this.options.offset.x || 0;\n delta.y = this.options.offset.y || 0;\n }\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\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\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\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; // Touch support\n\n var touchEvents = event.changedTouches || event.originalEvent && event.originalEvent.changedTouches;\n\n if (event && touchEvents) {\n x = (touchEvents ? touchEvents[0].pageX : 0) - offsetX;\n y = (touchEvents ? touchEvents[0].pageY : 0) - offsetY;\n }\n\n if (event && event.manualOpacity) {\n y = clientRect.height;\n } // Constrain picker to its container\n\n\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; // Constrain color wheel values to the wheel\n\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\n if (r > 75) {\n x = 75 - 75 * Math.cos(phi);\n y = 75 - 75 * Math.sin(phi);\n }\n\n x = Math.round(x);\n y = Math.round(y);\n } // Move the picker\n\n\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\n if (!(hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.parseHex)(value))) {\n hex = '#ffffff';\n }\n\n hsb = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.hex2hsb)(hex);\n\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 }); // bg color\n\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\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 }); // Set slider position\n\n y = 150 - hsb.b / (100 / gridHeight);\n if (hex === '') y = 0;\n this.slider.find('.cp-picker').css({\n top: y\n }); // Update panel color\n\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\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 }); // Set slider position\n\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 }); // Update UI\n\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\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 }); // Set slider position\n\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 }); // Update UI\n\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\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 }); // Set slider position\n\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 }); // Update panel color\n\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\n if (!dontFireEvent) {\n element.val(this.getValue(hex));\n }\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\n var hex;\n var hue;\n var saturation;\n var brightness;\n var x;\n var y;\n var r;\n var phi; // Panel objects\n\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'); // Picker objects\n\n var gridPicker = grid.find('.cp-picker');\n var sliderPicker = slider.find('.cp-picker');\n var opacityPicker = opacitySlider.find('.cp-picker'); // Picker positions\n\n var gridPos = getCoords(gridPicker, grid);\n var sliderPos = getCoords(sliderPicker, slider);\n var opacityPos = getCoords(opacityPicker, opacitySlider); // Sizes\n\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\n if (!(hex = (0,_utils_colors__WEBPACK_IMPORTED_MODULE_3__.parseHex)(value))) {\n hex = '#ffffff';\n } // Handle colors\n\n\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\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\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 }); // Update UI\n\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\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 }); // Update UI\n\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\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 }); // Update UI\n\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\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 }); // Update UI\n\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 } // Handle opacity\n\n\n if (target.hasClass('cp-opacity-slider')) {\n this.opacity = parseFloat(1 - opacityPos.y / opacitySliderHeight).toFixed(2);\n } // Adjust case\n\n\n input.val(this.getValue(hex)); // Handle change event\n\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\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 return ColorpickerField;\n}();\n\n\nvar Instance = new ColorpickerField('[data-grav-colorpicker]');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9jb2xvcnBpY2tlci5qcz9iYTk4Il0sIm5hbWVzIjpbImlzRmlyZWZveCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInRvTG93ZXJDYXNlIiwiaW5kZXhPZiIsImJvZHkiLCIkIiwiTU9VU0VET1dOIiwiTU9VU0VNT1ZFIiwiTU9VU0VVUCIsIkZPQ1VTSU4iLCJDb2xvcnBpY2tlckZpZWxkIiwic2VsZWN0b3IiLCJmaWVsZCIsIm9wdGlvbnMiLCJPYmplY3QiLCJhc3NpZ24iLCJkYXRhIiwiYnVpbHQiLCJhdHRhY2giLCJ1cGRhdGUiLCJvbiIsImV2ZW50IiwiaGV4Iiwib3BhY2l0eSIsImJhY2tncm91bmRDb2xvciIsInJnYiIsImhleDJyZ2IiLCJyIiwiZyIsImIiLCJ0YXJnZXQiLCJjbG9zZXN0IiwibGVuZ3RoIiwic2libGluZ3MiLCJwYXJlbnQiLCJmaW5kIiwiY3NzIiwic2hvdyIsImN1cnJlbnRUYXJnZXQiLCJib3VuZCIsImtleUNvZGUiLCJoaWRlIiwiYmx1ciIsInVwZGF0ZUZyb21JbnB1dCIsInNldFRpbWVvdXQiLCJidWlsZCIsImVsZW1lbnQiLCJyZXBvc2l0aW9uIiwid3JhcHBlciIsImFkZENsYXNzIiwicmVtb3ZlQ2xhc3MiLCJ1bmRlbGVnYXRlIiwib2ZmIiwic2xpZGVyIiwiYXBwZW5kVG8iLCJhcHBlbmQiLCJvcGFjaXR5U2xpZGVyIiwiZ3JpZCIsInRhYnMiLCJodWUiLCJ0ZXh0IiwiYnJpZ2h0bmVzcyIsInNhdHVyYXRpb24iLCJ3aGVlbCIsInRyYW5zcGFyZW50IiwiaXMiLCJzbGlkZXJIZWlnaHQiLCJoZWlnaHQiLCJjbGFtcCIsIm1vdmUiLCJtYW51YWxPcGFjaXR5IiwiYWN0aXZlIiwibW9kZSIsImF0dHIiLCJyZXBsYWNlIiwibmV3TW9kZSIsImN0Iiwib2Zmc2V0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY3RPZmZzZXQiLCJkZWx0YSIsIngiLCJ5IiwidG9wIiwic2Nyb2xsVG9wIiwibGVmdCIsInNjcm9sbExlZnQiLCJoYXNDbGFzcyIsInByZXZlbnREZWZhdWx0IiwiaW5wdXQiLCJmb2N1cyIsInBpY2tlciIsImNsaWVudFJlY3QiLCJvZmZzZXRYIiwid2luZG93Iiwic2Nyb2xsWCIsIm9mZnNldFkiLCJzY3JvbGxZIiwiTWF0aCIsInJvdW5kIiwicGFnZVgiLCJwYWdlWSIsInd4Iiwid3kiLCJwaGkiLCJ0b3VjaEV2ZW50cyIsImNoYW5nZWRUb3VjaGVzIiwib3JpZ2luYWxFdmVudCIsIndpZHRoIiwic3FydCIsImF0YW4yIiwiUEkiLCJjb3MiLCJzaW4iLCJ1cGRhdGVGcm9tUGlja2VyIiwiZG9udEZpcmVFdmVudCIsInZhbHVlIiwidmFsIiwibWF0Y2giLCJoc2IiLCJyZ2JzdHIyaGV4IiwicGFyc2VIZXgiLCJoZXgyaHNiIiwiZ3JpZEhlaWdodCIsImdyaWRXaWR0aCIsImNlaWwiLCJzIiwiaCIsImhzYjJoZXgiLCJnZXRWYWx1ZSIsInRyaWdnZXIiLCJnZXRDb29yZHMiLCJjb250YWluZXIiLCJvZmZzZXRXaWR0aCIsIm9mZnNldEhlaWdodCIsImdyaWRQaWNrZXIiLCJzbGlkZXJQaWNrZXIiLCJvcGFjaXR5UGlja2VyIiwiZ3JpZFBvcyIsInNsaWRlclBvcyIsIm9wYWNpdHlQb3MiLCJvcGFjaXR5U2xpZGVySGVpZ2h0IiwiZmxvb3IiLCJwYXJzZUludCIsInBhcnNlRmxvYXQiLCJ0b0ZpeGVkIiwibmFtZSIsIl9ib3VuZCIsImJpbmQiLCJJbnN0YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFNQSxTQUFTLEdBQUdDLFNBQVMsQ0FBQ0MsU0FBVixDQUFvQkMsV0FBcEIsR0FBa0NDLE9BQWxDLENBQTBDLFNBQTFDLElBQXVELENBQUMsQ0FBMUU7QUFDQSxJQUFNQyxJQUFJLEdBQUdDLDZDQUFDLENBQUMsTUFBRCxDQUFkO0FBRUEsSUFBTUMsU0FBUyxHQUFHLGdEQUFsQjtB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ci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgY2xhbXAgZnJvbSAnbW91dC9tYXRoL2NsYW1wJztcbmltcG9ydCBiaW5kIGZyb20gJ21vdXQvZnVuY3Rpb24vYmluZCc7XG5pbXBvcnQgeyByZ2JzdHIyaGV4LCBoc2IyaGV4LCBoZXgyaHNiLCBoZXgycmdiLCBwYXJzZUhleCB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5cbmNvbnN0IGlzRmlyZWZveCA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdmaXJlZm94JykgPiAtMTtcbmNvbnN0IGJvZHkgPSAkKCdib2R5Jyk7XG5cbmNvbnN0IE1PVVNFRE9XTiA9ICdtb3VzZWRvd24gdG91Y2hzdGFydCBNU1BvaW50ZXJEb3duIHBvaW50ZXJkb3duJztcbmNvbnN0IE1PVVNFTU9WRSA9ICdtb3VzZW1vdmUgdG91Y2htb3ZlIE1TUG9pbnRlck1vdmUgcG9pbnRlcm1vdmUnO1xuY29uc3QgTU9VU0VVUCA9ICdtb3VzZXVwIHRvdWNoZW5kIE1TUG9pbnRlclVwIHBvaW50ZXJ1cCc7XG5jb25zdCBGT0NVU0lOID0gaXNGaXJlZm94ID8gJ2ZvY3VzJyA6ICdmb2N1c2luJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sb3JwaWNrZXJGaWVsZCB7XG4gICAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgICAgICB0aGlzLmZpZWxkID0gJCh0aGlzLnNlbGVjdG9yKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5maWVsZC5kYXRhKCdncmF2LWNvbG9ycGlja2VyJykpO1xuICAgICAgICB0aGlzLmJ1aWx0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYXR0YWNoKCk7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy51cGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQub24oJ2NoYW5nZS5fZ3Jhdl9jb2xvcnBpY2tlcicsIChldmVudCwgZmllbGQsIGhleCwgb3BhY2l0eSkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSBoZXg7XG4gICAgICAgICAgICAgICAgbGV0IHJnYiA9IGhleDJyZ2IoaGV4KTtcblxuICAgICAgICAgICAgICAgIGlmIChvcGFjaXR5IDwgMSkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgnICsgcmdiLnIgKyAnLCAnICsgcmdiLmcgKyAnLCAnICsgcmdiLmIgKyAnLCAnICsgb3BhY2l0eSArICcpJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gZmllbGQuY2xvc2VzdCh0aGlzLm9wdGlvbnMudXBkYXRlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gZmllbGQuc2libGluZ3ModGhpcy5vcHRpb25zLnVwZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSBmaWVsZC5wYXJlbnQoJy5nLWNvbG9ycGlja2VyJykuZmluZCh0aGlzLm9wdGlvbnMudXBkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0YXJnZXQuY3NzKHsgYmFja2dyb3VuZENvbG9yIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhdHRhY2goKSB7XG4gICAgICAgIGJvZHkub24oRk9DVVNJTiwgdGhpcy5zZWxlY3RvciwgKGV2ZW50KSA9PiB0aGlzLnNob3coZXZlbnQsIGV2ZW50LmN1cnJlbnRUYXJnZXQpKTtcbiAgICAgICAgYm9keS5vbihNT1VTRURPV04sIHRoaXMuc2VsZWN0b3IgKyAnIC5nLWNvbG9ycGlja2VyLCAnICsgdGhpcy5zZWxlY3RvciArICcgLmctY29sb3JwaWNrZXIgaScsIHRoaXMuYm91bmQoJ2ljb25DbGljaycpKTtcbiAgICAgICAgYm9keS5vbigna2V5ZG93bicsIHRoaXMuc2VsZWN0b3IsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSA5OiAvLyB0YWJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgMTM6IC8vIGVudGVyXG4gICAgICAgICAgICAgICAgY2FzZSAyNzogLy8gZXNjXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVXBkYXRlIG9uIGtleXVwXG4gICAgICAgIGJvZHkub24oJ2tleXVwJywgdGhpcy5zZWxlY3RvciwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZyb21JbnB1dCh0cnVlLCBldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBVcGRhdGUgb24gcGFzdGVcbiAgICAgICAgYm9keS5vbigncGFzdGUnLCB0aGlzLnNlbGVjdG9yLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVGcm9tSW5wdXQodHJ1ZSwgZXZlbnQuY3VycmVudFRhcmdldCksIDEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaG93KGV2ZW50LCB0YXJnZXQpIHtcbiAgICAgICAgdGFyZ2V0ID0gJCh0YXJnZXQpO1xuXG4gICAgICAgIGlmICghdGhpcy5idWlsdCkge1xuICAgICAgICAgICAgdGhpcy5idWlsZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGFyZ2V0O1xuICAgICAgICB0aGlzLnJlcG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy53cmFwcGVyLmFkZENsYXNzKCdjcC12aXNpYmxlJyk7XG4gICAgICAgIHRoaXMudXBkYXRlRnJvbUlucHV0KCk7XG5cbiAgICAgICAgdGhpcy53cmFwcGVyLm9uKE1PVVNFRE9XTiwgJy5jcC1ncmlkLCAuY3Atc2xpZGVyLCAuY3Atb3BhY2l0eS1zbGlkZXInLCB0aGlzLmJvdW5kKCdib2R5RG93bicpKTtcbiAgICAgICAgYm9keS5vbihNT1VTRU1PVkUsIHRoaXMuYm91bmQoJ2JvZHlNb3ZlJykpO1xuICAgICAgICBib2R5Lm9uKE1PVVNFRE9XTiwgdGhpcy5ib3VuZCgnYm9keUNsaWNrJykpO1xuICAgICAgICBib2R5Lm9uKE1PVVNFVVAsIHRoaXMuYm91bmQoJ3RhcmdldFJlc2V0JykpO1xuICAgICAgICAkKCcjYWRtaW4tbWFpbiA+IC5jb250ZW50LXdyYXBwZXInKS5vbignc2Nyb2xsJywgdGhpcy5ib3VuZCgncmVwb3NpdGlvbicpKTtcbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuYnVpbHQpIHsgcmV0dXJuOyB9XG4gICAgICAgIHRoaXMud3JhcHBlci5yZW1vdmVDbGFzcygnY3AtdmlzaWJsZScpO1xuXG4gICAgICAgIHRoaXMud3JhcHBlci51bmRlbGVnYXRlKE1PVVNFRE9XTiwgJy5jcC1ncmlkLCAuY3Atc2xpZGVyLCAuY3Atb3BhY2l0eS1zbGlkZXInLCB0aGlzLmJvdW5kKCdib2R5RG93bicpKTtcbiAgICAgICAgYm9keS5vZmYoTU9VU0VNT1ZFLCB0aGlzLmJvdW5kKCdib2R5TW92ZScpKTtcbiAgICAgICAgYm9keS5vZmYoTU9VU0VET1dOLCB0aGlzLmJvdW5kKCdib2R5Q2xpY2snKSk7XG4gICAgICAgIGJvZHkub2ZmKE1PVVNFVVAsIHRoaXMuYm91bmQoJ3RhcmdldFJlc2V0JykpO1xuICAgICAgICAkKCcjYWRtaW4tbWFpbiA+IC5jb250ZW50LXdyYXBwZXInKS5vbignc2Nyb2xsJywgdGhpcy5ib3VuZCgncmVwb3NpdGlvbicpKTtcbiAgICB9XG5cbiAgICBidWlsZCgpIHtcbiAgICAgICAgdGhpcy53cmFwcGVyID0gJCgnPGRpdiBjbGFzcz1cImNwLXdyYXBwZXIgY3Atd2l0aC1vcGFjaXR5IGNwLW1vZGUtaHVlXCIgLz4nKTtcbiAgICAgICAgdGhpcy5zbGlkZXIgPSAkKCc8ZGl2IGNsYXNzPVwiY3Atc2xpZGVyIGNwLXNwcml0ZVwiIC8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKS5hcHBlbmQoJCgnPGRpdiBjbGFzcz1cImNwLXBpY2tlclwiIC8+JykpO1xuICAgICAgICB0aGlzLm9wYWNpdHlTbGlkZXIgPSAkKCc8ZGl2IGNsYXNzPVwiY3Atb3BhY2l0eS1zbGlkZXIgY3Atc3ByaXRlXCIgLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLmFwcGVuZCgkKCc8ZGl2IGNsYXNzPVwiY3AtcGlja2VyXCIgLz4nKSk7XG4gICAgICAgIHRoaXMuZ3JpZCA9ICQoJzxkaXYgY2xhc3M9XCJjcC1ncmlkIGNwLXNwcml0ZVwiIC8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKS5hcHBlbmQoJCgnPGRpdiBjbGFzcz1cImNwLWdyaWQtaW5uZXJcIiAvPicpKS5hcHBlbmQoJCgnPGRpdiBjbGFzcz1cImNwLXBpY2tlclwiIC8+JykpO1xuXG4gICAgICAgICQoJzxkaXYgLz4nKS5hcHBlbmRUbyh0aGlzLmdyaWQuZmluZCgnLmNwLXBpY2tlcicpKTtcblxuICAgICAgICBsZXQgdGFicyA9ICQoJzxkaXYgY2xhc3M9XCJjcC10YWJzXCIgLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpO1xuICAgICAgICB0aGlzLnRhYnMgPSB7XG4gICAgICAgICAgICBodWU6ICQoJzxkaXYgY2xhc3M9XCJjcC10YWItaHVlIGFjdGl2ZVwiIC8+JykudGV4dCgnSFVFJykuYXBwZW5kVG8odGFicyksXG4gICAgICAgICAgICBicmlnaHRuZXNzOiAkKCc8ZGl2IGNsYXNzPVwiY3AtdGFiLWJyaWdodG5lc3NcIiAvPicpLnRleHQoJ0JSSScpLmFwcGVuZFRvKHRhYnMpLFxuICAgICAgICAgICAgc2F0dXJhdGlvbjogJCgnPGRpdiBjbGFzcz1cImNwLXRhYi1zYXR1cmF0aW9uXCIgLz4nKS50ZXh0KCdTQVQnKS5hcHBlbmRUbyh0YWJzKSxcbiAgICAgICAgICAgIHdoZWVsOiAkKCc8ZGl2IGNsYXNzPVwiY3AtdGFiLXdoZWVsXCIgLz4nKS50ZXh0KCdXSEVFTCcpLmFwcGVuZFRvKHRhYnMpLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQ6ICQoJzxkaXYgY2xhc3M9XCJjcC10YWItdHJhbnNwXCIgLz4nKS50ZXh0KCdUUkFOU1BBUkVOVCcpLmFwcGVuZFRvKHRhYnMpXG4gICAgICAgIH07XG5cbiAgICAgICAgdGFicy5vbihNT1VTRURPV04sICc+IGRpdicsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQuaXModGhpcy50YWJzLnRyYW5zcGFyZW50KSkge1xuICAgICAgICAgICAgICAgIGxldCBzbGlkZXJIZWlnaHQgPSB0aGlzLm9wYWNpdHlTbGlkZXIuaGVpZ2h0KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9wYWNpdHkgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMub3BhY2l0eVNsaWRlci5maW5kKCcuY3AtcGlja2VyJykuY3NzKHsgJ3RvcCc6IGNsYW1wKHNsaWRlckhlaWdodCAtIChzbGlkZXJIZWlnaHQgKiB0aGlzLm9wYWNpdHkpLCAwLCBzbGlkZXJIZWlnaHQpIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZSh0aGlzLm9wYWNpdHlTbGlkZXIsIHsgbWFudWFsT3BhY2l0eTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBhY3RpdmUgPSB0YWJzLmZpbmQoJy5hY3RpdmUnKTtcbiAgICAgICAgICAgIGxldCBtb2RlID0gYWN0aXZlLmF0dHIoJ2NsYXNzJykucmVwbGFjZSgvXFxzfGFjdGl2ZXxjcC10YWItL2csICcnKTtcbiAgICAgICAgICAgIGxldCBuZXdNb2RlID0gZWxlbWVudC5hdHRyKCdjbGFzcycpLnJlcGxhY2UoL1xcc3xhY3RpdmV8Y3AtdGFiLS9nLCAnJyk7XG5cbiAgICAgICAgICAgIHRoaXMud3JhcHBlci5yZW1vdmVDbGFzcygnY3AtbW9kZS0nICsgbW9kZSkuYWRkQ2xhc3MoJ2NwLW1vZGUtJyArIG5ld01vZGUpO1xuICAgICAgICAgICAgYWN0aXZlLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgIGVsZW1lbnQuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuXG4gICAgICAgICAgICB0aGlzLm1vZGUgPSBuZXdNb2RlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGcm9tSW5wdXQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy53cmFwcGVyLmFwcGVuZFRvKCcuY29udGVudC13cmFwcGVyJyk7XG5cbiAgICAgICAgdGhpcy5idWlsdCA9IHRydWU7XG4gICAgICAgIHRoaXMubW9kZSA9ICdodWUnO1xuICAgIH1cblxuICAgIHJlcG9zaXRpb24oKSB7XG4gICAgICAgIGxldCBjdCA9ICQoJy5jb250ZW50LXdyYXBwZXInKVswXTtcbiAgICAgICAgbGV0IG9mZnNldCA9IHRoaXMuZWxlbWVudFswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgbGV0IGN0T2Zmc2V0ID0gY3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGxldCBkZWx0YSA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMub2Zmc2V0KSB7XG4gICAgICAgICAgICBkZWx0YS54ID0gdGhpcy5vcHRpb25zLm9mZnNldC54IHx8IDA7XG4gICAgICAgICAgICBkZWx0YS55ID0gdGhpcy5vcHRpb25zLm9mZnNldC55IHx8IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyYXBwZXIuY3NzKHtcbiAgICAgICAgICAgIHRvcDogb2Zmc2V0LnRvcCArIG9mZnNldC5oZWlnaHQgKyBjdC5zY3JvbGxUb3AgLSBjdE9mZnNldC50b3AgKyBkZWx0YS55LFxuICAgICAgICAgICAgbGVmdDogb2Zmc2V0LmxlZnQgKyBjdC5zY3JvbGxMZWZ0IC0gY3RPZmZzZXQubGVmdCArIGRlbHRhLnhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWNvbkNsaWNrKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLndyYXBwZXIgJiYgdGhpcy53cmFwcGVyLmhhc0NsYXNzKCdjcC12aXNpYmxlJykpIHsgcmV0dXJuIHRydWU7IH1cblxuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGxldCBpbnB1dCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCkuZmluZCgnaW5wdXQnKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBpbnB1dC5mb2N1cygpLCA1MCk7XG4gICAgfVxuXG4gICAgYm9keU1vdmUoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQgJiYgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy50YXJnZXQpIHsgdGhpcy5tb3ZlKHRoaXMudGFyZ2V0LCBldmVudCk7IH1cbiAgICB9XG5cbiAgICBib2R5Q2xpY2soZXZlbnQpIHtcbiAgICAgICAgbGV0IHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTtcblxuICAgICAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcuY3Atd3JhcHBlcicpLmxlbmd0aCAmJiAhdGFyZ2V0LmlzKHRoaXMuc2VsZWN0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJvZHlEb3duKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50ICYmIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy50YXJnZXQgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICB0aGlzLm1vdmUodGhpcy50YXJnZXQsIGV2ZW50LCB0cnVlKTtcbiAgICB9XG5cbiAgICB0YXJnZXRSZXNldChldmVudCkge1xuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbnVsbDtcbiAgICB9XG5cbiAgICBtb3ZlKHRhcmdldCwgZXZlbnQpIHtcbiAgICAgICAgbGV0IGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICBsZXQgcGlja2VyID0gdGFyZ2V0LmZpbmQoJy5jcC1waWNrZXInKTtcbiAgICAgICAgbGV0IGNsaWVudFJlY3QgPSB0YXJnZXRbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGxldCBvZmZzZXRYID0gY2xpZW50UmVjdC5sZWZ0ICsgd2luZG93LnNjcm9sbFg7XG4gICAgICAgIGxldCBvZmZzZXRZID0gY2xpZW50UmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgbGV0IHggPSBNYXRoLnJvdW5kKChldmVudCA/IGV2ZW50LnBhZ2VYIDogMCkgLSBvZmZzZXRYKTtcbiAgICAgICAgbGV0IHkgPSBNYXRoLnJvdW5kKChldmVudCA/IGV2ZW50LnBhZ2VZIDogMCkgLSBvZmZzZXRZKTtcbiAgICAgICAgbGV0IHd4O1xuICAgICAgICBsZXQgd3k7XG4gICAgICAgIGxldCByO1xuICAgICAgICBsZXQgcGhpO1xuXG4gICAgICAgIC8vIFRvdWNoIHN1cHBvcnRcbiAgICAgICAgbGV0IHRvdWNoRXZlbnRzID0gZXZlbnQuY2hhbmdlZFRvdWNoZXMgfHwgKGV2ZW50Lm9yaWdpbmFsRXZlbnQgJiYgZXZlbnQub3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlcyk7XG4gICAgICAgIGlmIChldmVudCAmJiB0b3VjaEV2ZW50cykge1xuICAgICAgICAgICAgeCA9ICh0b3VjaEV2ZW50cyA/IHRvdWNoRXZlbnRzWzBdLnBhZ2VYIDogMCkgLSBvZmZzZXRYO1xuICAgICAgICAgICAgeSA9ICh0b3VjaEV2ZW50cyA/IHRvdWNoRXZlbnRzWzBdLnBhZ2VZIDogMCkgLSBvZmZzZXRZO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50Lm1hbnVhbE9wYWNpdHkpIHtcbiAgICAgICAgICAgIHkgPSBjbGllbnRSZWN0LmhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbnN0cmFpbiBwaWNrZXIgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBpZiAoeCA8IDApIHggPSAwO1xuICAgICAgICBpZiAoeSA8IDApIHkgPSAwO1xuICAgICAgICBpZiAoeCA+IGNsaWVudFJlY3Qud2lkdGgpIHggPSBjbGllbnRSZWN0LndpZHRoO1xuICAgICAgICBpZiAoeSA+IGNsaWVudFJlY3QuaGVpZ2h0KSB5ID0gY2xpZW50UmVjdC5oZWlnaHQ7XG5cbiAgICAgICAgLy8gQ29uc3RyYWluIGNvbG9yIHdoZWVsIHZhbHVlcyB0byB0aGUgd2hlZWxcbiAgICAgICAgaWYgKHRhcmdldC5wYXJlbnQoJy5jcC1tb2RlLXdoZWVsJykubGVuZ3RoICYmIHBpY2tlci5wYXJlbnQoJy5jcC1ncmlkJykubGVuZ3RoKSB7XG4gICAgICAgICAgICB3eCA9IDc1IC0geDtcbiAgICAgICAgICAgIHd5ID0gNzUgLSB5O1xuICAgICAgICAgICAgciA9IE1hdGguc3FydCh3eCAqIHd4ICsgd3kgKiB3eSk7XG4gICAgICAgICAgICBwaGkgPSBNYXRoLmF0YW4yKHd5LCB3eCk7XG5cbiAgICAgICAgICAgIGlmIChwaGkgPCAwKSBwaGkgKz0gTWF0aC5QSSAqIDI7XG4gICAgICAgICAgICBpZiAociA+IDc1KSB7XG4gICAgICAgICAgICAgICAgeCA9IDc1IC0gKDc1ICogTWF0aC5jb3MocGhpKSk7XG4gICAgICAgICAgICAgICAgeSA9IDc1IC0gKDc1ICogTWF0aC5zaW4ocGhpKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHggPSBNYXRoLnJvdW5kKHgpO1xuICAgICAgICAgICAgeSA9IE1hdGgucm91bmQoeSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNb3ZlIHRoZSBwaWNrZXJcbiAgICAgICAgaWYgKHRhcmdldC5oYXNDbGFzcygnY3AtZ3JpZCcpKSB7XG4gICAgICAgICAgICBwaWNrZXIuY3NzKHtcbiAgICAgICAgICAgICAgICB0b3A6IHksXG4gICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnJvbVBpY2tlcihpbnB1dCwgdGFyZ2V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBpY2tlci5jc3Moe1xuICAgICAgICAgICAgICAgIHRvcDogeVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZyb21QaWNrZXIoaW5wdXQsIHRhcmdldCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVGcm9tSW5wdXQoZG9udEZpcmVFdmVudCwgZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50ID0gZWxlbWVudCA/ICQoZWxlbWVudCkgOiB0aGlzLmVsZW1lbnQ7XG4gICAgICAgIGxldCB2YWx1ZSA9IGVsZW1lbnQudmFsKCk7XG4gICAgICAgIGxldCBvcGFjaXR5ID0gdmFsdWUucmVwbGFjZSgvXFxzL2csICcnKS5tYXRjaCgvXnJnYmE/XFwoWzAtOV17MSwzfSxbMC05XXsxLDN9LFswLTldezEsM30sKC4rKVxcKS8pO1xuICAgICAgICBsZXQgaGV4O1xuICAgICAgICBsZXQgaHNiO1xuXG4gICAgICAgIHZhbHVlID0gcmdic3RyMmhleCh2YWx1ZSkgfHwgdmFsdWU7XG4gICAgICAgIG9wYWNpdHkgPSBvcGFjaXR5ID8gY2xhbXAob3BhY2l0eVsxXSwgMCwgMSkgOiAxO1xuXG4gICAgICAgIGlmICghKGhleCA9IHBhcnNlSGV4KHZhbHVlKSkpIHsgaGV4ID0gJyNmZmZmZmYnOyB9XG4gICAgICAgIGhzYiA9IGhleDJoc2IoaGV4KTtcblxuICAgICAgICBpZiAodGhpcy5idWlsdCkge1xuICAgICAgICAgICAgLy8gb3BhY2l0eVxuICAgICAgICAgICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICAgICAgICAgIHZhciBzbGlkZXJIZWlnaHQgPSB0aGlzLm9wYWNpdHlTbGlkZXIuaGVpZ2h0KCk7XG4gICAgICAgICAgICB0aGlzLm9wYWNpdHlTbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7ICd0b3AnOiBjbGFtcChzbGlkZXJIZWlnaHQgLSAoc2xpZGVySGVpZ2h0ICogdGhpcy5vcGFjaXR5KSwgMCwgc2xpZGVySGVpZ2h0KSB9KTtcblxuICAgICAgICAgICAgLy8gYmcgY29sb3JcbiAgICAgICAgICAgIGxldCBncmlkSGVpZ2h0ID0gdGhpcy5ncmlkLmhlaWdodCgpO1xuICAgICAgICAgICAgbGV0IGdyaWRXaWR0aCA9IHRoaXMuZ3JpZC53aWR0aCgpO1xuICAgICAgICAgICAgbGV0IHI7XG4gICAgICAgICAgICBsZXQgcGhpO1xuICAgICAgICAgICAgbGV0IHg7XG4gICAgICAgICAgICBsZXQgeTtcblxuICAgICAgICAgICAgc2xpZGVySGVpZ2h0ID0gdGhpcy5zbGlkZXIuaGVpZ2h0KCk7XG5cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnd2hlZWwnOlxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZ3JpZCBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICByID0gY2xhbXAoTWF0aC5jZWlsKGhzYi5zICogMC43NSksIDAsIGdyaWRIZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgcGhpID0gaHNiLmggKiBNYXRoLlBJIC8gMTgwO1xuICAgICAgICAgICAgICAgICAgICB4ID0gY2xhbXAoNzUgLSBNYXRoLmNvcyhwaGkpICogciwgMCwgZ3JpZFdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKDc1IC0gTWF0aC5zaW4ocGhpKSAqIHIsIDAsIGdyaWRIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuY3NzKHsgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnIH0pLmZpbmQoJy5jcC1waWNrZXInKS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgc2xpZGVyIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHkgPSAxNTAgLSAoaHNiLmIgLyAoMTAwIC8gZ3JpZEhlaWdodCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGV4ID09PSAnJykgeSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmZpbmQoJy5jcC1waWNrZXInKS5jc3MoeyB0b3A6IHkgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHBhbmVsIGNvbG9yXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg6IGhzYi5oLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IGhzYi5zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnc2F0dXJhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBncmlkIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHggPSBjbGFtcCgoNSAqIGhzYi5oKSAvIDEyLCAwLCAxNTApO1xuICAgICAgICAgICAgICAgICAgICB5ID0gY2xhbXAoZ3JpZEhlaWdodCAtIE1hdGguY2VpbChoc2IuYiAvICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIGdyaWRIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHksXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB4XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBzbGlkZXIgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKHNsaWRlckhlaWdodCAtIChoc2IucyAqIChzbGlkZXJIZWlnaHQgLyAxMDApKSwgMCwgc2xpZGVySGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7IHRvcDogeSB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgVUlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHNiLmgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IGhzYi5iXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogaHNiLnMgLyAxMDAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnYnJpZ2h0bmVzcyc6XG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBncmlkIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHggPSBjbGFtcCgoNSAqIGhzYi5oKSAvIDEyLCAwLCAxNTApO1xuICAgICAgICAgICAgICAgICAgICB5ID0gY2xhbXAoZ3JpZEhlaWdodCAtIE1hdGguY2VpbChoc2IucyAvICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIGdyaWRIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHksXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB4XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBzbGlkZXIgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKHNsaWRlckhlaWdodCAtIChoc2IuYiAqIChzbGlkZXJIZWlnaHQgLyAxMDApKSwgMCwgc2xpZGVySGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuZmluZCgnLmNwLXBpY2tlcicpLmNzcyh7IHRvcDogeSB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgVUlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHNiLmgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogaHNiLnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogMSAtIChoc2IuYiAvIDEwMCkgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2h1ZSc6XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGdyaWQgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgeCA9IGNsYW1wKE1hdGguY2VpbChoc2IucyAvICgxMDAgLyBncmlkV2lkdGgpKSwgMCwgZ3JpZFdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgeSA9IGNsYW1wKGdyaWRIZWlnaHQgLSBNYXRoLmNlaWwoaHNiLmIgLyAoMTAwIC8gZ3JpZEhlaWdodCkpLCAwLCBncmlkSGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLmZpbmQoJy5jcC1waWNrZXInKS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogeFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBTZXQgc2xpZGVyIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIHkgPSBjbGFtcChzbGlkZXJIZWlnaHQgLSAoaHNiLmggLyAoMzYwIC8gc2xpZGVySGVpZ2h0KSksIDAsIHNsaWRlckhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyLmZpbmQoJy5jcC1waWNrZXInKS5jc3MoeyB0b3A6IHkgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHBhbmVsIGNvbG9yXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBoc2IuaCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRvbnRGaXJlRXZlbnQpIHsgZWxlbWVudC52YWwodGhpcy5nZXRWYWx1ZShoZXgpKTsgfVxuXG4gICAgICAgICh0aGlzLmVsZW1lbnQgfHwgZWxlbWVudCkudHJpZ2dlcignY2hhbmdlLl9ncmF2X2NvbG9ycGlja2VyJywgW2VsZW1lbnQsIGhleCwgb3BhY2l0eV0pO1xuXG4gICAgfVxuXG4gICAgdXBkYXRlRnJvbVBpY2tlcihpbnB1dCwgdGFyZ2V0KSB7XG4gICAgICAgIHZhciBnZXRDb29yZHMgPSBmdW5jdGlvbihwaWNrZXIsIGNvbnRhaW5lcikge1xuXG4gICAgICAgICAgICB2YXIgbGVmdCwgdG9wO1xuICAgICAgICAgICAgaWYgKCFwaWNrZXIubGVuZ3RoIHx8ICFjb250YWluZXIpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgbGVmdCA9IHBpY2tlclswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICAgICAgdG9wID0gcGlja2VyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB4OiBsZWZ0IC0gY29udGFpbmVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgKyAocGlja2VyWzBdLm9mZnNldFdpZHRoIC8gMiksXG4gICAgICAgICAgICAgICAgeTogdG9wIC0gY29udGFpbmVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIChwaWNrZXJbMF0ub2Zmc2V0SGVpZ2h0IC8gMilcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgaGV4O1xuICAgICAgICBsZXQgaHVlO1xuICAgICAgICBsZXQgc2F0dXJhdGlvbjtcbiAgICAgICAgbGV0IGJyaWdodG5lc3M7XG4gICAgICAgIGxldCB4O1xuICAgICAgICBsZXQgeTtcbiAgICAgICAgbGV0IHI7XG4gICAgICAgIGxldCBwaGk7XG5cbiAgICAgICAgLy8gUGFuZWwgb2JqZWN0c1xuICAgICAgICBsZXQgZ3JpZCA9IHRoaXMud3JhcHBlci5maW5kKCcuY3AtZ3JpZCcpO1xuICAgICAgICBsZXQgc2xpZGVyID0gdGhpcy53cmFwcGVyLmZpbmQoJy5jcC1zbGlkZXInKTtcbiAgICAgICAgbGV0IG9wYWNpdHlTbGlkZXIgPSB0aGlzLndyYXBwZXIuZmluZCgnLmNwLW9wYWNpdHktc2xpZGVyJyk7XG5cbiAgICAgICAgLy8gUGlja2VyIG9iamVjdHNcbiAgICAgICAgbGV0IGdyaWRQaWNrZXIgPSBncmlkLmZpbmQoJy5jcC1waWNrZXInKTtcbiAgICAgICAgbGV0IHNsaWRlclBpY2tlciA9IHNsaWRlci5maW5kKCcuY3AtcGlja2VyJyk7XG4gICAgICAgIGxldCBvcGFjaXR5UGlja2VyID0gb3BhY2l0eVNsaWRlci5maW5kKCcuY3AtcGlja2VyJyk7XG5cbiAgICAgICAgLy8gUGlja2VyIHBvc2l0aW9uc1xuICAgICAgICBsZXQgZ3JpZFBvcyA9IGdldENvb3JkcyhncmlkUGlja2VyLCBncmlkKTtcbiAgICAgICAgbGV0IHNsaWRlclBvcyA9IGdldENvb3JkcyhzbGlkZXJQaWNrZXIsIHNsaWRlcik7XG4gICAgICAgIGxldCBvcGFjaXR5UG9zID0gZ2V0Q29vcmRzKG9wYWNpdHlQaWNrZXIsIG9wYWNpdHlTbGlkZXIpO1xuXG4gICAgICAgIC8vIFNpemVzXG4gICAgICAgIGxldCBncmlkV2lkdGggPSBncmlkWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBsZXQgZ3JpZEhlaWdodCA9IGdyaWRbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgICBsZXQgc2xpZGVySGVpZ2h0ID0gc2xpZGVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgbGV0IG9wYWNpdHlTbGlkZXJIZWlnaHQgPSBvcGFjaXR5U2xpZGVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmVsZW1lbnQudmFsKCk7XG4gICAgICAgIHZhbHVlID0gcmdic3RyMmhleCh2YWx1ZSkgfHwgdmFsdWU7XG4gICAgICAgIGlmICghKGhleCA9IHBhcnNlSGV4KHZhbHVlKSkpIHsgaGV4ID0gJyNmZmZmZmYnOyB9XG5cbiAgICAgICAgLy8gSGFuZGxlIGNvbG9yc1xuICAgICAgICBpZiAodGFyZ2V0Lmhhc0NsYXNzKCdjcC1ncmlkJykgfHwgdGFyZ2V0Lmhhc0NsYXNzKCdjcC1zbGlkZXInKSkge1xuXG4gICAgICAgICAgICAvLyBEZXRlcm1pbmUgSFNCIHZhbHVlc1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICd3aGVlbCc6XG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBodWUsIHNhdHVyYXRpb24sIGFuZCBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIHggPSAoZ3JpZFdpZHRoIC8gMikgLSBncmlkUG9zLng7XG4gICAgICAgICAgICAgICAgICAgIHkgPSAoZ3JpZEhlaWdodCAvIDIpIC0gZ3JpZFBvcy55O1xuICAgICAgICAgICAgICAgICAgICByID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkpO1xuICAgICAgICAgICAgICAgICAgICBwaGkgPSBNYXRoLmF0YW4yKHksIHgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocGhpIDwgMCkgcGhpICs9IE1hdGguUEkgKiAyO1xuICAgICAgICAgICAgICAgICAgICBpZiAociA+IDc1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByID0gNzU7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkUG9zLnggPSA2OSAtICg3NSAqIE1hdGguY29zKHBoaSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZFBvcy55ID0gNjkgLSAoNzUgKiBNYXRoLnNpbihwaGkpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzYXR1cmF0aW9uID0gY2xhbXAociAvIDAuNzUsIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGh1ZSA9IGNsYW1wKHBoaSAqIDE4MCAvIE1hdGguUEksIDAsIDM2MCk7XG4gICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MgPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKHNsaWRlclBvcy55ICogKDEwMCAvIHNsaWRlckhlaWdodCkpLCAwLCAxMDApO1xuICAgICAgICAgICAgICAgICAgICBoZXggPSBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGg6IGh1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHM6IHNhdHVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBiOiBicmlnaHRuZXNzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBVSVxuICAgICAgICAgICAgICAgICAgICBzbGlkZXIuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHM6IHNhdHVyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogMTAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdzYXR1cmF0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGh1ZSwgc2F0dXJhdGlvbiwgYW5kIGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgaHVlID0gY2xhbXAocGFyc2VJbnQoZ3JpZFBvcy54ICogKDM2MCAvIGdyaWRXaWR0aCksIDEwKSwgMCwgMzYwKTtcbiAgICAgICAgICAgICAgICAgICAgc2F0dXJhdGlvbiA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3Ioc2xpZGVyUG9zLnkgKiAoMTAwIC8gc2xpZGVySGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MgPSBjbGFtcCgxMDAgLSBNYXRoLmZsb29yKGdyaWRQb3MueSAqICgxMDAgLyBncmlkSGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGhleCA9IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgczogc2F0dXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGI6IGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVJXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlci5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogc2F0dXJhdGlvbiAvIDEwMCB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdicmlnaHRuZXNzJzpcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGh1ZSwgc2F0dXJhdGlvbiwgYW5kIGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgaHVlID0gY2xhbXAocGFyc2VJbnQoZ3JpZFBvcy54ICogKDM2MCAvIGdyaWRXaWR0aCksIDEwKSwgMCwgMzYwKTtcbiAgICAgICAgICAgICAgICAgICAgc2F0dXJhdGlvbiA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3IoZ3JpZFBvcy55ICogKDEwMCAvIGdyaWRIZWlnaHQpKSwgMCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcyA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3Ioc2xpZGVyUG9zLnkgKiAoMTAwIC8gc2xpZGVySGVpZ2h0KSksIDAsIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIGhleCA9IGhzYjJoZXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaDogaHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgczogc2F0dXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGI6IGJyaWdodG5lc3NcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVJXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlci5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogc2F0dXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOiAxMDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBncmlkLmZpbmQoJy5jcC1ncmlkLWlubmVyJykuY3NzKHsgb3BhY2l0eTogMSAtIChicmlnaHRuZXNzIC8gMTAwKSB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgaHVlLCBzYXR1cmF0aW9uLCBhbmQgYnJpZ2h0bmVzc1xuICAgICAgICAgICAgICAgICAgICBodWUgPSBjbGFtcCgzNjAgLSBwYXJzZUludChzbGlkZXJQb3MueSAqICgzNjAgLyBzbGlkZXJIZWlnaHQpLCAxMCksIDAsIDM2MCk7XG4gICAgICAgICAgICAgICAgICAgIHNhdHVyYXRpb24gPSBjbGFtcChNYXRoLmZsb29yKGdyaWRQb3MueCAqICgxMDAgLyBncmlkV2lkdGgpKSwgMCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcyA9IGNsYW1wKDEwMCAtIE1hdGguZmxvb3IoZ3JpZFBvcy55ICogKDEwMCAvIGdyaWRIZWlnaHQpKSwgMCwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgaGV4ID0gaHNiMmhleCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzOiBzYXR1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgYjogYnJpZ2h0bmVzc1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgVUlcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC5jc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoc2IyaGV4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoOiBodWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgczogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IDEwMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIYW5kbGUgb3BhY2l0eVxuICAgICAgICBpZiAodGFyZ2V0Lmhhc0NsYXNzKCdjcC1vcGFjaXR5LXNsaWRlcicpKSB7XG4gICAgICAgICAgICB0aGlzLm9wYWNpdHkgPSBwYXJzZUZsb2F0KDEgLSAob3BhY2l0eVBvcy55IC8gb3BhY2l0eVNsaWRlckhlaWdodCkpLnRvRml4ZWQoMik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGp1c3QgY2FzZVxuICAgICAgICBpbnB1dC52YWwodGhpcy5nZXRWYWx1ZShoZXgpKTtcblxuICAgICAgICAvLyBIYW5kbGUgY2hhbmdlIGV2ZW50XG4gICAgICAgIHRoaXMuZWxlbWVudC50cmlnZ2VyKCdjaGFuZ2UuX2dyYXZfY29sb3JwaWNrZXInLCBbdGhpcy5lbGVtZW50LCBoZXgsIHRoaXMub3BhY2l0eV0pO1xuXG4gICAgfVxuXG4gICAgZ2V0VmFsdWUoaGV4KSB7XG4gICAgICAgIGlmICh0aGlzLm9wYWNpdHkgPT09IDEpIHsgcmV0dXJuIGhleDsgfVxuICAgICAgICBsZXQgcmdiID0gaGV4MnJnYihoZXgpO1xuXG4gICAgICAgIHJldHVybiAncmdiYSgnICsgcmdiLnIgKyAnLCAnICsgcmdiLmcgKyAnLCAnICsgcmdiLmIgKyAnLCAnICsgdGhpcy5vcGFjaXR5ICsgJyknO1xuICAgIH1cblxuICAgIGJvdW5kKG5hbWUpIHtcbiAgICAgICAgbGV0IGJvdW5kID0gdGhpcy5fYm91bmQgfHwgKHRoaXMuX2JvdW5kID0ge30pO1xuICAgICAgICByZXR1cm4gYm91bmRbbmFtZV0gfHwgKGJvdW5kW25hbWVdID0gYmluZCh0aGlzW25hbWVdLCB0aGlzKSk7XG4gICAgfVxufVxuXG5leHBvcnQgbGV0IEluc3RhbmNlID0gbmV3IENvbG9ycGlja2VyRmllbGQoJ1tkYXRhLWdyYXYtY29sb3JwaWNrZXJdJyk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/forms/fields/colorpicker.js\n"); /***/ }), /***/ "./app/forms/fields/cron.js": /*!**********************************!*\ !*** ./app/forms/fields/cron.js ***! \**********************************/ /*! namespace exports */ /*! export Instance [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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\": () => /* binding */ CronField,\n/* harmony export */ \"Instance\": () => /* binding */ Instance\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\nvar CronField = /*#__PURE__*/function () {\n function CronField() {\n var _this = this;\n\n _classCallCheck(this, CronField);\n\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\n _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\n /* , record, instance */\n ) {\n var _this2 = this;\n\n var crons = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-field=\"cron\"]');\n\n if (!crons.length) {\n return;\n }\n\n crons.each(function (index, list) {\n list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n\n if (!~_this2.items.index(list)) {\n _this2.addCron(list);\n }\n });\n }\n }]);\n\n return CronField;\n}();\n\n\nvar Instance = new CronField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9jcm9uLmpzP2M0NzgiXSwibmFtZXMiOlsiQ3JvbkZpZWxkIiwiaXRlbXMiLCIkIiwiZWFjaCIsImluZGV4IiwiY3JvbiIsImFkZENyb24iLCJvbiIsIl9vbkFkZGVkTm9kZXMiLCJiaW5kIiwiYWRkIiwiZmluZCIsImNvbnRhaW5lciIsImlucHV0IiwiY2xvc2VzdCIsImpxQ3JvbiIsIm51bWVyaWNfemVyb19wYWQiLCJlbmFibGVkX21pbnV0ZSIsIm11bHRpcGxlX2RvbSIsIm11bHRpcGxlX21vbnRoIiwibXVsdGlwbGVfbWlucyIsIm11bHRpcGxlX2RvdyIsIm11bHRpcGxlX3RpbWVfaG91cnMiLCJtdWx0aXBsZV90aW1lX21pbnV0ZXMiLCJkZWZhdWx0X3BlcmlvZCIsImRlZmF1bHRfdmFsdWUiLCJ2YWwiLCJub19yZXNldF9idXR0b24iLCJiaW5kX3RvIiwiYmluZF9tZXRob2QiLCJzZXQiLCIkZWxlbWVudCIsInZhbHVlIiwidGV4dHMiLCJlbiIsImVtcHR5IiwidHJhbnNsYXRpb25zIiwiZW1wdHlfbWludXRlcyIsImVtcHR5X3RpbWVfaG91cnMiLCJlbXB0eV90aW1lX21pbnV0ZXMiLCJlbXB0eV9kYXlfb2Zfd2VlayIsImVtcHR5X2RheV9vZl9tb250aCIsImVtcHR5X21vbnRoIiwibmFtZV9taW51dGUiLCJuYW1lX2hvdXIiLCJuYW1lX2RheSIsIm5hbWVfd2VlayIsIm5hbWVfbW9udGgiLCJuYW1lX3llYXIiLCJ0ZXh0X3BlcmlvZCIsInRleHRfbWlucyIsInRleHRfdGltZSIsInRleHRfZG93IiwidGV4dF9tb250aCIsInRleHRfZG9tIiwiZXJyb3IxIiwiZXJyb3IyIiwiZXJyb3IzIiwiZXJyb3I0Iiwid2Vla2RheXMiLCJtb250aHMiLCJldmVudCIsInRhcmdldCIsImNyb25zIiwibGVuZ3RoIiwibGlzdCIsIkluc3RhbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7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TTtNQUEwQjtBQUFBOztBQUNqRCxVQUFJQyxLQUFLLEdBQUc3RCw2Q0FBQyxDQUFDNEQsTUFBRCxDQUFELENBQVVuRCxJQUFWLENBQWUsMEJBQWYsQ0FBWjs7QUFDQSxVQUFJLENBQUNvRCxLQUFLLENBQUNDLE1BQVgsRUFBbUI7QUFBRTtBQUFTOztBQUU5QkQsV0FBSyxDQUFDNUQsSUFBTixDQUFXLFVBQUNDLEtBQUQsRUFBUTZELElBQVIsRUFBaUI7QUFDeEJBLFlBQUksR0FBRy9ELDZDQUFDLENBQUMrRCxJQUFELENBQVI7O0FBQ0EsWUFBSSxDQUFDLENBQUMsTUFBSSxDQUFDaEUsS0FBTCxDQUFXRyxLQUFYLENBQWlCNkQsSUFBakIsQ0FBTixFQUE4QjtBQUMxQixnQkFBSSxDQUFDM0QsT0FBTCxDQUFhMkQsSUFBYjtBQUNIO0FBQ0osT0FMRDtBQU1IOzs7Ozs7O0FBR0UsSUFBSUMsUUFBUSxHQUFHLElBQUlsRSxTQUFKLEVBQWYiLCJmaWxlIjoiLi9hcHAvZm9ybXMvZmllbGRzL2Nyb24uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0ICcuLi8uLi91dGlscy9jcm9uLXVpJztcbmltcG9ydCB7IHRyYW5zbGF0aW9ucyB9IGZyb20gJ2dyYXYtY29uZmlnJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3JvbkZpZWxkIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9ICQoKTtcblxuICAgICAgICAkKCdbZGF0YS1ncmF2LWZpZWxkPVwiY3JvblwiXScpLmVhY2goKGluZGV4LCBjcm9uKSA9PiB0aGlzLmFkZENyb24oY3JvbikpO1xuICAgICAgICAkKCdib2R5Jykub24oJ211dGF0aW9uLl9ncmF2JywgdGhpcy5fb25BZGRlZE5vZGVzLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIGFkZENyb24oY3Jvbikge1xuICAgICAgICBjcm9uID0gJChjcm9uKTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuYWRkKGNyb24pO1xuXG4gICAgICAgIGNyb24uZmluZCgnLmNyb24tc2VsZWN0b3InKS5lYWNoKChpbmRleCwgY29udGFpbmVyKSA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGNvbnRhaW5lci5jbG9zZXN0KCdbZGF0YS1ncmF2LWZpZWxkXScpLmZpbmQoJ2lucHV0Jyk7XG5cbiAgICAgICAgICAgIGNvbnRhaW5lci5qcUNyb24oe1xuICAgICAgICAgICAgICAgIG51bWVyaWNfemVyb19wYWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZW5hYmxlZF9taW51dGU6IHRydWUsXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVfZG9tOiB0cnVlLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlX21vbnRoOiB0cnVlLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlX21pbnM6IHRydWUsXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVfZG93OiB0cnVlLFxuICAgICAgICAgICAgICAgIG11bHRpcGxlX3RpbWVfaG91cnM6IHRydWUsXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVfdGltZV9taW51dGVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRfcGVyaW9kOiAnaG91cicsXG4gICAgICAgICAgICAgICAgZGVmYXVsdF92YWx1ZTogaW5wdXQudmFsKCkgfHwgJyogKiAqICogKicsXG4gICAgICAgICAgICAgICAgbm9fcmVzZXRfYnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBiaW5kX3RvOiBpbnB1dCxcbiAgICAgICAgICAgICAgICBiaW5kX21ldGhvZDoge1xuICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKCRlbGVtZW50LCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQudmFsKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGV4dHM6IHtcbiAgICAgICAgICAgICAgICAgICAgZW46IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5OiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVWRVJZJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlbXB0eV9taW51dGVzOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVWRVJZJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlbXB0eV90aW1lX2hvdXJzOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVWRVJZX0hPVVInXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5X3RpbWVfbWludXRlczogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FVkVSWV9NSU5VVEUnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5X2RheV9vZl93ZWVrOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVWRVJZX0RBWV9PRl9XRUVLJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlbXB0eV9kYXlfb2ZfbW9udGg6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uRVZFUllfREFZX09GX01PTlRIJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBlbXB0eV9tb250aDogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5FVkVSWV9NT05USCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9taW51dGU6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ05JQ0VUSU1FLk1JTlVURSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9ob3VyOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydOSUNFVElNRS5IT1VSJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2RheTogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnTklDRVRJTUUuREFZJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lX3dlZWs6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ05JQ0VUSU1FLldFRUsnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfbW9udGg6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ05JQ0VUSU1FLk1PTlRIJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lX3llYXI6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ05JQ0VUSU1FLllFQVInXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfcGVyaW9kOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLlRFWFRfUEVSSU9EJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X21pbnM6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uVEVYVF9NSU5TJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3RpbWU6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0NST04uVEVYVF9USU1FJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X2RvdzogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5URVhUX0RPVyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9tb250aDogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5URVhUX01PTlRIJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X2RvbTogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnQ1JPTi5URVhUX0RPTSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IxOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVSUk9SMSddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IyOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVSUk9SMiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IzOiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVSUk9SMyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I0OiB0cmFuc2xhdGlvbnMuR1JBVl9DT1JFWydDUk9OLkVSUk9SNCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2Vla2RheXM6IHRyYW5zbGF0aW9ucy5HUkFWX0NPUkVbJ0RBWVNfT0ZfVEhFX1dFRUsnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoczogdHJhbnNsYXRpb25zLkdSQVZfQ09SRVsnTU9OVEhTX09GX1RIRV9ZRUFSJ11cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfb25BZGRlZE5vZGVzKGV2ZW50LCB0YXJnZXQvKiAsIHJlY29yZCwgaW5zdGFuY2UgKi8pIHtcbiAgICAgICAgbGV0IGNyb25zID0gJCh0YXJnZXQpLmZpbmQoJ1tkYXRhLWdyYXYtZmllbGQ9XCJjcm9uXCJdJyk7XG4gICAgICAgIGlmICghY3JvbnMubGVuZ3RoKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGNyb25zLmVhY2goKGluZGV4LCBsaXN0KSA9PiB7XG4gICAgICAgICAgICBsaXN0ID0gJChsaXN0KTtcbiAgICAgICAgICAgIGlmICghfnRoaXMuaXRlbXMuaW5kZXgobGlzdCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZENyb24obGlzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGxldCBJbnN0YW5jZSA9IG5ldyBDcm9uRmllbGQoKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/forms/fields/cron.js\n"); /***/ }), /***/ "./app/forms/fields/datetime.js": /*!**************************************!*\ !*** ./app/forms/fields/datetime.js ***! \**************************************/ /*! namespace exports */ /*! export Instance [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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\": () => /* binding */ DateTimeField,\n/* harmony export */ \"Instance\": () => /* binding */ Instance\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\nvar DateTimeField = /*#__PURE__*/function () {\n _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\n function DateTimeField(options) {\n var _this = this;\n\n _classCallCheck(this, DateTimeField);\n\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\n _createClass(DateTimeField, [{\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\n if (list.data('DateTimePicker')) {\n return;\n }\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\n /* , record, instance */\n ) {\n var _this2 = this;\n\n var fields = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-datetime]');\n\n if (!fields.length) {\n return;\n }\n\n fields.each(function (index, field) {\n field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(field);\n\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 return DateTimeField;\n}();\n\n\nvar Instance = new DateTimeField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9kYXRldGltZS5qcz9kMWMyIl0sIm5hbWVzIjpbIkRhdGVUaW1lRmllbGQiLCJzaG93VG9kYXlCdXR0b24iLCJzaG93Q2xlYXIiLCJsb2NhbGUiLCJjb25maWciLCJpY29ucyIsInRpbWUiLCJkYXRlIiwidXAiLCJkb3duIiwicHJldmlvdXMiLCJuZXh0IiwidG9kYXkiLCJjbGVhciIsImNsb3NlIiwib3B0aW9ucyIsIml0ZW1zIiwiJCIsIk9iamVjdCIsImFzc2lnbiIsImRlZmF1bHRzIiwiZWFjaCIsImluZGV4IiwiZmllbGQiLCJhZGRJdGVtIiwib24iLCJfb25BZGRlZE5vZGVzIiwiYmluZCIsImxpc3QiLCJhZGQiLCJkYXRhIiwiZGF0ZXRpbWVwaWNrZXIiLCJfZGlzYWJsZURlY2FkZXMiLCJzaWJsaW5ncyIsIm1vdXNlZG93biIsImZvY3VzIiwiZXZlbnQiLCJ0YXJnZXQiLCJmaWVsZHMiLCJmaW5kIiwibGVuZ3RoIiwicmVtb3ZlQXR0ciIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJJbnN0YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0lBRXFCQSxhOzs7d0JBRUY7QUFDWCxhQUFPO0FBQ0hDLHVCQUFlLEVBQUUsSUFEZDtBQUVIQyxpQkFBUyxFQUFFLElBRlI7QUFHSEMsY0FBTSxFQUFFQyx3REFBQSxJQUFtQixJQUh4QjtBQUlIQyxhQUFLLEVBQUU7QUFDSEMsY0FBSSxFQUFFLGVBREg7QUFFSEMsY0FBSSxFQUFFLGtCQUZIO0FBR0hDLFlBQUUsRUFBRSxrQkFIRDtBQUlIQyxjQUFJLEVBQUUsb0JBSkg7QUFLSEMsa0JBQVEsRUFBRSxvQkFMUDtBQU1IQyxjQUFJLEVBQUUscUJBTkg7QUFPSEMsZUFBSyxFQUFFLGdCQVBKO0FBUUhDLGVBQUssRUFBRSxlQVJKO0FBU0hDLGVBQUssRUFBRTtBQVRKO0FBSkosT0FBUDtBQWdCSDs7O0FBRUQseUJBQVlDLE9BQVosRUFBcUI7QUFBQTs7QUFBQTs7QUFDakIsU0FBS0MsS0FBTCxHQUFhQyw2Q0FBQyxFQUFkO0FBQ0EsU0FBS0YsT0FBTCxHQUFlRyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLEtBQUtDLFFBQXZCLEVBQWlDTCxPQUFqQyxDQUFmO0FBRUFFLGlEQUFDLENBQUMsc0JBQUQsQ0FBRCxDQUEwQkksSUFBMUIsQ0FBK0IsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSO0FBQUEsYUFBa0IsS0FBSSxDQUFDQyxPQUFMLENBQWFELEtBQWIsQ0FBbEI7QUFBQSxLQUEvQjtBQUNBTixpREFBQyxDQUFDLE1BQUQsQ0FBRCxDQUFVUSxFQUFWLENBQWEsZ0JBQWIsRUFBK0IsS0FBS0MsYUFBTCxDQUFtQkMsSUFBbkIsQ0FBd0IsSUFBeEIsQ0FBL0I7QUFFSDs7Ozs0QkFFT0MsSSxFQUFNO0FBQ1ZBLFVBQUksR0FBR1gsNkNBQUMsQ0FBQ1csSUFBRCxDQUFSO0FBQ0EsV0FBS1osS0FBTCxHQUFhLEtBQUtBLEtBQUwsQ0FBV2EsR0FBWCxDQUFlRCxJQUFmLENBQWI7O0FBRUEsVUFBSUEsSUFBSSxDQUFDRSxJQUFMLENBQVUsZ0JBQVYsQ0FBSixFQUFpQztBQUFFO0FBQVM7O0FBRTVDLFVBQUlmLE9BQU8sR0FBR0csTUFBTSxDQUFDQyxNQUFQLENBQWMsRUFBZCxFQUFrQixLQUFLSixPQUF2QixFQUFnQ2EsSUFBSSxDQUFDRSxJQUFMLENBQVUsZUFBVixLQUE4QixFQUE5RCxDQUFkO0FBQ0FGLFVBQUksQ0FBQ0csY0FBTCxDQUFvQmhCLE9BQXBCLEVBQTZCVSxFQUE3QixDQUFnQyxtQkFBaEMsRUFBcUQsS0FBS08sZUFBMUQ7QUFDQUosVUFBSSxDQUFDSyxRQUFMLENBQWMsY0FBZCxFQUE4QlIsRUFBOUIsQ0FBaUMsT0FBakMsRUFBMEM7QUFBQSxlQUFNRyxJQUFJLENBQUNNLFNBQUwsR0FBaUJDLEtBQWpCLEVBQU47QUFBQSxPQUExQztBQUNIOzs7a0NBRWFDLEssRUFBT0M7QUFBTTtNQUEwQjtBQUFBOztBQUNqRCxVQUFJQyxNQUFNLEdBQUdyQiw2Q0FBQyxDQUFDb0IsTUFBRCxDQUFELENBQVVFLElBQVYsQ0FBZSxzQkFBZixDQUFiOztBQUNBLFVBQUksQ0FBQ0QsTUFBTSxDQUFDRSxNQUFaLEVBQW9CO0FBQUU7QUFBUzs7QUFFL0JGLFlBQU0sQ0FBQ2pCLElBQVAsQ0FBWSxVQUFDQyxLQUFELEVBQVFDLEtBQVIsRUFBa0I7QUFDMUJBLGFBQUssR0FBR04sNkNBQUMsQ0FBQ00sS0FBRCxDQUFUOztBQUNBLFlBQUksQ0FBQyxDQUFDLE1BQUksQ0FBQ1AsS0FBTCxDQUFXTSxLQUFYLENBQWlCQyxLQUFqQixDQUFOLEVBQStCO0FBQzNCLGdCQUFJLENBQUNDLE9BQUwsQ0FBYUQsS0FBYjtBQUNIO0FBQ0osT0FMRDtBQU1IOzs7c0NBRWlCO0FBQ2ROLG1EQUFDLENBQUMsa0NBQUQsQ0FBRCxDQUFzQ3dCLFVBQXRDLENBQWlELE9BQWpELEVBQTBEaEIsRUFBMUQsQ0FBNkQsT0FBN0QsRUFBc0UsVUFBQ2lCLENBQUQ7QUFBQSxlQUFPQSxDQUFDLENBQUNDLGVBQUYsRUFBUDtBQUFBLE9BQXRFO0FBQ0g7Ozs7Ozs7QUFHRSxJQUFJQyxRQUFRLEdBQUcsSUFBSTVDLGFBQUosRUFBZiIsImZpbGUiOiIuL2FwcC9mb3Jtcy9maWVsZHMvZGF0ZXRpbWUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnZ3Jhdi1jb25maWcnO1xuaW1wb3J0ICcuLi8uLi91dGlscy9ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXInO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYXRlVGltZUZpZWxkIHtcblxuICAgIGdldCBkZWZhdWx0cygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNob3dUb2RheUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dDbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgIGxvY2FsZTogY29uZmlnLmxhbmd1YWdlIHx8ICdlbicsXG4gICAgICAgICAgICBpY29uczoge1xuICAgICAgICAgICAgICAgIHRpbWU6ICdmYSBmYS1jbG9jay1vJyxcbiAgICAgICAgICAgICAgICBkYXRlOiAnZmEgZmEtY2FsZW5kYXItbycsXG4gICAgICAgICAgICAgICAgdXA6ICdmYSBmYS1jaGV2cm9uLXVwJyxcbiAgICAgICAgICAgICAgICBkb3duOiAnZmEgZmEtY2hldnJvbi1kb3duJyxcbiAgICAgICAgICAgICAgICBwcmV2aW91czogJ2ZhIGZhLWNoZXZyb24tbGVmdCcsXG4gICAgICAgICAgICAgICAgbmV4dDogJ2ZhIGZhLWNoZXZyb24tcmlnaHQnLFxuICAgICAgICAgICAgICAgIHRvZGF5OiAnZmEgZmEtYnVsbHNleWUnLFxuICAgICAgICAgICAgICAgIGNsZWFyOiAnZmEgZmEtdHJhc2gtbycsXG4gICAgICAgICAgICAgICAgY2xvc2U6ICdmYSBmYS1yZW1vdmUnXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLml0ZW1zID0gJCgpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRzLCBvcHRpb25zKTtcblxuICAgICAgICAkKCdbZGF0YS1ncmF2LWRhdGV0aW1lXScpLmVhY2goKGluZGV4LCBmaWVsZCkgPT4gdGhpcy5hZGRJdGVtKGZpZWxkKSk7XG4gICAgICAgICQoJ2JvZHknKS5vbignbXV0YXRpb24uX2dyYXYnLCB0aGlzLl9vbkFkZGVkTm9kZXMuYmluZCh0aGlzKSk7XG5cbiAgICB9XG5cbiAgICBhZGRJdGVtKGxpc3QpIHtcbiAgICAgICAgbGlzdCA9ICQobGlzdCk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmFkZChsaXN0KTtcblxuICAgICAgICBpZiAobGlzdC5kYXRhKCdEYXRlVGltZVBpY2tlcicpKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGxldCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5vcHRpb25zLCBsaXN0LmRhdGEoJ2dyYXYtZGF0ZXRpbWUnKSB8fCB7fSk7XG4gICAgICAgIGxpc3QuZGF0ZXRpbWVwaWNrZXIob3B0aW9ucykub24oJ2RwLnNob3cgZHAudXBkYXRlJywgdGhpcy5fZGlzYWJsZURlY2FkZXMpO1xuICAgICAgICBsaXN0LnNpYmxpbmdzKCcuZmllbGQtaWNvbnMnKS5vbignY2xpY2snLCAoKSA9PiBsaXN0Lm1vdXNlZG93bigpLmZvY3VzKCkpO1xuICAgIH1cblxuICAgIF9vbkFkZGVkTm9kZXMoZXZlbnQsIHRhcmdldC8qICwgcmVjb3JkLCBpbnN0YW5jZSAqLykge1xuICAgICAgICBsZXQgZmllbGRzID0gJCh0YXJnZXQpLmZpbmQoJ1tkYXRhLWdyYXYtZGF0ZXRpbWVdJyk7XG4gICAgICAgIGlmICghZmllbGRzLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgICAgICBmaWVsZHMuZWFjaCgoaW5kZXgsIGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBmaWVsZCA9ICQoZmllbGQpO1xuICAgICAgICAgICAgaWYgKCF+dGhpcy5pdGVtcy5pbmRleChmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEl0ZW0oZmllbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBfZGlzYWJsZURlY2FkZXMoKSB7XG4gICAgICAgICQoJy5kYXRlcGlja2VyLXllYXJzIC5waWNrZXItc3dpdGNoJykucmVtb3ZlQXR0cigndGl0bGUnKS5vbignY2xpY2snLCAoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKSk7XG4gICAgfVxufVxuXG5leHBvcnQgbGV0IEluc3RhbmNlID0gbmV3IERhdGVUaW1lRmllbGQoKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/forms/fields/datetime.js\n"); /***/ }), /***/ "./app/forms/fields/editor.js": /*!************************************!*\ !*** ./app/forms/fields/editor.js ***! \************************************/ /*! namespace exports */ /*! export Instance [provided] [no usage info] [missing usage info prevents renaming] */ /*! export Toolbar [provided] [no usage info] [missing usage info prevents renaming] */ /*! export default [provided] [no usage info] [missing usage info prevents renaming] */ /*! other exports [not provided] [no usage info] */ /*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.g, __webpack_require__.d, __webpack_require__.* */ /***/ ((__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\": () => /* binding */ EditorField,\n/* harmony export */ \"Toolbar\": () => /* binding */ Toolbar,\n/* harmony export */ \"Instance\": () => /* binding */ Instance\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/index.js\");\n/* harmony import */ var js_yaml__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(js_yaml__WEBPACK_IMPORTED_MODULE_4__);\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\n\n__webpack_require__.g.jsyaml = (js_yaml__WEBPACK_IMPORTED_MODULE_4___default()); // Modes\n\n\n\n\n\n\n\n\n\n\n // Add-ons\n\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};\n\nvar EditorField = /*#__PURE__*/function () {\n function EditorField(options) {\n var _this = this;\n\n _classCallCheck(this, EditorField);\n\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 ()\n /* 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\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\n _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\n if (!~index) {\n options = 'end';\n } else {\n this.buttons.navigation.splice(options.before ? index : index + 1, 0, button);\n }\n }\n\n if (options === 'start') {\n this.buttons.navigation.splice(0, 0, button);\n }\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\n if (theme && !~ThemesMap.indexOf(theme)) {\n ThemesMap.push(theme); // let themeCSS = `https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.12.0/theme/${theme}.min.css`;\n // $('head').append($('').attr('href', themeCSS));\n }\n\n if (options.mode === 'yaml') {\n Object.assign(options.extraKeys, {\n Tab: function Tab(cm) {\n cm.replaceSelection(' ', 'end');\n }\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\n if (options.toolbar === false) {\n textarea.data('toolbar').ui.navigation.addClass('grav-editor-hide-toolbar');\n }\n\n editor.on('change', function () {\n return editor.save();\n });\n }\n }, {\n key: \"_onAddedNodes\",\n value: function _onAddedNodes(event, target\n /* , record, instance */\n ) {\n var _this2 = this;\n\n var editors = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-editor]');\n\n if (!editors.length) {\n return;\n }\n\n editors.each(function (index, editor) {\n editor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(editor);\n\n if (!~_this2.editors.index(editor)) {\n _this2.addEditor(editor);\n }\n });\n }\n }]);\n\n return EditorField;\n}();\n\n\nvar Toolbar = /*#__PURE__*/function () {\n _createClass(Toolbar, null, [{\n key: \"templates\",\n value: function templates() {\n return {\n navigation: \"\\n
\\n
\\n
\\n
\\n \"\n };\n }\n }]);\n\n function Toolbar(editor) {\n _classCallCheck(this, Toolbar);\n\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\n _createClass(Toolbar, [{\n key: \"renderButtons\",\n value: function renderButtons() {\n var _this3 = this;\n\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('