/******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ var executeModules = data[2]; /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ // add entry modules from loaded chunk to deferred list /******/ deferredModules.push.apply(deferredModules, executeModules || []); /******/ /******/ // run deferred modules when all chunks ready /******/ return checkDeferredModules(); /******/ }; /******/ function checkDeferredModules() { /******/ var result; /******/ for(var i = 0; i < deferredModules.length; i++) { /******/ var deferredModule = deferredModules[i]; /******/ var fulfilled = true; /******/ for(var j = 1; j < deferredModule.length; j++) { /******/ var depId = deferredModule[j]; /******/ if(installedChunks[depId] !== 0) fulfilled = false; /******/ } /******/ if(fulfilled) { /******/ deferredModules.splice(i--, 1); /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); /******/ } /******/ } /******/ /******/ return result; /******/ } /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ "site": 0 /******/ }; /******/ /******/ var deferredModules = []; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // add entry module to deferred list /******/ deferredModules.push(["./app/main.js","vendor"]); /******/ // run deferred modules when ready /******/ return checkDeferredModules(); /******/ }) /************************************************************************/ /******/ ({ /***/ "./app/fields/array.js": /*!*****************************!*\ !*** ./app/fields/array.js ***! \*****************************/ /*! exports provided: default, Instance */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ArrayField; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Instance\", function() { return Instance; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\nvar Template = /*#__PURE__*/function () {\n function Template(container) {\n _classCallCheck(this, Template);\n this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n if (this.getName() === undefined) {\n this.container = this.container.closest('[data-grav-array-name]');\n }\n }\n return _createClass(Template, [{\n key: \"getName\",\n value: function getName() {\n return this.container.data('grav-array-name') || '';\n }\n }, {\n key: \"getKeyPlaceholder\",\n value: function getKeyPlaceholder() {\n return this.container.data('grav-array-keyname') || 'Key';\n }\n }, {\n key: \"getValuePlaceholder\",\n value: function getValuePlaceholder() {\n return this.container.data('grav-array-valuename') || 'Value';\n }\n }, {\n key: \"isValueOnly\",\n value: function isValueOnly() {\n return this.container.find('[data-grav-array-mode=\"value_only\"]:first').length || false;\n }\n }, {\n key: \"isTextArea\",\n value: function isTextArea() {\n return this.container.data('grav-array-textarea') || false;\n }\n }, {\n key: \"shouldBeDisabled\",\n value: function shouldBeDisabled() {\n // check for toggleables, if field is toggleable and it's not enabled, render disabled\n var toggle = this.container.closest('.form-field').find('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]');\n return toggle.length && toggle.is(':not(:checked)');\n }\n }, {\n key: \"getNewRow\",\n value: function getNewRow() {\n var tpl = '';\n var value = this.isTextArea() ? \"\") : \"\");\n if (this.isValueOnly()) {\n tpl += \"\\n
\".concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.FILE_ERROR_UPLOAD, \" \").concat(file.name, \"
\\n\").concat(response.message, \"\")\n });\n }\n }, {\n key: \"onDropzoneComplete\",\n value: function onDropzoneComplete(file) {\n if (!file.accepted && !file.rejected) {\n var data = {\n status: 'error',\n message: \"\".concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.FILE_UNSUPPORTED, \": \").concat(file.name.match(/\\..+/).join(''))\n };\n return this.handleError({\n file: file,\n data: data,\n mode: 'removeFile',\n msg: \"
\".concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.FILE_ERROR_ADD, \" \").concat(file.name, \"
\\n\").concat(data.message, \"\")\n });\n }\n if (this.options.reloadPage) {\n global.location.reload();\n }\n }\n }, {\n key: \"onDropzoneRemovedFile\",\n value: function onDropzoneRemovedFile(file) {\n var _this2 = this;\n if (!file.accepted || file.rejected) {\n return;\n }\n var form = this.container.closest('form');\n var unique_id = form.find('[name=\"__unique_form_id__\"]');\n var url = file.removeUrl || this.urls[\"delete\"] || \"\".concat(location.href, \".json\");\n var path = (url || '').match(/path:(.*)\\//);\n var data = new FormData();\n data.append('filename', file.name);\n data.append('__form-name__', form.find('[name=\"__form-name__\"]').val());\n data.append('name', this.options.dotNotation);\n data.append('form-nonce', grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].form_nonce);\n data.append('uri', this.getURI());\n if (file.sessionParams) {\n data.append('__form-file-remover__', '1');\n data.append('session', file.sessionParams);\n }\n if (unique_id.length) {\n data.append('__unique_form_id__', unique_id.val());\n }\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n url: url,\n data: data,\n method: 'POST',\n contentType: false,\n processData: false,\n success: function success() {\n if (!path) {\n return;\n }\n path = global.atob(path[1]);\n var input = _this2.container.find('[name][type=\"hidden\"]');\n var data = JSON.parse(input.val() || '{}');\n delete data[path];\n input.val(JSON.stringify(data));\n }\n });\n }\n }, {\n key: \"onDropzoneError\",\n value: function onDropzoneError(file, response, xhr) {\n var message = xhr && response.error ? response.error.message : response;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(file.previewElement).find('[data-dz-errormessage]').html(message);\n return this.handleError({\n file: file,\n data: {\n status: 'error'\n },\n msg: \"
\".concat(message, \"\")\n });\n }\n }, {\n key: \"handleError\",\n value: function handleError(options) {\n return true;\n /* let { file, data, mode, msg } = options;\n if (data.status !== 'error' && data.status !== 'unauthorized') { return; }\n switch (mode) {\n case 'addBack':\n if (file instanceof File) {\n this.dropzone.addFile.call(this.dropzone, file);\n } else {\n this.dropzone.files.push(file);\n this.dropzone.options.addedfile.call(this.dropzone, file);\n this.dropzone.options.thumbnail.call(this.dropzone, file, file.extras.url);\n }\n break;\n case 'removeFile':\n default:\n if (~this.dropzone.files.indexOf(file)) {\n file.rejected = true;\n this.dropzone.removeFile.call(this.dropzone, file, { silent: true });\n }\n break;\n }\n let modal = $('[data-remodal-id=\"generic\"]');\n modal.find('.error-content').html(msg);\n $.remodal.lookup[modal.data('remodal')].open(); */\n }\n }]);\n}();\n/*\nexport function UriToMarkdown(uri) {\n uri = uri.replace(/@3x|@2x|@1x/, '');\n uri = uri.replace(/\\(/g, '%28');\n uri = uri.replace(/\\)/g, '%29');\n\n return uri.match(/\\.(jpe?g|png|gif|svg)$/i) ? `![](${uri})` : `[${decodeURI(uri)}](${uri})`;\n}\n*/\n\nvar instances = [];\nvar cache = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\nvar onAddedNodes = function onAddedNodes(event, target /* , record, instance */) {\n var files = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('.dropzone.files-upload');\n if (!files.length) {\n return;\n }\n files.each(function (index, file) {\n file = jquery__WEBPACK_IMPORTED_MODULE_0___default()(file);\n if (!~cache.index(file)) {\n addNode(file);\n }\n });\n};\nvar addNode = function addNode(container) {\n container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n var input = container.find('input[type=\"file\"]');\n var settings = container.data('grav-file-settings') || {};\n if (settings.accept && ~settings.accept.indexOf('*')) {\n settings.accept = [''];\n }\n var options = {\n url: container.data('file-url-add') || (container.closest('form').attr('action') || grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].current_url) + '.json',\n paramName: settings.paramName || 'file',\n dotNotation: settings.name || 'file',\n acceptedFiles: settings.accept ? settings.accept.join(',') : input.attr('accept') || container.data('media-types'),\n maxFilesize: settings.filesize || 256,\n maxFiles: settings.limit || null,\n resizeWidth: settings.resizeWidth || null,\n resizeHeight: settings.resizeHeight || null,\n resizeQuality: settings.resizeQuality || null,\n accept: function accept(file, done) {\n var resolution = settings.resolution;\n var error = '';\n if (!resolution) return done();\n if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {\n done(this.options.dictMaxFilesExceeded.replace('{{maxFiles}}', this.options.maxFiles));\n return this.emit('maxfilesexceeded', file);\n }\n var reader = new FileReader();\n if (resolution.min || !(settings.resizeWidth || settings.resizeHeight) && resolution.max) {\n reader.onload = function (event) {\n var image = new Image();\n image.src = event.target.result;\n image.onload = function () {\n var _this3 = this;\n if (resolution.min) {\n Object.keys(resolution.min).forEach(function (attr) {\n if (_this3[attr] < resolution.min[attr]) {\n error += grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.RESOLUTION_MIN.replace(/{{attr}}/g, attr).replace(/{{min}}/g, resolution.min[attr]);\n }\n });\n }\n if (!(settings.resizeWidth || settings.resizeHeight)) {\n if (resolution.max) {\n Object.keys(resolution.max).forEach(function (attr) {\n if (_this3[attr] > resolution.max[attr]) {\n error += grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.RESOLUTION_MAX.replace(/{{attr}}/g, attr).replace(/{{max}}/g, resolution.max[attr]);\n }\n });\n }\n }\n done(error);\n };\n };\n reader.readAsDataURL(file);\n } else {\n return done(error);\n }\n }\n };\n cache = cache.add(container);\n container = container[0];\n instances.push(new FilesField({\n container: container,\n options: options\n }));\n};\nvar Instances = function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('.dropzone.files-upload').each(function (i, container) {\n return addNode(container);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', onAddedNodes);\n });\n return instances;\n}();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL2ZpbGUuanM/MWU4OSJdLCJuYW1lcyI6WyJEaWN0aW9uYXJ5IiwiZGljdENhbmNlbFVwbG9hZCIsInRyYW5zbGF0aW9ucyIsIlBMVUdJTl9GT1JNIiwiRFJPUFpPTkVfQ0FOQ0VMX1VQTE9BRCIsImRpY3RDYW5jZWxVcGxvYWRDb25maXJtYXRpb24iLCJEUk9QWk9ORV9DQU5DRUxfVVBMT0FEX0NPTkZJUk1BVElPTiIsImRpY3REZWZhdWx0TWVzc2FnZSIsIkRST1BaT05FX0RFRkFVTFRfTUVTU0FHRSIsImRpY3RGYWxsYmFja01lc3NhZ2UiLCJEUk9QWk9ORV9GQUxMQkFDS19NRVNTQUdFIiwiZGljdEZhbGxiYWNrVGV4dCIsIkRST1BaT05FX0ZBTExCQUNLX1RFWFQiLCJkaWN0RmlsZVRvb0JpZyIsIkRST1BaT05FX0ZJTEVfVE9PX0JJRyIsImRpY3RJbnZhbGlkRmlsZVR5cGUiLCJEUk9QWk9ORV9JTlZBTElEX0ZJTEVfVFlQRSIsImRpY3RNYXhGaWxlc0V4Y2VlZGVkIiwiRFJPUFpPTkVfTUFYX0ZJTEVTX0VYQ0VFREVEIiwiZGljdFJlbW92ZUZpbGUiLCJEUk9QWk9ORV9SRU1PVkVfRklMRSIsImRpY3RSZW1vdmVGaWxlQ29uZmlybWF0aW9uIiwiRFJPUFpPTkVfUkVNT1ZFX0ZJTEVfQ09ORklSTUFUSU9OIiwiZGljdFJlc3BvbnNlRXJyb3IiLCJEUk9QWk9ORV9SRVNQT05TRV9FUlJPUiIsIkRyb3B6b25lIiwiYXV0b0Rpc2NvdmVyIiwiRHJvcHpvbmVNZWRpYUNvbmZpZyIsImNyZWF0ZUltYWdlVGh1bWJuYWlscyIsInRodW1ibmFpbFdpZHRoIiwiYWRkUmVtb3ZlTGlua3MiLCJwcmV2aWV3VGVtcGxhdGUiLCJGaWxlc0ZpZWxkIiwiX3JlZiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9yZWYkY29udGFpbmVyIiwiY29udGFpbmVyIiwiX3JlZiRvcHRpb25zIiwib3B0aW9ucyIsIl9jbGFzc0NhbGxDaGVjayIsIiQiLCJ1cmxzIiwiaHRtbCIsIk9iamVjdCIsImFzc2lnbiIsImtsYXNzIiwidXJsIiwiZGF0YSIsImNvbmZpZyIsImN1cnJlbnRfdXJsIiwiYWNjZXB0ZWRGaWxlcyIsImluaXQiLCJpbml0RHJvcHpvbmUiLCJkcm9wem9uZSIsIm9uIiwib25Ecm9wem9uZUNvbXBsZXRlIiwiYmluZCIsIm9uRHJvcHpvbmVTdWNjZXNzIiwib25Ecm9wem9uZVJlbW92ZWRGaWxlIiwib25Ecm9wem9uZVNlbmRpbmciLCJvbkRyb3B6b25lRXJyb3IiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsIl90aGlzIiwiZmlsZXMiLCJmaW5kIiwiZWFjaCIsImluZGV4IiwiZmlsZSIsIm1vY2siLCJuYW1lIiwic2l6ZSIsInR5cGUiLCJzdGF0dXMiLCJBRERFRCIsImFjY2VwdGVkIiwicmVtb3ZlVXJsIiwicmVtb3ZlIiwicHVzaCIsImFkZGVkZmlsZSIsImNhbGwiLCJtYXRjaCIsInRodW1ibmFpbCIsInBhdGgiLCJnZXRVUkkiLCJ4aHIiLCJmb3JtRGF0YSIsImZvcm0iLCJjbG9zZXN0IiwidW5pcXVlX2lkIiwiYXBwZW5kIiwidmFsIiwiZG90Tm90YXRpb24iLCJmb3JtX25vbmNlIiwicmVzcG9uc2UiLCJyZWxvYWRQYWdlIiwiZ2xvYmFsIiwibG9jYXRpb24iLCJyZWxvYWQiLCJzZXNzaW9uIiwic2Vzc2lvblBhcmFtcyIsImlucHV0IiwiaGFuZGxlRXJyb3IiLCJtb2RlIiwibXNnIiwiY29uY2F0IiwiRklMRV9FUlJPUl9VUExPQUQiLCJtZXNzYWdlIiwicmVqZWN0ZWQiLCJGSUxFX1VOU1VQUE9SVEVEIiwiam9pbiIsIkZJTEVfRVJST1JfQUREIiwiX3RoaXMyIiwiaHJlZiIsIkZvcm1EYXRhIiwiYWpheCIsIm1ldGhvZCIsImNvbnRlbnRUeXBlIiwicHJvY2Vzc0RhdGEiLCJzdWNjZXNzIiwiYXRvYiIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImVycm9yIiwicHJldmlld0VsZW1lbnQiLCJpbnN0YW5jZXMiLCJjYWNoZSIsIm9uQWRkZWROb2RlcyIsImV2ZW50IiwidGFyZ2V0IiwiYWRkTm9kZSIsInNldHRpbmdzIiwiYWNjZXB0IiwiaW5kZXhPZiIsImF0dHIiLCJwYXJhbU5hbWUiLCJtYXhGaWxlc2l6ZSIsImZpbGVzaXplIiwibWF4RmlsZXMiLCJsaW1pdCIsInJlc2l6ZVdpZHRoIiwicmVzaXplSGVpZ2h0IiwicmVzaXplUXVhbGl0eSIsImRvbmUiLCJyZXNvbHV0aW9uIiwiZ2V0QWNjZXB0ZWRGaWxlcyIsInJlcGxhY2UiLCJlbWl0IiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm1pbiIsIm1heCIsIm9ubG9hZCIsImltYWdlIiwiSW1hZ2UiLCJzcmMiLCJyZXN1bHQiLCJfdGhpczMiLCJrZXlzIiwiZm9yRWFjaCIsIlJFU09MVVRJT05fTUlOIiwiUkVTT0xVVElPTl9NQVgiLCJyZWFkQXNEYXRhVVJMIiwiYWRkIiwiSW5zdGFuY2VzIiwiZG9jdW1lbnQiLCJyZWFkeSIsImkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUF1QjtBQUNTO0FBQ2hDO0FBQytDOztBQUUvQztBQUNBLElBQU1BLFVBQVUsR0FBRztFQUNmQyxnQkFBZ0IsRUFBRUMsc0RBQVksQ0FBQ0MsV0FBVyxDQUFDQyxzQkFBc0I7RUFDakVDLDRCQUE0QixFQUFFSCxzREFBWSxDQUFDQyxXQUFXLENBQUNHLG1DQUFtQztFQUMxRkMsa0JBQWtCLEVBQUVMLHNEQUFZLENBQUNDLFdBQVcsQ0FBQ0ssd0JBQXdCO0VBQ3JFQyxtQkFBbUIsRUFBRVAsc0RBQVksQ0FBQ0MsV0FBVyxDQUFDTyx5QkFBeUI7RUFDdkVDLGdCQUFnQixFQUFFVCxzREFBWSxDQUFDQyxXQUFXLENBQUNTLHNCQUFzQjtFQUNqRUMsY0FBYyxFQUFFWCxzREFBWSxDQUFDQyxXQUFXLENBQUNXLHFCQUFxQjtFQUM5REMsbUJBQW1CLEVBQUViLHNEQUFZLENBQUNDLFdBQVcsQ0FBQ2EsMEJBQTBCO0VBQ3hFQyxvQkFBb0IsRUFBRWYs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QixDQUFDLE1BQU07UUFDSCxPQUFPNEUsSUFBSSxDQUFDcEIsS0FBSyxDQUFDO01BQ3RCO0lBQ0o7RUFDSixDQUFDO0VBRURHLEtBQUssR0FBR0EsS0FBSyxDQUFDcUMsR0FBRyxDQUFDakksU0FBUyxDQUFDO0VBQzVCQSxTQUFTLEdBQUdBLFNBQVMsQ0FBQyxDQUFDLENBQUM7RUFDeEIyRixTQUFTLENBQUNoRCxJQUFJLENBQUMsSUFBSWpELFVBQVUsQ0FBQztJQUFDTSxTQUFTLEVBQVRBLFNBQVM7SUFBRUUsT0FBTyxFQUFQQTtFQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFTSxJQUFJZ0ksU0FBUyxHQUFJLFlBQU07RUFDMUI5SCw2Q0FBQyxDQUFDK0gsUUFBUSxDQUFDLENBQUNDLEtBQUssQ0FBQyxZQUFNO0lBQ3BCaEksNkNBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDMkIsSUFBSSxDQUFDLFVBQUNzRyxDQUFDLEVBQUVySSxTQUFTO01BQUEsT0FBS2dHLE9BQU8sQ0FBQ2hHLFNBQVMsQ0FBQztJQUFBLEVBQUM7SUFDdEVJLDZDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNjLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRTJFLFlBQVksQ0FBQztFQUNoRCxDQUFDLENBQUM7RUFFRixPQUFPRixTQUFTO0FBQ3BCLENBQUMsQ0FBRSxDQUFDLEMiLCJmaWxlIjoiLi9hcHAvZmllbGRzL2ZpbGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IERyb3B6b25lIGZyb20gJ2Ryb3B6b25lJztcbi8vIGltcG9ydCBFWElGIGZyb20gJ2V4aWYtanMnO1xuaW1wb3J0IHtjb25maWcsIHRyYW5zbGF0aW9uc30gZnJvbSAnZ3Jhdi1mb3JtJztcblxuLy8gdHJhbnNsYXRpb25zXG5jb25zdCBEaWN0aW9uYXJ5ID0ge1xuICAgIGRpY3RDYW5jZWxVcGxvYWQ6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9DQU5DRUxfVVBMT0FELFxuICAgIGRpY3RDYW5jZWxVcGxvYWRDb25maXJtYXRpb246IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9DQU5DRUxfVVBMT0FEX0NPTkZJUk1BVElPTixcbiAgICBkaWN0RGVmYXVsdE1lc3NhZ2U6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9ERUZBVUxUX01FU1NBR0UsXG4gICAgZGljdEZhbGxiYWNrTWVzc2FnZTogdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLkRST1BaT05FX0ZBTExCQUNLX01FU1NBR0UsXG4gICAgZGljdEZhbGxiYWNrVGV4dDogdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLkRST1BaT05FX0ZBTExCQUNLX1RFWFQsXG4gICAgZGljdEZpbGVUb29CaWc6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9GSUxFX1RPT19CSUcsXG4gICAgZGljdEludmFsaWRGaWxlVHlwZTogdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLkRST1BaT05FX0lOVkFMSURfRklMRV9UWVBFLFxuICAgIGRpY3RNYXhGaWxlc0V4Y2VlZGVkOiB0cmFuc2xhdGlvbnMuUExVR0lOX0ZPUk0uRFJPUFpPTkVfTUFYX0ZJTEVTX0VYQ0VFREVELFxuICAgIGRpY3RSZW1vdmVGaWxlOiB0cmFuc2xhdGlvbnMuUExVR0lOX0ZPUk0uRFJPUFpPTkVfUkVNT1ZFX0ZJTEUsXG4gICAgZGljdFJlbW92ZUZpbGVDb25maXJtYXRpb246IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9SRU1PVkVfRklMRV9DT05GSVJNQVRJT04sXG4gICAgZGljdFJlc3BvbnNlRXJyb3I6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9SRVNQT05TRV9FUlJPUlxufTtcblxuRHJvcHpvbmUuYXV0b0Rpc2NvdmVyID0gZmFsc2U7XG5cbmNvbnN0IERyb3B6b25lTWVkaWFDb25maWcgPSB7XG4gICAgY3JlYXRlSW1hZ2VUaHVtYm5haWxzOiB7dGh1bWJuYWlsV2lkdGg6IDE1MH0sXG4gICAgYWRkUmVtb3ZlTGlua3M6IGZhbHNlLFxuICAgIGRpY3REZWZhdWx0TWVzc2FnZTogRGljdGlvbmFyeS5kaWN0RGVmYXVsdE1lc3NhZ2UsXG4gICAgZGljdFJlbW92ZUZpbGVDb25maXJtYXRpb246IERpY3Rpb25hcnkuZGljdFJlbW92ZUZpbGVDb25maXJtYXRpb24sXG4gICAgcHJldmlld1RlbXBsYXRlOiAnJ1xufTtcblxuLy8gd2luZG93LkVYSUYgPSBFWElGO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlc0ZpZWxkIHtcbiAgICBjb25zdHJ1Y3Rvcih7Y29udGFpbmVyID0gJy5kcm9wem9uZS5maWxlcy11cGxvYWQnLCBvcHRpb25zID0ge319ID0ge30pIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICAgIGlmICghdGhpcy5jb250YWluZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVybHMgPSB7fTtcbiAgICAgICAgRHJvcHpvbmVNZWRpYUNvbmZpZy5wcmV2aWV3VGVtcGxhdGUgPSAkKCcjZHJvcHpvbmUtdGVtcGxhdGUnKS5odG1sKCk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIERpY3Rpb25hcnksIERyb3B6b25lTWVkaWFDb25maWcsIHtcbiAgICAgICAgICAgIGtsYXNzOiB0aGlzLFxuICAgICAgICAgICAgdXJsOiB0aGlzLmNvbnRhaW5lci5kYXRhKCdmaWxlLXVybC1hZGQnKSB8fCBjb25maWcuY3VycmVudF91cmwsXG4gICAgICAgICAgICBhY2NlcHRlZEZpbGVzOiB0aGlzLmNvbnRhaW5lci5kYXRhKCdtZWRpYS10eXBlcycpLFxuICAgICAgICAgICAgaW5pdDogdGhpcy5pbml0RHJvcHpvbmVcbiAgICAgICAgfSwgdGhpcy5jb250YWluZXIuZGF0YSgnZHJvcHpvbmUtb3B0aW9ucycpLCBvcHRpb25zKTtcblxuICAgICAgICB0aGlzLmRyb3B6b25lID0gbmV3IERyb3B6b25lKGNvbnRhaW5lciwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgdGhpcy5kcm9wem9uZS5vbignY29tcGxldGUnLCB0aGlzLm9uRHJvcHpvbmVDb21wbGV0ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy5kcm9wem9uZS5vbignc3VjY2VzcycsIHRoaXMub25Ecm9wem9uZVN1Y2Nlc3MuYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMuZHJvcHpvbmUub24oJ3JlbW92ZWRmaWxlJywgdGhpcy5vbkRyb3B6b25lUmVtb3ZlZEZpbGUuYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMuZHJvcHpvbmUub24oJ3NlbmRpbmcnLCB0aGlzLm9uRHJvcHpvbmVTZW5kaW5nLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLmRyb3B6b25lLm9uKCdlcnJvcicsIHRoaXMub25Ecm9wem9uZUVycm9yLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIGluaXREcm9wem9uZSgpIHtcbiAgICAgICAgbGV0IGZpbGVzID0gdGhpcy5vcHRpb25zLmtsYXNzLmNvbnRhaW5lci5maW5kKCdbZGF0YS1maWxlXScpO1xuICAgICAgICBsZXQgZHJvcHpvbmUgPSB0aGlzO1xuICAgICAgICBpZiAoIWZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlsZXMuZWFjaCgoaW5kZXgsIGZpbGUpID0+IHtcbiAgICAgICAgICAgIGZpbGUgPSAkKGZpbGUpO1xuICAgICAgICAgICAgbGV0IGRhdGEgPSBmaWxlLmRhdGEoJ2ZpbGUnKTtcbiAgICAgICAgICAgIGxldCBtb2NrID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICAgICAgICBzaXplOiBkYXRhLnNpemUsXG4gICAgICAgICAgICAgICAgdHlwZTogZGF0YS50eXBlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogRHJvcHpvbmUuQURERUQsXG4gICAgICAgICAgICAgICAgYWNjZXB0ZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdXJsOiB0aGlzLm9wdGlvbnMudXJsLFxuICAgICAgICAgICAgICAgIHJlbW92ZVVybDogZGF0YS5yZW1vdmUsXG4gICAgICAgICAgICAgICAgZGF0YVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgZHJvcHpvbmUuZmlsZXMucHVzaChtb2NrKTtcbiAgICAgICAgICAgIGRyb3B6b25lLm9wdGlvbnMuYWRkZWRmaWxlLmNhbGwoZHJvcHpvbmUsIG1vY2spO1xuICAgICAgICAgICAgaWYgKG1vY2sudHlwZS5tYXRjaCgvXmltYWdlXFwvLykpIGRyb3B6b25lLm9wdGlvbnMudGh1bWJuYWlsLmNhbGwoZHJvcHpvbmUsIG1vY2ssIGRhdGEucGF0aCk7XG5cbiAgICAgICAgICAgIGZpbGUucmVtb3ZlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFVSSSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ21lZGlhVXJpJykgfHwgJyc7XG4gICAgfVxuXG4gICAgb25Ecm9wem9uZVNlbmRpbmcoZmlsZSwgeGhyLCBmb3JtRGF0YSkge1xuICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5jb250YWluZXIuY2xvc2VzdCgnZm9ybScpO1xuICAgICAgICBjb25zdCB1bmlxdWVfaWQgPSBmb3JtLmZpbmQoJ1tuYW1lPVwiX191bmlxdWVfZm9ybV9pZF9fXCJdJyk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnX19mb3JtLW5hbWVfXycsIGZvcm0uZmluZCgnW25hbWU9XCJfX2Zvcm0tbmFtZV9fXCJdJykudmFsKCkpO1xuICAgICAgICBpZiAodW5pcXVlX2lkLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdfX3VuaXF1ZV9mb3JtX2lkX18nLCB1bmlxdWVfaWQudmFsKCkpO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnX19mb3JtLWZpbGUtdXBsb2FkZXJfXycsIDEpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ25hbWUnLCB0aGlzLm9wdGlvbnMuZG90Tm90YXRpb24pO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2Zvcm0tbm9uY2UnLCBjb25maWcuZm9ybV9ub25jZSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgndGFzaycsICdmaWxlc3VwbG9hZCcpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3VyaScsIHRoaXMuZ2V0VVJJKCkpO1xuICAgIH1cblxuICAgIG9uRHJvcHpvbmVTdWNjZXNzKGZpbGUsIHJlc3BvbnNlLCB4aHIpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yZWxvYWRQYWdlKSB7XG4gICAgICAgICAgICBnbG9iYWwubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdG9yZSBwYXJhbXMgZm9yIHJlbW92aW5nIGZpbGUgZnJvbSBzZXNzaW9uIGJlZm9yZSBpdCBnZXRzIHNhdmVkXG4gICAgICAgIGlmIChyZXNwb25zZS5zZXNzaW9uKSB7XG4gICAgICAgICAgICBmaWxlLnNlc3Npb25QYXJhbXMgPSByZXNwb25zZS5zZXNzaW9uO1xuICAgICAgICAgICAgZmlsZS5yZW1vdmVVcmwgPSB0aGlzLm9wdGlvbnMudXJsO1xuXG4gICAgICAgICAgICAvLyBUb3VjaCBmaWVsZCB2YWx1ZSB0byBmb3JjZSBhIG11dGF0aW9uIGRldGVjdGlvblxuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmNvbnRhaW5lci5maW5kKCdbbmFtZV1bdHlwZT1cImhpZGRlblwiXScpO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpbnB1dC52YWwoKTtcbiAgICAgICAgICAgIGlucHV0LnZhbCh2YWx1ZSArICcgJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVFcnJvcih7XG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UsXG4gICAgICAgICAgICBtb2RlOiAncmVtb3ZlRmlsZScsXG4gICAgICAgICAgICBtc2c6IGA8cD4ke3RyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5GSUxFX0VSUk9SX1VQTE9BRH0gPHN0cm9uZz4ke2ZpbGUubmFtZX08L3N0cm9uZz48L3A+XG4gICAgICAgICAgICA8cHJlPiR7cmVzcG9uc2UubWVzc2FnZX08L3ByZT5gXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRHJvcHpvbmVDb21wbGV0ZShmaWxlKSB7XG4gICAgICAgIGlmICghZmlsZS5hY2NlcHRlZCAmJiAhZmlsZS5yZWplY3RlZCkge1xuICAgICAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke3RyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5GSUxFX1VOU1VQUE9SVEVEfTogJHtmaWxlLm5hbWUubWF0Y2goL1xcLi4rLykuam9pbignJyl9YFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICBtb2RlOiAncmVtb3ZlRmlsZScsXG4gICAgICAgICAgICAgICAgbXNnOiBgPHA+JHt0cmFuc2xhdGlvbnMuUExVR0lOX0ZPUk0uRklMRV9FUlJPUl9BRER9IDxzdHJvbmc+JHtmaWxlLm5hbWV9PC9zdHJvbmc+PC9wPlxuICAgICAgICAgICAgICAgIDxwcmU+JHtkYXRhLm1lc3NhZ2V9PC9wcmU+YFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJlbG9hZFBhZ2UpIHtcbiAgICAgICAgICAgIGdsb2JhbC5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJvcHpvbmVSZW1vdmVkRmlsZShmaWxlLCAuLi5leHRyYSkge1xuICAgICAgICBpZiAoIWZpbGUuYWNjZXB0ZWQgfHwgZmlsZS5yZWplY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCdmb3JtJyk7XG4gICAgICAgIGNvbnN0IHVuaXF1ZV9pZCA9IGZvcm0uZmluZCgnW25hbWU9XCJfX3VuaXF1ZV9mb3JtX2lkX19cIl0nKTtcbiAgICAgICAgbGV0IHVybCA9IGZpbGUucmVtb3ZlVXJsIHx8IHRoaXMudXJscy5kZWxldGUgfHwgYCR7bG9jYXRpb24uaHJlZn0uanNvbmA7XG4gICAgICAgIGxldCBwYXRoID0gKHVybCB8fCAnJykubWF0Y2goL3BhdGg6KC4qKVxcLy8pO1xuICAgICAgICBsZXQgZGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgICAgIGRhdGEuYXBwZW5kKCdmaWxlbmFtZScsIGZpbGUubmFtZSk7XG4gICAgICAgIGRhdGEuYXBwZW5kKCdfX2Zvcm0tbmFtZV9fJywgZm9ybS5maW5kKCdbbmFtZT1cIl9fZm9ybS1uYW1lX19cIl0nKS52YWwoKSk7XG4gICAgICAgIGRhdGEuYXBwZW5kKCduYW1lJywgdGhpcy5vcHRpb25zLmRvdE5vdGF0aW9uKTtcbiAgICAgICAgZGF0YS5hcHBlbmQoJ2Zvcm0tbm9uY2UnLCBjb25maWcuZm9ybV9ub25jZSk7XG4gICAgICAgIGRhdGEuYXBwZW5kKCd1cmknLCB0aGlzLmdldFVSSSgpKTtcblxuICAgICAgICBpZiAoZmlsZS5zZXNzaW9uUGFyYW1zKSB7XG4gICAgICAgICAgICBkYXRhLmFwcGVuZCgnX19mb3JtLWZpbGUtcmVtb3Zlcl9fJywgJzEnKTtcbiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCdzZXNzaW9uJywgZmlsZS5zZXNzaW9uUGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1bmlxdWVfaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICBkYXRhLmFwcGVuZCgnX191bmlxdWVfZm9ybV9pZF9fJywgdW5pcXVlX2lkLnZhbCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogZmFsc2UsXG4gICAgICAgICAgICBwcm9jZXNzRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwYXRoID0gZ2xvYmFsLmF0b2IocGF0aFsxXSk7XG4gICAgICAgICAgICAgICAgbGV0IGlucHV0ID0gdGhpcy5jb250YWluZXIuZmluZCgnW25hbWVdW3R5cGU9XCJoaWRkZW5cIl0nKTtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoaW5wdXQudmFsKCkgfHwgJ3t9Jyk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGRhdGFbcGF0aF07XG4gICAgICAgICAgICAgICAgaW5wdXQudmFsKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Ecm9wem9uZUVycm9yKGZpbGUsIHJlc3BvbnNlLCB4aHIpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSB4aHIgJiYgcmVzcG9uc2UuZXJyb3IgPyByZXNwb25zZS5lcnJvci5tZXNzYWdlIDogcmVzcG9uc2U7XG4gICAgICAgICQoZmlsZS5wcmV2aWV3RWxlbWVudCkuZmluZCgnW2RhdGEtZHotZXJyb3JtZXNzYWdlXScpLmh0bWwobWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3Ioe1xuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgIGRhdGE6IHtzdGF0dXM6ICdlcnJvcid9LFxuICAgICAgICAgICAgbXNnOiBgPHByZT4ke21lc3NhZ2V9PC9wcmU+YFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVFcnJvcihvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAvKiBsZXQgeyBmaWxlLCBkYXRhLCBtb2RlLCBtc2cgfSA9IG9wdGlvbnM7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gJ2Vycm9yJyAmJiBkYXRhLnN0YXR1cyAhPT0gJ3VuYXV0aG9yaXplZCcpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdhZGRCYWNrJzpcbiAgICAgICAgICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wem9uZS5hZGRGaWxlLmNhbGwodGhpcy5kcm9wem9uZSwgZmlsZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wem9uZS5maWxlcy5wdXNoKGZpbGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3B6b25lLm9wdGlvbnMuYWRkZWRmaWxlLmNhbGwodGhpcy5kcm9wem9uZSwgZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcHpvbmUub3B0aW9ucy50aHVtYm5haWwuY2FsbCh0aGlzLmRyb3B6b25lLCBmaWxlLCBmaWxlLmV4dHJhcy51cmwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmVtb3ZlRmlsZSc6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICh+dGhpcy5kcm9wem9uZS5maWxlcy5pbmRleE9mKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGUucmVqZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3B6b25lLnJlbW92ZUZpbGUuY2FsbCh0aGlzLmRyb3B6b25lLCBmaWxlLCB7IHNpbGVudDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBtb2RhbCA9ICQoJ1tkYXRhLXJlbW9kYWwtaWQ9XCJnZW5lcmljXCJdJyk7XG4gICAgICAgIG1vZGFsLmZpbmQoJy5lcnJvci1jb250ZW50JykuaHRtbChtc2cpO1xuICAgICAgICAkLnJlbW9kYWwubG9va3VwW21vZGFsLmRhdGEoJ3JlbW9kYWwnKV0ub3BlbigpOyAqL1xuICAgIH1cbn1cblxuLypcbmV4cG9ydCBmdW5jdGlvbiBVcmlUb01hcmtkb3duKHVyaSkge1xuICAgIHVyaSA9IHVyaS5yZXBsYWNlKC9AM3h8QDJ4fEAxeC8sICcnKTtcbiAgICB1cmkgPSB1cmkucmVwbGFjZSgvXFwoL2csICclMjgnKTtcbiAgICB1cmkgPSB1cmkucmVwbGFjZSgvXFwpL2csICclMjknKTtcblxuICAgIHJldHVybiB1cmkubWF0Y2goL1xcLihqcGU/Z3xwbmd8Z2lmfHN2ZykkL2kpID8gYCFbXSgke3VyaX0pYCA6IGBbJHtkZWNvZGVVUkkodXJpKX1dKCR7dXJpfSlgO1xufVxuKi9cblxubGV0IGluc3RhbmNlcyA9IFtdO1xubGV0IGNhY2hlID0gJCgpO1xuY29uc3Qgb25BZGRlZE5vZGVzID0gKGV2ZW50LCB0YXJnZXQvKiAsIHJlY29yZCwgaW5zdGFuY2UgKi8pID0+IHtcbiAgICBsZXQgZmlsZXMgPSAkKHRhcmdldCkuZmluZCgnLmRyb3B6b25lLmZpbGVzLXVwbG9hZCcpO1xuICAgIGlmICghZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmaWxlcy5lYWNoKChpbmRleCwgZmlsZSkgPT4ge1xuICAgICAgICBmaWxlID0gJChmaWxlKTtcbiAgICAgICAgaWYgKCF+Y2FjaGUuaW5kZXgoZmlsZSkpIHtcbiAgICAgICAgICAgIGFkZE5vZGUoZmlsZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5cbmNvbnN0IGFkZE5vZGUgPSAoY29udGFpbmVyKSA9PiB7XG4gICAgY29udGFpbmVyID0gJChjb250YWluZXIpO1xuICAgIGxldCBpbnB1dCA9IGNvbnRhaW5lci5maW5kKCdpbnB1dFt0eXBlPVwiZmlsZVwiXScpO1xuICAgIGxldCBzZXR0aW5ncyA9IGNvbnRhaW5lci5kYXRhKCdncmF2LWZpbGUtc2V0dGluZ3MnKSB8fCB7fTtcblxuICAgIGlmIChzZXR0aW5ncy5hY2NlcHQgJiYgfnNldHRpbmdzLmFjY2VwdC5pbmRleE9mKCcqJykpIHtcbiAgICAgICAgc2V0dGluZ3MuYWNjZXB0ID0gWycnXTtcbiAgICB9XG5cbiAgICBsZXQgb3B0aW9ucyA9IHtcbiAgICAgICAgdXJsOiBjb250YWluZXIuZGF0YSgnZmlsZS11cmwtYWRkJykgfHwgKGNvbnRhaW5lci5jbG9zZXN0KCdmb3JtJykuYXR0cignYWN0aW9uJykgfHwgY29uZmlnLmN1cnJlbnRfdXJsKSArICcuanNvbicsXG4gICAgICAgIHBhcmFtTmFtZTogc2V0dGluZ3MucGFyYW1OYW1lIHx8ICdmaWxlJyxcbiAgICAgICAgZG90Tm90YXRpb246IHNldHRpbmdzLm5hbWUgfHwgJ2ZpbGUnLFxuICAgICAgICBhY2NlcHRlZEZpbGVzOiBzZXR0aW5ncy5hY2NlcHQgPyBzZXR0aW5ncy5hY2NlcHQuam9pbignLCcpIDogaW5wdXQuYXR0cignYWNjZXB0JykgfHwgY29udGFpbmVyLmRhdGEoJ21lZGlhLXR5cGVzJyksXG4gICAgICAgIG1heEZpbGVzaXplOiBzZXR0aW5ncy5maWxlc2l6ZSB8fCAyNTYsXG4gICAgICAgIG1heEZpbGVzOiBzZXR0aW5ncy5saW1pdCB8fCBudWxsLFxuICAgICAgICByZXNpemVXaWR0aDogc2V0dGluZ3MucmVzaXplV2lkdGggfHwgbnVsbCxcbiAgICAgICAgcmVzaXplSGVpZ2h0OiBzZXR0aW5ncy5yZXNpemVIZWlnaHQgfHwgbnVsbCxcbiAgICAgICAgcmVzaXplUXVhbGl0eTogc2V0dGluZ3MucmVzaXplUXVhbGl0eSB8fCBudWxsLFxuICAgICAgICBhY2NlcHQ6IGZ1bmN0aW9uKGZpbGUsIGRvbmUpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc29sdXRpb24gPSBzZXR0aW5ncy5yZXNvbHV0aW9uO1xuICAgICAgICAgICAgbGV0IGVycm9yID0gJyc7XG4gICAgICAgICAgICBpZiAoIXJlc29sdXRpb24pIHJldHVybiBkb25lKCk7XG5cbiAgICAgICAgICAgIGlmICgodGhpcy5vcHRpb25zLm1heEZpbGVzICE9IG51bGwpICYmICh0aGlzLmdldEFjY2VwdGVkRmlsZXMoKS5sZW5ndGggPj0gdGhpcy5vcHRpb25zLm1heEZpbGVzKSkge1xuICAgICAgICAgICAgICAgIGRvbmUodGhpcy5vcHRpb25zLmRpY3RNYXhGaWxlc0V4Y2VlZGVkLnJlcGxhY2UoJ3t7bWF4RmlsZXN9fScsIHRoaXMub3B0aW9ucy5tYXhGaWxlcykpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVtaXQoJ21heGZpbGVzZXhjZWVkZWQnLCBmaWxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIGlmIChyZXNvbHV0aW9uLm1pbiB8fCAoIShzZXR0aW5ncy5yZXNpemVXaWR0aCB8fCBzZXR0aW5ncy5yZXNpemVIZWlnaHQpICYmIHJlc29sdXRpb24ubWF4KSkge1xuICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS5zcmMgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNvbHV0aW9uLm1pbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlc29sdXRpb24ubWluKS5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzW2F0dHJdIDwgcmVzb2x1dGlvbi5taW5bYXR0cl0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yICs9IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5SRVNPTFVUSU9OX01JTi5yZXBsYWNlKC97e2F0dHJ9fS9nLCBhdHRyKS5yZXBsYWNlKC97e21pbn19L2csIHJlc29sdXRpb24ubWluW2F0dHJdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShzZXR0aW5ncy5yZXNpemVXaWR0aCB8fCBzZXR0aW5ncy5yZXNpemVIZWlnaHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc29sdXRpb24ubWF4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlc29sdXRpb24ubWF4KS5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpc1thdHRyXSA+IHJlc29sdXRpb24ubWF4W2F0dHJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgKz0gdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLlJFU09MVVRJT05fTUFYLnJlcGxhY2UoL3t7YXR0cn19L2csIGF0dHIpLnJlcGxhY2UoL3t7bWF4fX0vZywgcmVzb2x1dGlvbi5tYXhbYXR0cl0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRvbmUoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNhY2hlID0gY2FjaGUuYWRkKGNvbnRhaW5lcik7XG4gICAgY29udGFpbmVyID0gY29udGFpbmVyWzBdO1xuICAgIGluc3RhbmNlcy5wdXNoKG5ldyBGaWxlc0ZpZWxkKHtjb250YWluZXIsIG9wdGlvbnN9KSk7XG59O1xuXG5leHBvcnQgbGV0IEluc3RhbmNlcyA9ICgoKSA9PiB7XG4gICAgJChkb2N1bWVudCkucmVhZHkoKCkgPT4ge1xuICAgICAgICAkKCcuZHJvcHpvbmUuZmlsZXMtdXBsb2FkJykuZWFjaCgoaSwgY29udGFpbmVyKSA9PiBhZGROb2RlKGNvbnRhaW5lcikpO1xuICAgICAgICAkKCdib2R5Jykub24oJ211dGF0aW9uLl9ncmF2Jywgb25BZGRlZE5vZGVzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZXM7XG59KSgpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/fields/file.js\n"); /***/ }), /***/ "./app/fields/form.js": /*!****************************!*\ !*** ./app/fields/form.js ***! \****************************/ /*! no exports provided */ /***/ (function(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 attachToggleables = function attachToggleables(form) {\n form = jquery__WEBPACK_IMPORTED_MODULE_0___default()(form);\n var query = '[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]';\n form.on('change', query, function (event) {\n var toggle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var enabled = toggle.is(':checked');\n var parent = toggle.closest('.form-field');\n var label = parent.find('label.toggleable');\n var fields = parent.find('.form-data');\n var inputs = fields.find('input, select, textarea, button');\n label.add(fields).css('opacity', enabled ? '' : 0.7);\n inputs.map(function (index, input) {\n var isSelectize = input.selectize;\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n if (isSelectize) {\n isSelectize[enabled ? 'enable' : 'disable']();\n } else {\n input.prop('disabled', !enabled);\n }\n });\n });\n form.find(query).trigger('change');\n};\nvar attachDisabledFields = function attachDisabledFields(form) {\n form = jquery__WEBPACK_IMPORTED_MODULE_0___default()(form);\n var prefix = '.form-field-toggleable .form-data';\n var query = [];\n ['input', 'select', 'label[for]', 'textarea', '.selectize-control'].forEach(function (item) {\n query.push(\"\".concat(prefix, \" \").concat(item));\n });\n form.on('mousedown', query.join(', '), function (event) {\n var input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n var isFor = input.prop('for');\n var isSelectize = (input.hasClass('selectize-control') || input.parents('.selectize-control')).length;\n if (isFor) {\n input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[id=\\\"\".concat(isFor, \"\\\"]\"));\n }\n if (isSelectize) {\n input = input.closest('.selectize-control').siblings('select[name]');\n }\n if (!input.prop('disabled')) {\n return true;\n }\n var toggle = input.closest('.form-field').find('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]');\n toggle.trigger('click');\n });\n};\n\n/*\nconst submitUncheckedFields = (forms) => {\n forms = $(forms);\n let submitted = false;\n forms.each((index, form) => {\n form = $(form);\n form.on('submit', () => {\n // workaround for MS Edge, submitting multiple forms at the same time\n if (submitted) { return false; }\n\n let formId = form.attr('id');\n let unchecked = form.find('input[type=\"checkbox\"]:not(:checked):not(:disabled)');\n let submit = form.find('[type=\"submit\"]').add(`[form=\"${formId}\"][type=\"submit\"]`);\n\n if (!unchecked.length) { return true; }\n\n submit.addClass('pointer-events-disabled');\n unchecked.each((index, element) => {\n element = $(element);\n let name = element.prop('name');\n let fake = $(``);\n form.append(fake);\n });\n submitted = true;\n return true;\n });\n });\n};\n*/\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {\n var forms = jquery__WEBPACK_IMPORTED_MODULE_0___default()('form').filter(function (form) {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(form).find('[name=\"__form-name__\"]');\n });\n if (!forms.length) {\n return;\n }\n forms.each(function (index, form) {\n attachToggleables(form);\n attachDisabledFields(form);\n // submitUncheckedFields(form);\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL2Zvcm0uanM/YWRkYiJdLCJuYW1lcyI6WyJhdHRhY2hUb2dnbGVhYmxlcyIsImZvcm0iLCIkIiwicXVlcnkiLCJvbiIsImV2ZW50IiwidG9nZ2xlIiwidGFyZ2V0IiwiZW5hYmxlZCIsImlzIiwicGFyZW50IiwiY2xvc2VzdCIsImxhYmVsIiwiZmluZCIsImZpZWxkcyIsImlucHV0cyIsImFkZCIsImNzcyIsIm1hcCIsImluZGV4IiwiaW5wdXQiLCJpc1NlbGVjdGl6ZSIsInNlbGVjdGl6ZSIsInByb3AiLCJ0cmlnZ2VyIiwiYXR0YWNoRGlzYWJsZWRGaWVsZHMiLCJwcmVmaXgiLCJmb3JFYWNoIiwiaXRlbSIsInB1c2giLCJjb25jYXQiLCJqb2luIiwiaXNGb3IiLCJoYXNDbGFzcyIsInBhcmVudHMiLCJsZW5ndGgiLCJzaWJsaW5ncyIsImRvY3VtZW50IiwicmVhZHkiLCJmb3JtcyIsImZpbHRlciIsImVhY2giXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUF1QjtBQUV2QixJQUFNQSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxJQUFJLEVBQUs7RUFDaENBLElBQUksR0FBR0MsNkNBQUMsQ0FBQ0QsSUFBSSxDQUFDO0VBQ2QsSUFBSUUsS0FBSyxHQUFHLHVEQUF1RDtFQUVuRUYsSUFBSSxDQUFDRyxFQUFFLENBQUMsUUFBUSxFQUFFRCxLQUFLLEVBQUUsVUFBQ0UsS0FBSyxFQUFLO0lBQ2hDLElBQUlDLE1BQU0sR0FBR0osNkNBQUMsQ0FBQ0csS0FBSyxDQUFDRSxNQUFNLENBQUM7SUFDNUIsSUFBSUMsT0FBTyxHQUFHRixNQUFNLENBQUNHLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDbkMsSUFBSUMsTUFBTSxHQUFHSixNQUFNLENBQUNLLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDMUMsSUFBSUMsS0FBSyxHQUFHRixNQUFNLENBQUNHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQyxJ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QUNBO0FBQ0E7O0FBRUF0Qiw2Q0FBQyxDQUFDbUMsUUFBUSxDQUFDLENBQUNDLEtBQUssQ0FBQyxZQUFNO0VBQ3BCLElBQU1DLEtBQUssR0FBR3JDLDZDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNzQyxNQUFNLENBQUMsVUFBQ3ZDLElBQUk7SUFBQSxPQUFLQyw2Q0FBQyxDQUFDRCxJQUFJLENBQUMsQ0FBQ1ksSUFBSSxDQUFDLHdCQUF3QixDQUFDO0VBQUEsRUFBQztFQUNoRixJQUFJLENBQUMwQixLQUFLLENBQUNKLE1BQU0sRUFBRTtJQUFFO0VBQVE7RUFFN0JJLEtBQUssQ0FBQ0UsSUFBSSxDQUFDLFVBQUN0QixLQUFLLEVBQUVsQixJQUFJLEVBQUs7SUFDeEJELGlCQUFpQixDQUFDQyxJQUFJLENBQUM7SUFDdkJ3QixvQkFBb0IsQ0FBQ3hCLElBQUksQ0FBQztJQUMxQjtFQUNKLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyIsImZpbGUiOiIuL2FwcC9maWVsZHMvZm9ybS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5cbmNvbnN0IGF0dGFjaFRvZ2dsZWFibGVzID0gKGZvcm0pID0+IHtcbiAgICBmb3JtID0gJChmb3JtKTtcbiAgICBsZXQgcXVlcnkgPSAnW2RhdGEtZ3Jhdi1maWVsZD1cInRvZ2dsZWFibGVcIl0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJztcblxuICAgIGZvcm0ub24oJ2NoYW5nZScsIHF1ZXJ5LCAoZXZlbnQpID0+IHtcbiAgICAgICAgbGV0IHRvZ2dsZSA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IGVuYWJsZWQgPSB0b2dnbGUuaXMoJzpjaGVja2VkJyk7XG4gICAgICAgIGxldCBwYXJlbnQgPSB0b2dnbGUuY2xvc2VzdCgnLmZvcm0tZmllbGQnKTtcbiAgICAgICAgbGV0IGxhYmVsID0gcGFyZW50LmZpbmQoJ2xhYmVsLnRvZ2dsZWFibGUnKTtcbiAgICAgICAgbGV0IGZpZWxkcyA9IHBhcmVudC5maW5kKCcuZm9ybS1kYXRhJyk7XG4gICAgICAgIGxldCBpbnB1dHMgPSBmaWVsZHMuZmluZCgnaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGJ1dHRvbicpO1xuXG4gICAgICAgIGxhYmVsLmFkZChmaWVsZHMpLmNzcygnb3BhY2l0eScsIGVuYWJsZWQgPyAnJyA6IDAuNyk7XG4gICAgICAgIGlucHV0cy5tYXAoKGluZGV4LCBpbnB1dCkgPT4ge1xuICAgICAgICAgICAgbGV0IGlzU2VsZWN0aXplID0gaW5wdXQuc2VsZWN0aXplO1xuICAgICAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcblxuICAgICAgICAgICAgaWYgKGlzU2VsZWN0aXplKSB7XG4gICAgICAgICAgICAgICAgaXNTZWxlY3RpemVbZW5hYmxlZCA/ICdlbmFibGUnIDogJ2Rpc2FibGUnXSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnB1dC5wcm9wKCdkaXNhYmxlZCcsICFlbmFibGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBmb3JtLmZpbmQocXVlcnkpLnRyaWdnZXIoJ2NoYW5nZScpO1xufTtcblxuY29uc3QgYXR0YWNoRGlzYWJsZWRGaWVsZHMgPSAoZm9ybSkgPT4ge1xuICAgIGZvcm0gPSAkKGZvcm0pO1xuICAgIGxldCBwcmVmaXggPSAnLmZvcm0tZmllbGQtdG9nZ2xlYWJsZSAuZm9ybS1kYXRhJztcbiAgICBsZXQgcXVlcnkgPSBbXTtcblxuICAgIFsnaW5wdXQnLCAnc2VsZWN0JywgJ2xhYmVsW2Zvcl0nLCAndGV4dGFyZWEnLCAnLnNlbGVjdGl6ZS1jb250cm9sJ10uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBxdWVyeS5wdXNoKGAke3ByZWZpeH0gJHtpdGVtfWApO1xuICAgIH0pO1xuXG4gICAgZm9ybS5vbignbW91c2Vkb3duJywgcXVlcnkuam9pbignLCAnKSwgKGV2ZW50KSA9PiB7XG4gICAgICAgIGxldCBpbnB1dCA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IGlzRm9yID0gaW5wdXQucHJvcCgnZm9yJyk7XG4gICAgICAgIGxldCBpc1NlbGVjdGl6ZSA9IChpbnB1dC5oYXNDbGFzcygnc2VsZWN0aXplLWNvbnRyb2wnKSB8fCBpbnB1dC5wYXJlbnRzKCcuc2VsZWN0aXplLWNvbnRyb2wnKSkubGVuZ3RoO1xuXG4gICAgICAgIGlmIChpc0ZvcikgeyBpbnB1dCA9ICQoYFtpZD1cIiR7aXNGb3J9XCJdYCk7IH1cbiAgICAgICAgaWYgKGlzU2VsZWN0aXplKSB7IGlucHV0ID0gaW5wdXQuY2xvc2VzdCgnLnNlbGVjdGl6ZS1jb250cm9sJykuc2libGluZ3MoJ3NlbGVjdFtuYW1lXScpOyB9XG5cbiAgICAgICAgaWYgKCFpbnB1dC5wcm9wKCdkaXNhYmxlZCcpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgICAgICAgbGV0IHRvZ2dsZSA9IGlucHV0LmNsb3Nlc3QoJy5mb3JtLWZpZWxkJykuZmluZCgnW2RhdGEtZ3Jhdi1maWVsZD1cInRvZ2dsZWFibGVcIl0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJyk7XG4gICAgICAgIHRvZ2dsZS50cmlnZ2VyKCdjbGljaycpO1xuICAgIH0pO1xufTtcblxuLypcbmNvbnN0IHN1Ym1pdFVuY2hlY2tlZEZpZWxkcyA9IChmb3JtcykgPT4ge1xuICAgIGZvcm1zID0gJChmb3Jtcyk7XG4gICAgbGV0IHN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIGZvcm1zLmVhY2goKGluZGV4LCBmb3JtKSA9PiB7XG4gICAgICAgIGZvcm0gPSAkKGZvcm0pO1xuICAgICAgICBmb3JtLm9uKCdzdWJtaXQnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyB3b3JrYXJvdW5kIGZvciBNUyBFZGdlLCBzdWJtaXR0aW5nIG11bHRpcGxlIGZvcm1zIGF0IHRoZSBzYW1lIHRpbWVcbiAgICAgICAgICAgIGlmIChzdWJtaXR0ZWQpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgICAgICAgIGxldCBmb3JtSWQgPSBmb3JtLmF0dHIoJ2lkJyk7XG4gICAgICAgICAgICBsZXQgdW5jaGVja2VkID0gZm9ybS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKTpub3QoOmRpc2FibGVkKScpO1xuICAgICAgICAgICAgbGV0IHN1Ym1pdCA9IGZvcm0uZmluZCgnW3R5cGU9XCJzdWJtaXRcIl0nKS5hZGQoYFtmb3JtPVwiJHtmb3JtSWR9XCJdW3R5cGU9XCJzdWJtaXRcIl1gKTtcblxuICAgICAgICAgICAgaWYgKCF1bmNoZWNrZWQubGVuZ3RoKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgICAgICAgICAgIHN1Ym1pdC5hZGRDbGFzcygncG9pbnRlci1ldmVudHMtZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIHVuY2hlY2tlZC5lYWNoKChpbmRleCwgZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGxldCBuYW1lID0gZWxlbWVudC5wcm9wKCduYW1lJyk7XG4gICAgICAgICAgICAgICAgbGV0IGZha2UgPSAkKGA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCIke25hbWV9XCIgdmFsdWU9XCIwXCIgLz5gKTtcbiAgICAgICAgICAgICAgICBmb3JtLmFwcGVuZChmYWtlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn07XG4qL1xuXG4kKGRvY3VtZW50KS5yZWFkeSgoKSA9PiB7XG4gICAgY29uc3QgZm9ybXMgPSAkKCdmb3JtJykuZmlsdGVyKChmb3JtKSA9PiAkKGZvcm0pLmZpbmQoJ1tuYW1lPVwiX19mb3JtLW5hbWVfX1wiXScpKTtcbiAgICBpZiAoIWZvcm1zLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgIGZvcm1zLmVhY2goKGluZGV4LCBmb3JtKSA9PiB7XG4gICAgICAgIGF0dGFjaFRvZ2dsZWFibGVzKGZvcm0pO1xuICAgICAgICBhdHRhY2hEaXNhYmxlZEZpZWxkcyhmb3JtKTtcbiAgICAgICAgLy8gc3VibWl0VW5jaGVja2VkRmllbGRzKGZvcm0pO1xuICAgIH0pO1xufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/fields/form.js\n"); /***/ }), /***/ "./app/fields/index.js": /*!*****************************!*\ !*** ./app/fields/index.js ***! \*****************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _form__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form */ \"./app/fields/form.js\");\n/* harmony import */ var _file__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file */ \"./app/fields/file.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./array */ \"./app/fields/array.js\");\n/* harmony import */ var _media__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./media */ \"./app/fields/media.js\");\n/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tabs */ \"./app/fields/tabs.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n FileInstances: _file__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ArrayInstances: _array__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Media: {\n PageMedia: _media__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n PageMediaInstances: _media__WEBPACK_IMPORTED_MODULE_3__[\"Instance\"]\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL2luZGV4LmpzPzE4OGEiXSwibmFtZXMiOlsiRmlsZUluc3RhbmNlcyIsIkFycmF5SW5zdGFuY2VzIiwiTWVkaWEiLCJQYWdlTWVkaWEiLCJQYWdlTWVkaWFJbnN0YW5jZXMiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFnQjtBQUNtQjtBQUNFO0FBQytCO0FBQ3BEO0FBRUQ7RUFBRUEsYUFBYSxFQUFiQSw2Q0FBYTtFQUFFQyxjQUFjLEVBQWRBLDhDQUFjO0VBQUVDLEtBQUssRUFBRTtJQUFFQyxTQUFTLEVBQVRBLDhDQUFTO0lBQUVDLGtCQUFrQixFQUFsQkEsK0NBQWtCQTtFQUFDO0FBQUUsQ0FBQyIsImZpbGUiOiIuL2FwcC9maWVsZHMvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vZm9ybSc7XG5pbXBvcnQgRmlsZUluc3RhbmNlcyBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IEFycmF5SW5zdGFuY2VzIGZyb20gJy4vYXJyYXknO1xuaW1wb3J0IFBhZ2VNZWRpYSwgeyBJbnN0YW5jZSBhcyBQYWdlTWVkaWFJbnN0YW5jZXMgfSBmcm9tICcuL21lZGlhJztcbmltcG9ydCAnLi90YWJzJztcblxuZXhwb3J0IGRlZmF1bHQgeyBGaWxlSW5zdGFuY2VzLCBBcnJheUluc3RhbmNlcywgTWVkaWE6IHsgUGFnZU1lZGlhLCBQYWdlTWVkaWFJbnN0YW5jZXMgfSB9O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/fields/index.js\n"); /***/ }), /***/ "./app/fields/media.js": /*!*****************************!*\ !*** ./app/fields/media.js ***! \*****************************/ /*! exports provided: default, Instance */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PageMedia; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Instance\", function() { return Instance; });\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 _file__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file */ \"./app/fields/file.js\");\n/* harmony import */ var grav_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-form */ \"grav-form\");\n/* harmony import */ var grav_form__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_form__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } 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(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar template = \"\\n