diff --git a/config/form-components.php b/config/form-components.php index 3a3f001..1bf0f95 100644 --- a/config/form-components.php +++ b/config/form-components.php @@ -88,6 +88,9 @@ 'tree-select' => Components\Inputs\TreeSelect::class, 'tree-select-option' => Components\Inputs\TreeSelectOption::class, + // Rich Text + 'quill' => Components\RichText\Quill::class, + ], /* @@ -171,6 +174,11 @@ ], 'popper' => 'https://unpkg.com/@popperjs/core@2', + + 'quill' => [ + 'https://cdn.quilljs.com/1.3.6/quill.snow.css', + 'https://cdn.quilljs.com/1.3.6/quill.js', + ], ], /* diff --git a/dist/form-components.js b/dist/form-components.js index 11f2d96..622b19b 100644 --- a/dist/form-components.js +++ b/dist/form-components.js @@ -1 +1,240 @@ -(()=>{var t={400:()=>{"function"!=typeof String.prototype.toSlug&&(String.prototype.toSlug=function(){var t=this.toString();t=(t=t.replace(/^\s+|\s+$/g,"")).toLowerCase();for(var e="àáäâèéëêìíïîòóöôùúüûñç·/_,:;",n=0,o=e.length;n{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}var e;function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function i(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);nt.length&&(this.focusedOptionIndex=0),this._focusOption(t[this.focusedOptionIndex])}},focusPreviousOption:function(){if(!this.disabled){if(!this.open)return this.openMenu();var t=this._getFocusableElements();if(!t.length)return this.focusedOptionIndex=-1;this.focusedOptionIndex--,this.focusedOptionIndex<0&&(this.focusedOptionIndex=t.length-1),this._focusOption(t[this.focusedOptionIndex],{block:"start"})}},focusFirstOption:function(){if(!this.disabled){var t=this._getFocusableElements();if(!t.length)return this.focusedOptionIndex=-1;this.focusedOptionIndex=0,this._focusOption(t[this.focusedOptionIndex],{block:"start"})}},focusLastOption:function(){if(!this.disabled){var t=this._getFocusableElements();if(!t.length)return this.focusedOptionIndex=-1;this.focusedOptionIndex=t.length-1,this._focusOption(t[this.focusedOptionIndex],{block:"end"})}},updateFocusedOptionIndexFromElement:function(t){var e=this._getFocusableElements();if(e.length){this.focusedOptionIndex=e.findIndex((function(e){return e.isEqualNode(t)}));try{this._focusedOptionId=t._x_dataStack[0]._id}catch(t){}}},canToggleOption:function(t){if(this.disabled)return!1;var e=this._isValueSelected(t);return this.multiple?e&&this.value.length<=this.minSelected?this.optional:!(!e&&!this._canSelectAnotherOption()):!(e&&!this.optional)},clearValue:function(){this.disabled||this.optional&&(this.value=this.multiple?[]:null,this.valueLabel=null)},toggleOption:function(t){this.disabled||(this.multiple?this._toggleMultiSelectOption(t):this._toggleSingleSelectOption(t))},toggleOptionByValue:function(t){var e=this._getOptionByValue(t);return e=e?e._x_dataStack[0]:{optionValue:t},this.toggleOption(e)},setNewValue:function(e){var n,o=this;if(this.multiple)return this.value=[],this.selectedOptions=[],void e.forEach((function(t){return o.toggleOptionByValue(t)}));null!==(n=e)&&"object"===t(n)&&(e=null),this.value=e},handleValueChange:function(){if(!this.closeOnSelect&&this.open)return this._initPopper(),void this._focusSearch();this.closeOnSelect&&this.open&&this._handleCloseOnSelect()},labelForValue:function(t){var e=this.selectedOptions.find((function(e){return String(e.optionValue)===String(t)}));return e?e.optionSelectedLabel?e.optionSelectedLabel:e.optionLabel:t},_toggleMultiSelectOption:function(t){var e=t.optionValue,n=s(this.value);this._isValueSelected(e)&&this._canDeSelectAnOption()?(n.splice(n.indexOf(e),1),this.selectedOptions.splice(this.selectedOptions.findIndex((function(t){return String(t.optionValue)===String(e)})),1)):!this._isValueSelected(e)&&this._canSelectAnotherOption()&&(n.push(e),this.selectedOptions.push(t)),this.value=n},_toggleSingleSelectOption:function(t){var e="object"===l(t)?t.optionValue:t;this.value=this._isValueSelected(e)?null:e},_canDeSelectAnOption:function(){return!!this.optional||this.value.length>this.minSelected},_canSelectAnotherOption:function(){return null===this.maxSelected||this.value.length1&&void 0!==arguments[1]?arguments[1]:{};try{t._x_dataStack[0].focus(i({parent:this},e)),this.updateFocusedOptionIndexFromElement(t)}catch(t){}},_focusRoot:function(){var t=this;this.disabled||setTimeout((function(){return t._root.focus()}),50)},_focusSearch:function(){var t=this;if(this.searchable)try{setTimeout((function(){return t.searchInput().focus()}),50)}catch(t){}},_focusSelectedOption:function(){var t=this,e=this.multiple?String(this.value[0]):String(this.value);if(e){var n=this._getOptionByValue(e);n&&!n.optionDisabled&&setTimeout((function(){return t._focusOption(n)}),50)}},_getOptionByValue:function(t){var e=this._getAllOptionElements();return e.length?e.find((function(e){try{return String(e._x_dataStack[0].optionValue)===String(t)}catch(t){}})):null},_getAllOptionElements:function(){return s(this.menu().querySelectorAll(this._optionElementSelector))},_getFocusableElements:function(){return null!==this.focusableElements?this.focusableElements:this.focusableElements=s(this.menu().querySelectorAll(this._focusableElementSelector)).filter((function(t){return null!==t.offsetParent}))},_handleCloseOnSelect:function(){this._shouldCloseOnSelect()&&this.closeMenu()},_handleSearch:function(){if(this.focusableElements=null,this.livewireSearch&&this._wire)try{this._wire[this.livewireSearch](this.search)}catch(t){}else this._doLocalSearch()},_doLocalSearch:function(){var t=this._getAllOptionElements(),e=this.search?this.search.toLowerCase():null,n=0;t.forEach((function(t){var o=!0;if(e)try{var i=t._x_dataStack[0].optionValue,r=t._x_dataStack[0].optionLabel;o=String(i).toLowerCase().includes(e)||String(r).toLowerCase().includes(e)}catch(t){}o&&n++,t.style.display=o?null:"none"}));var o=this.$refs.noResults;o&&(o.style.display=0===n?null:"none")},_initPopper:function(){this._resetPopper(),this._popper=e(this._root,this.menu(),this._popperConfig())},_initSelect:function(){var t=this;if(this._root=this.$root,"function"!=typeof(e=window.Popper?window.Popper.createPopper:window.createPopper))throw new TypeError("<".concat(this._componentName,"> requires Popper (https://popper.js.org)"));this.autofocus&&this._focusRoot(),this.searchable&&this.$watch("search",(function(){return t._handleSearch()})),this.multiple||!this.value||this.initialLabel||this._determineInitialLabel(),this.initialLabel&&(this.valueLabel=this.initialLabel,this.valuePlaceholder=this.initialLabel),this.multiple&&this.$nextTick((function(){t.selectedOptions=s(t.value).map((function(e){return t._getOptionByValue(e)._x_dataStack[0]}))})),this.$watch("value",(function(e,n){JSON.stringify(e)!==JSON.stringify(n)&&(t._updateSelectedOption(e),t.handleValueChange(),t.$dispatch("input",e),null===e&&t._wire&&t._wireModelName&&t._wire.set(t._wireModelName,null,!0))}))},_updateSelectedOption:function(t){if(!this.multiple){t||(this.valueLabel=this.placeholder);var e=this._getOptionByValue(t);if(e)try{this.valueLabel=e._x_dataStack[0].optionSelectedLabel,this.valuePlaceholder=e._x_dataStack[0].optionLabel}catch(t){}}},_popperConfig:function(){return{placement:"bottom-start",strategy:this.fixed?"fixed":"absolute",modifiers:[{name:"offset",options:{offset:[0,0]}},{name:"preventOverflow",options:{boundariesElement:this._root}}]}},_resetPopper:function(){this._popper&&(this._popper.destroy(),this._popper=null)},_determineInitialLabel:function(){var t=this;this.$nextTick((function(){var e=t._getOptionByValue(t.value);if(e)try{return t.initialLabel=e._x_dataStack[0].optionSelectedLabel,t.valueLabel=t.initialLabel,void(t.valuePlaceholder=t.initialLabel)}catch(t){}t.initialLabel=t.value,t.valueLabel=t.initialLabel,t.valuePlaceholder=t.initialLabel}))},_shouldCloseOnSelect:function(){return this._noCloseOnSelect?(this._noCloseOnSelect=!1,!1):!!this.closeOnSelect&&(!this.multiple||(null===this.maxSelected?this.value.length>=this.minSelected:this.value.length>=this.maxSelected))}};function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function h(t){for(var e=1;e0:""!==this.value&&null!==this.value},get hasValueAndCanClear(){return!!this.optional&&(!this.disabled&&this.hasValue)},get searchPlaceholder(){return this.multiple?Array.isArray(this.value)&&this.value.length?null:this.placeholder:""!==this.value&&null!==this.value?this.valuePlaceholder:this.placeholder},get showSearchInput(){return!!this.multiple||this.open},init:function(){this._initSelect()},closeMenu:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{focusRoot:!0};if(this.open){this._closeMenu();var e=!1!==t.focusRoot;e&&this._focusRoot()}},selectOption:function(t){if(!this.disabled)try{t._x_dataStack[0].toggle({parentMenu:this})}catch(t){}}})};var d=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=b(t,e),i=n.threshold||t.offsetHeight;return o.top>=0&&o.left>=0&&o.bottom<=e.offsetHeight&&o.right<=e.offsetWidth&&o.top<=e.offsetHeight-i},b=function(t,e){var n=e.getBoundingClientRect(),o=t.getBoundingClientRect();return{top:o.top-n.top,right:o.right-n.right,bottom:o.bottom-n.bottom,left:o.left-n.left}};const O={optionDisabled:!1,optionValue:null,optionLabel:null,optionSelectedLabel:null,hasFocus:!1,_id:null,_optionComponentName:"select-option",_optionSelector:"",_optionIndex:-1,optionSelected:function(){return this._isValueSelected(this.optionValue)},_init:function(){var t,e=this;this._id=(t=this._optionComponentName,"".concat(t,"_").concat(Math.random().toString(36).slice(2))),this.$watch("hasFocus",(function(t){t&&e.$dispatch("".concat(e._componentName,"-").concat(e.name.toSlug(),"-option-focused"),e._id)}))},onReceivedFocus:function(t){var e=t.detail;this.hasFocus=this._id===e,this.hasFocus&&(this._focusedOptionId=this._id)},focus:function(t){var e=t.updateParentIndex,n=void 0!==e&&e,o=t.parent,i=void 0===o?null:o,r=t.scroll,l=void 0===r||r,s=t.block,c=void 0===s?"end":s;this.optionDisabled||this.hasFocus||(i=i||this,this.hasFocus=!0,l&&function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{var o=t.offsetTop;e.scrollTop=o||0,d(t,e,n)||t.scrollIntoView({block:n.block||"end",inline:"nearest",behavior:"smooth"})}catch(t){}}(this.$root,i.menu(),{threshold:(this.$root.querySelector(this._optionSelector)||this.$root).offsetHeight,block:c}),n&&i.updateFocusedOptionIndexFromElement(this.$root))},toggle:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{parentMenu:null},e=t.parentMenu||this;!this.optionDisabled&&e.canToggleOption(this.optionValue)&&e.toggleOption(this)}};function g(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function v(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,o=new Array(e);n0:""!==this.value&&null!==this.value},get hasValueAndCanClear(){return!!this.optional&&(!this.disabled&&this.hasValue)},get searchPlaceholder(){return this.multiple?Array.isArray(this.value)&&this.value.length?null:this.placeholder:""!==this.value&&null!==this.value?this.valuePlaceholder:this.placeholder},get showSearchInput(){return!!this.multiple||this.open},init:function(){this._initSelect()},closeMenu:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{focusRoot:!0};if(this.open){this._closeMenu();var e=!1!==t.focusRoot;e&&this._focusRoot()}},onArrowRight:function(t){if(this.open&&!(this.focusedOptionIndex<0)){var e=this._getFocusableElements()[this.focusedOptionIndex];try{e._x_dataStack[0].expand()&&t.preventDefault()}catch(t){}}},onArrowLeft:function(t){if(this.open&&!(this.focusedOptionIndex<0)){var e=this._getFocusableElements()[this.focusedOptionIndex];try{!0===e._x_dataStack[0].collapse({parent:this})&&t.preventDefault()}catch(t){}}},selectOption:function(t){if(!this.disabled)try{t._x_dataStack[0].toggle({parentMenu:this})}catch(t){}},_doLocalSearch:function(){var t=this,e=this._getTopLevelOptionElements(),n=this.search?this.search.toLowerCase():null,o=0,i=function e(i){var r=!0;if(n)try{var l=i._x_dataStack[0].optionValue,s=i._x_dataStack[0].optionLabel;r=String(l).toLowerCase().includes(n)||String(s).toLowerCase().includes(n)}catch(t){}try{var c=i._x_dataStack[0].level,a=y(i.querySelectorAll(t._levelOptionSelector(c+1))),u=!1;a.forEach((function(t){e(t)&&(u=!0)})),u&&(r=!0)}catch(t){}return r&&o++,i.style.display=r?null:"none",r};e.forEach((function(t){return i(t)}));var r=this.$refs.noResults;r&&(r.style.display=0===o?null:"none")},_getTopLevelOptionElements:function(){return y(this.menu().querySelectorAll(this._levelOptionSelector(0)))},_levelOptionSelector:function(t){return this._topLevelOptionElementSelector.replace(":level",t)}})};var E=function t(e,n){if(e){if(n(e))return e;if(e.parentElement)return t(e.parentElement,n)}};function I(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function L(t){for(var e=1;e0)return this.focusNearestParent({parentMenu:n}),!0;var o=!0===this.expanded;return this.expanded=!1,o}},expand:function(){if(this.hasChildren&&!this.optionDisabled){var t=!1===this.expanded;return this.expanded=!0,t}},focusNearestParent:function(t){var e=this,n=t.parentMenu,o=void 0===n?null:n;o=o||this;var i=E(this.$root,(function(t){try{var n=t._x_dataStack[0];return!!n&&n.level===e.level-1}catch(t){return!1}}));if(i)try{i._x_dataStack[0].focus({updateParentIndex:!0,parent:o})}catch(t){}}})};document.addEventListener("alpine:init",(function(){Alpine.data("customSelect",f),Alpine.data("customSelectOption",m),Alpine.data("treeSelect",j),Alpine.data("treeSelectOption",V)}));n(400)})()})(); \ No newline at end of file +/* + * ATTENTION: An "eval-source-map" devtool has been used. + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./resources/js/components/custom-select-option.js": +/*!*********************************************************!*\ + !*** ./resources/js/components/custom-select-option.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _mixins_select_option__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../mixins/select-option */ \"./resources/js/mixins/select-option.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function (options) {\n return _objectSpread(_objectSpread(_objectSpread({}, _mixins_select_option__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), options), {}, {\n _optionComponentName: 'custom-select-option',\n _optionSelector: '.custom-select-option__container',\n init: function init() {\n this._init();\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9jdXN0b20tc2VsZWN0LW9wdGlvbi5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBRUEsaUVBQWUsVUFBQUMsT0FBTztBQUFBLHVEQUNmRCw2REFEZSxHQUVmQyxPQUZlO0FBR2xCQyxJQUFBQSxvQkFBb0IsRUFBRSxzQkFISjtBQUlsQkMsSUFBQUEsZUFBZSxFQUFFLGtDQUpDO0FBTWxCQyxJQUFBQSxJQU5rQixrQkFNWDtBQUNILFdBQUtDLEtBQUw7QUFDSDtBQVJpQjtBQUFBLENBQXRCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGFyYXZlbC1mb3JtLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9jdXN0b20tc2VsZWN0LW9wdGlvbi5qcz84NTdhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzZWxlY3RPcHRpb25NaXhpbiBmcm9tICcuLi9taXhpbnMvc2VsZWN0LW9wdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IG9wdGlvbnMgPT4gKHtcbiAgICAuLi5zZWxlY3RPcHRpb25NaXhpbixcbiAgICAuLi5vcHRpb25zLFxuICAgIF9vcHRpb25Db21wb25lbnROYW1lOiAnY3VzdG9tLXNlbGVjdC1vcHRpb24nLFxuICAgIF9vcHRpb25TZWxlY3RvcjogJy5jdXN0b20tc2VsZWN0LW9wdGlvbl9fY29udGFpbmVyJyxcblxuICAgIGluaXQoKSB7XG4gICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9LFxufSk7XG4iXSwibmFtZXMiOlsic2VsZWN0T3B0aW9uTWl4aW4iLCJvcHRpb25zIiwiX29wdGlvbkNvbXBvbmVudE5hbWUiLCJfb3B0aW9uU2VsZWN0b3IiLCJpbml0IiwiX2luaXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/components/custom-select-option.js\n"); + +/***/ }), + +/***/ "./resources/js/components/custom-select.js": +/*!**************************************************!*\ + !*** ./resources/js/components/custom-select.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _mixins_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../mixins/select */ \"./resources/js/mixins/select.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function (options) {\n return _objectSpread(_objectSpread(_objectSpread({}, _mixins_select__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), options), {}, {\n _componentName: 'custom-select',\n _focusableElementSelector: '.custom-select-option:not(.disabled):not(.select-no-results):not(.custom-select-option--opt-group)',\n _optionElementSelector: '.custom-select-option:not(.select-no-results):not(.custom-select-option--opt-group)',\n\n get hasValue() {\n return this.multiple ? this.value.length > 0 : this.value !== '' && this.value !== null;\n },\n\n get hasValueAndCanClear() {\n if (!this.optional) {\n return false;\n }\n\n if (this.disabled) {\n return false;\n }\n\n return this.hasValue;\n },\n\n get searchPlaceholder() {\n if (this.multiple) {\n if (!Array.isArray(this.value)) {\n return this.placeholder;\n }\n\n return this.value.length ? null : this.placeholder;\n }\n\n return this.value !== '' && this.value !== null ? this.valuePlaceholder : this.placeholder;\n },\n\n get showSearchInput() {\n if (this.multiple) {\n return true;\n }\n\n return this.open;\n },\n\n init: function init() {\n this._initSelect();\n },\n closeMenu: function closeMenu() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n focusRoot: true\n };\n\n if (!this.open) {\n return;\n }\n\n this._closeMenu();\n\n var focusRoot = options.focusRoot !== false;\n\n if (focusRoot) {\n this._focusRoot();\n }\n },\n selectOption: function selectOption(option) {\n if (this.disabled) {\n return;\n }\n\n try {\n option._x_dataStack[0].toggle({\n parentMenu: this\n });\n } catch (e) {}\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9jdXN0b20tc2VsZWN0LmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFFQSxpRUFBZSxVQUFBQyxPQUFPO0FBQUEsdURBQ2ZELHNEQURlLEdBRWZDLE9BRmU7QUFHbEJDLElBQUFBLGNBQWMsRUFBRSxlQUhFO0FBSWxCQyxJQUFBQSx5QkFBeUIsRUFBRSxvR0FKVDtBQUtsQkMsSUFBQUEsc0JBQXNCLEVBQUUscUZBTE47O0FBT2xCLFFBQUlDLFFBQUosR0FBZTtBQUNYLGFBQU8sS0FBS0MsUUFBTCxHQUNELEtBQUtDLEtBQUwsQ0FBV0MsTUFBWCxHQUFvQixDQURuQixHQUVELEtBQUtELEtBQUwsS0FBZSxFQUFmLElBQXFCLEtBQUtBLEtBQUwsS0FBZSxJQUYxQztBQUdILEtBWGlCOztBQWFsQixRQUFJRSxtQkFBSixHQUEwQjtBQUN0QixVQUFJLENBQUUsS0FBS0MsUUFBWCxFQUFxQjtBQUNqQixlQUFPLEtBQVA7QUFDSDs7QUFFRCxVQUFJLEtBQUtDLFFBQVQsRUFBbUI7QUFDZixlQUFPLEtBQVA7QUFDSDs7QUFFRCxhQUFPLEtBQUtOLFFBQVo7QUFDSCxLQXZCaUI7O0FBeUJsQixRQUFJTyxpQkFBSixHQUF3QjtBQUNwQixVQUFJLEtBQUtOLFFBQVQsRUFBbUI7QUFDZixZQUFJLENBQUVPLEtBQUssQ0FBQ0MsT0FBTixDQUFjLEtBQUtQLEtBQW5CLENBQU4sRUFBaUM7QUFDN0IsaUJBQU8sS0FBS1EsV0FBWjtBQUNIOztBQUVELGVBQU8sS0FBS1IsS0FBTCxDQUFXQyxNQUFYLEdBQ0QsSUFEQyxHQUVELEtBQUtPLFdBRlg7QUFHSDs7QUFFRCxhQUFPLEtBQUtSLEtBQUwsS0FBZSxFQUFmLElBQXFCLEtBQUtBLEtBQUwsS0FBZSxJQUFwQyxHQUNELEtBQUtTLGdCQURKLEdBRUQsS0FBS0QsV0FGWDtBQUdILEtBdkNpQjs7QUF5Q2xCLFFBQUlFLGVBQUosR0FBc0I7QUFDbEIsVUFBSSxLQUFLWCxRQUFULEVBQW1CO0FBQ2YsZUFBTyxJQUFQO0FBQ0g7O0FBRUQsYUFBTyxLQUFLWSxJQUFaO0FBQ0gsS0EvQ2lCOztBQWlEbEJDLElBQUFBLElBakRrQixrQkFpRFg7QUFDSCxXQUFLQyxXQUFMO0FBQ0gsS0FuRGlCO0FBcURsQkMsSUFBQUEsU0FyRGtCLHVCQXFEdUI7QUFBQSxVQUEvQnBCLE9BQStCLHVFQUFyQjtBQUFFcUIsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBcUI7O0FBQ3JDLFVBQUksQ0FBRSxLQUFLSixJQUFYLEVBQWlCO0FBQ2I7QUFDSDs7QUFFRCxXQUFLSyxVQUFMOztBQUVBLFVBQU1ELFNBQVMsR0FBR3JCLE9BQU8sQ0FBQ3FCLFNBQVIsS0FBc0IsS0FBeEM7O0FBRUEsVUFBSUEsU0FBSixFQUFlO0FBQ1gsYUFBS0UsVUFBTDtBQUNIO0FBQ0osS0FqRWlCO0FBbUVsQkMsSUFBQUEsWUFuRWtCLHdCQW1FTEMsTUFuRUssRUFtRUc7QUFDakIsVUFBSSxLQUFLZixRQUFULEVBQW1CO0FBQ2Y7QUFDSDs7QUFFRCxVQUFJO0FBQ0FlLFFBQUFBLE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQixDQUFwQixFQUF1QkMsTUFBdkIsQ0FBOEI7QUFBRUMsVUFBQUEsVUFBVSxFQUFFO0FBQWQsU0FBOUI7QUFDSCxPQUZELENBRUUsT0FBT0MsQ0FBUCxFQUFVLENBQUU7QUFDakI7QUEzRWlCO0FBQUEsQ0FBdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL2N1c3RvbS1zZWxlY3QuanM/ZDgyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2VsZWN0TWl4aW5zIGZyb20gJy4uL21peGlucy9zZWxlY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBvcHRpb25zID0+ICh7XG4gICAgLi4uc2VsZWN0TWl4aW5zLFxuICAgIC4uLm9wdGlvbnMsXG4gICAgX2NvbXBvbmVudE5hbWU6ICdjdXN0b20tc2VsZWN0JyxcbiAgICBfZm9jdXNhYmxlRWxlbWVudFNlbGVjdG9yOiAnLmN1c3RvbS1zZWxlY3Qtb3B0aW9uOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0LW5vLXJlc3VsdHMpOm5vdCguY3VzdG9tLXNlbGVjdC1vcHRpb24tLW9wdC1ncm91cCknLFxuICAgIF9vcHRpb25FbGVtZW50U2VsZWN0b3I6ICcuY3VzdG9tLXNlbGVjdC1vcHRpb246bm90KC5zZWxlY3Qtbm8tcmVzdWx0cyk6bm90KC5jdXN0b20tc2VsZWN0LW9wdGlvbi0tb3B0LWdyb3VwKScsXG5cbiAgICBnZXQgaGFzVmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm11bHRpcGxlXG4gICAgICAgICAgICA/IHRoaXMudmFsdWUubGVuZ3RoID4gMFxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlICE9PSAnJyAmJiB0aGlzLnZhbHVlICE9PSBudWxsO1xuICAgIH0sXG5cbiAgICBnZXQgaGFzVmFsdWVBbmRDYW5DbGVhcigpIHtcbiAgICAgICAgaWYgKCEgdGhpcy5vcHRpb25hbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhhc1ZhbHVlO1xuICAgIH0sXG5cbiAgICBnZXQgc2VhcmNoUGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBpZiAoISBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmxlbmd0aFxuICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgIDogdGhpcy5wbGFjZWhvbGRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSAnJyAmJiB0aGlzLnZhbHVlICE9PSBudWxsXG4gICAgICAgICAgICA/IHRoaXMudmFsdWVQbGFjZWhvbGRlclxuICAgICAgICAgICAgOiB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIH0sXG5cbiAgICBnZXQgc2hvd1NlYXJjaElucHV0KCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuO1xuICAgIH0sXG5cbiAgICBpbml0KCkge1xuICAgICAgICB0aGlzLl9pbml0U2VsZWN0KCk7XG4gICAgfSxcblxuICAgIGNsb3NlTWVudShvcHRpb25zID0geyBmb2N1c1Jvb3Q6IHRydWUgfSkge1xuICAgICAgICBpZiAoISB0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nsb3NlTWVudSgpO1xuXG4gICAgICAgIGNvbnN0IGZvY3VzUm9vdCA9IG9wdGlvbnMuZm9jdXNSb290ICE9PSBmYWxzZTtcblxuICAgICAgICBpZiAoZm9jdXNSb290KSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c1Jvb3QoKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBzZWxlY3RPcHRpb24ob3B0aW9uKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgb3B0aW9uLl94X2RhdGFTdGFja1swXS50b2dnbGUoeyBwYXJlbnRNZW51OiB0aGlzIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgIH0sXG59KTtcbiJdLCJuYW1lcyI6WyJzZWxlY3RNaXhpbnMiLCJvcHRpb25zIiwiX2NvbXBvbmVudE5hbWUiLCJfZm9jdXNhYmxlRWxlbWVudFNlbGVjdG9yIiwiX29wdGlvbkVsZW1lbnRTZWxlY3RvciIsImhhc1ZhbHVlIiwibXVsdGlwbGUiLCJ2YWx1ZSIsImxlbmd0aCIsImhhc1ZhbHVlQW5kQ2FuQ2xlYXIiLCJvcHRpb25hbCIsImRpc2FibGVkIiwic2VhcmNoUGxhY2Vob2xkZXIiLCJBcnJheSIsImlzQXJyYXkiLCJwbGFjZWhvbGRlciIsInZhbHVlUGxhY2Vob2xkZXIiLCJzaG93U2VhcmNoSW5wdXQiLCJvcGVuIiwiaW5pdCIsIl9pbml0U2VsZWN0IiwiY2xvc2VNZW51IiwiZm9jdXNSb290IiwiX2Nsb3NlTWVudSIsIl9mb2N1c1Jvb3QiLCJzZWxlY3RPcHRpb24iLCJvcHRpb24iLCJfeF9kYXRhU3RhY2siLCJ0b2dnbGUiLCJwYXJlbnRNZW51IiwiZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/components/custom-select.js\n"); + +/***/ }), + +/***/ "./resources/js/components/index.js": +/*!******************************************!*\ + !*** ./resources/js/components/index.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _custom_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./custom-select */ \"./resources/js/components/custom-select.js\");\n/* harmony import */ var _custom_select_option__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./custom-select-option */ \"./resources/js/components/custom-select-option.js\");\n/* harmony import */ var _quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quill */ \"./resources/js/components/quill.js\");\n/* harmony import */ var _tree_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tree-select */ \"./resources/js/components/tree-select.js\");\n/* harmony import */ var _tree_select_option__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tree-select-option */ \"./resources/js/components/tree-select-option.js\");\n\n\n\n\n\ndocument.addEventListener('alpine:init', function () {\n Alpine.data('customSelect', _custom_select__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n Alpine.data('customSelectOption', _custom_select_option__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n Alpine.data('quill', _quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n Alpine.data('treeSelect', _tree_select__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n Alpine.data('treeSelectOption', _tree_select_option__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUFLLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsYUFBMUIsRUFBeUMsWUFBTTtBQUMzQ0MsRUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVksY0FBWixFQUE0QlIsc0RBQTVCO0FBQ0FPLEVBQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLG9CQUFaLEVBQWtDUCw2REFBbEM7QUFDQU0sRUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVksT0FBWixFQUFxQk4sOENBQXJCO0FBQ0FLLEVBQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLFlBQVosRUFBMEJMLG9EQUExQjtBQUNBSSxFQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWSxrQkFBWixFQUFnQ0osMkRBQWhDO0FBQ0gsQ0FORCIsInNvdXJjZXMiOlsid2VicGFjazovL2xhcmF2ZWwtZm9ybS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvaW5kZXguanM/OTM1NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3VzdG9tU2VsZWN0IGZyb20gJy4vY3VzdG9tLXNlbGVjdCc7XG5pbXBvcnQgY3VzdG9tU2VsZWN0T3B0aW9uIGZyb20gJy4vY3VzdG9tLXNlbGVjdC1vcHRpb24nO1xuaW1wb3J0IHF1aWxsIGZyb20gJy4vcXVpbGwnO1xuaW1wb3J0IHRyZWVTZWxlY3QgZnJvbSAnLi90cmVlLXNlbGVjdCc7XG5pbXBvcnQgdHJlZVNlbGVjdE9wdGlvbiBmcm9tICcuL3RyZWUtc2VsZWN0LW9wdGlvbic7XG5cbmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FscGluZTppbml0JywgKCkgPT4ge1xuICAgIEFscGluZS5kYXRhKCdjdXN0b21TZWxlY3QnLCBjdXN0b21TZWxlY3QpO1xuICAgIEFscGluZS5kYXRhKCdjdXN0b21TZWxlY3RPcHRpb24nLCBjdXN0b21TZWxlY3RPcHRpb24pO1xuICAgIEFscGluZS5kYXRhKCdxdWlsbCcsIHF1aWxsKTtcbiAgICBBbHBpbmUuZGF0YSgndHJlZVNlbGVjdCcsIHRyZWVTZWxlY3QpO1xuICAgIEFscGluZS5kYXRhKCd0cmVlU2VsZWN0T3B0aW9uJywgdHJlZVNlbGVjdE9wdGlvbik7XG59KTtcbiJdLCJuYW1lcyI6WyJjdXN0b21TZWxlY3QiLCJjdXN0b21TZWxlY3RPcHRpb24iLCJxdWlsbCIsInRyZWVTZWxlY3QiLCJ0cmVlU2VsZWN0T3B0aW9uIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiQWxwaW5lIiwiZGF0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/components/index.js\n"); + +/***/ }), + +/***/ "./resources/js/components/quill.js": +/*!******************************************!*\ + !*** ./resources/js/components/quill.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function (options) {\n return _objectSpread(_objectSpread({\n autofocus: false,\n value: '',\n theme: 'snow',\n readOnly: false,\n placeholder: null,\n toolbar: {},\n toolbarHandlers: {}\n }, options), {}, {\n _quill: null,\n init: function init() {\n var _this = this;\n\n if (typeof Quill !== 'function') {\n throw new TypeError(\"Quill Editor requires Quill (https://quilljs.com)\");\n }\n\n this._quill = new Quill(this.$refs.quill, this._quillOptions());\n this._quill.root.innerHTML = this.value;\n\n this._quill.on('text-change', function () {\n _this.value = _this._quill.root.innerHTML;\n\n _this.$dispatch('quill-input', _this.value);\n });\n\n if (this.autofocus) {\n this.$nextTick(function () {\n return _this._quill.focus();\n });\n }\n },\n _quillOptions: function _quillOptions() {\n var toolbarHandlers = this.toolbarHandlers;\n\n if (toolbarHandlers !== null) {\n Object.keys(toolbarHandlers).forEach(function (key) {\n toolbarHandlers[key] = new Function('value', toolbarHandlers[key]);\n });\n }\n\n return {\n theme: this.theme,\n readOnly: this.readOnly,\n placeholder: this.placeholder,\n modules: {\n toolbar: {\n container: this.toolbar,\n handlers: toolbarHandlers || {}\n }\n }\n };\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9xdWlsbC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsaUVBQWUsVUFBQUEsT0FBTztBQUFBO0FBQ2xCQyxJQUFBQSxTQUFTLEVBQUUsS0FETztBQUVsQkMsSUFBQUEsS0FBSyxFQUFFLEVBRlc7QUFHbEJDLElBQUFBLEtBQUssRUFBRSxNQUhXO0FBSWxCQyxJQUFBQSxRQUFRLEVBQUUsS0FKUTtBQUtsQkMsSUFBQUEsV0FBVyxFQUFFLElBTEs7QUFNbEJDLElBQUFBLE9BQU8sRUFBRSxFQU5TO0FBT2xCQyxJQUFBQSxlQUFlLEVBQUU7QUFQQyxLQVFmUCxPQVJlO0FBU2xCUSxJQUFBQSxNQUFNLEVBQUUsSUFUVTtBQVdsQkMsSUFBQUEsSUFYa0Isa0JBV1g7QUFBQTs7QUFDSCxVQUFJLE9BQU9DLEtBQVAsS0FBaUIsVUFBckIsRUFBaUM7QUFDN0IsY0FBTSxJQUFJQyxTQUFKLHFEQUFOO0FBQ0g7O0FBRUQsV0FBS0gsTUFBTCxHQUFjLElBQUlFLEtBQUosQ0FBVSxLQUFLRSxLQUFMLENBQVdDLEtBQXJCLEVBQTRCLEtBQUtDLGFBQUwsRUFBNUIsQ0FBZDtBQUVBLFdBQUtOLE1BQUwsQ0FBWU8sSUFBWixDQUFpQkMsU0FBakIsR0FBNkIsS0FBS2QsS0FBbEM7O0FBRUEsV0FBS00sTUFBTCxDQUFZUyxFQUFaLENBQWUsYUFBZixFQUE4QixZQUFNO0FBQ2hDLGFBQUksQ0FBQ2YsS0FBTCxHQUFhLEtBQUksQ0FBQ00sTUFBTCxDQUFZTyxJQUFaLENBQWlCQyxTQUE5Qjs7QUFFQSxhQUFJLENBQUNFLFNBQUwsQ0FBZSxhQUFmLEVBQThCLEtBQUksQ0FBQ2hCLEtBQW5DO0FBQ0gsT0FKRDs7QUFNQSxVQUFJLEtBQUtELFNBQVQsRUFBb0I7QUFDaEIsYUFBS2tCLFNBQUwsQ0FBZTtBQUFBLGlCQUFNLEtBQUksQ0FBQ1gsTUFBTCxDQUFZWSxLQUFaLEVBQU47QUFBQSxTQUFmO0FBQ0g7QUFDSixLQTdCaUI7QUErQmxCTixJQUFBQSxhQS9Ca0IsMkJBK0JGO0FBQ1osVUFBTVAsZUFBZSxHQUFHLEtBQUtBLGVBQTdCOztBQUNBLFVBQUlBLGVBQWUsS0FBSyxJQUF4QixFQUE4QjtBQUMxQmMsUUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVlmLGVBQVosRUFBNkJnQixPQUE3QixDQUFxQyxVQUFBQyxHQUFHLEVBQUk7QUFDeENqQixVQUFBQSxlQUFlLENBQUNpQixHQUFELENBQWYsR0FBdUIsSUFBSUMsUUFBSixDQUFhLE9BQWIsRUFBc0JsQixlQUFlLENBQUNpQixHQUFELENBQXJDLENBQXZCO0FBQ0gsU0FGRDtBQUdIOztBQUVELGFBQU87QUFDSHJCLFFBQUFBLEtBQUssRUFBRSxLQUFLQSxLQURUO0FBRUhDLFFBQUFBLFFBQVEsRUFBRSxLQUFLQSxRQUZaO0FBR0hDLFFBQUFBLFdBQVcsRUFBRSxLQUFLQSxXQUhmO0FBSUhxQixRQUFBQSxPQUFPLEVBQUU7QUFDTHBCLFVBQUFBLE9BQU8sRUFBRTtBQUNMcUIsWUFBQUEsU0FBUyxFQUFFLEtBQUtyQixPQURYO0FBRUxzQixZQUFBQSxRQUFRLEVBQUVyQixlQUFlLElBQUk7QUFGeEI7QUFESjtBQUpOLE9BQVA7QUFXSDtBQWxEaUI7QUFBQSxDQUF0QiIsInNvdXJjZXMiOlsid2VicGFjazovL2xhcmF2ZWwtZm9ybS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvcXVpbGwuanM/ZTFmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBvcHRpb25zID0+ICh7XG4gICAgYXV0b2ZvY3VzOiBmYWxzZSxcbiAgICB2YWx1ZTogJycsXG4gICAgdGhlbWU6ICdzbm93JyxcbiAgICByZWFkT25seTogZmFsc2UsXG4gICAgcGxhY2Vob2xkZXI6IG51bGwsXG4gICAgdG9vbGJhcjoge30sXG4gICAgdG9vbGJhckhhbmRsZXJzOiB7fSxcbiAgICAuLi5vcHRpb25zLFxuICAgIF9xdWlsbDogbnVsbCxcblxuICAgIGluaXQoKSB7XG4gICAgICAgIGlmICh0eXBlb2YgUXVpbGwgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFF1aWxsIEVkaXRvciByZXF1aXJlcyBRdWlsbCAoaHR0cHM6Ly9xdWlsbGpzLmNvbSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3F1aWxsID0gbmV3IFF1aWxsKHRoaXMuJHJlZnMucXVpbGwsIHRoaXMuX3F1aWxsT3B0aW9ucygpKTtcblxuICAgICAgICB0aGlzLl9xdWlsbC5yb290LmlubmVySFRNTCA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgdGhpcy5fcXVpbGwub24oJ3RleHQtY2hhbmdlJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX3F1aWxsLnJvb3QuaW5uZXJIVE1MO1xuXG4gICAgICAgICAgICB0aGlzLiRkaXNwYXRjaCgncXVpbGwtaW5wdXQnLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB0aGlzLl9xdWlsbC5mb2N1cygpKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBfcXVpbGxPcHRpb25zKCkge1xuICAgICAgICBjb25zdCB0b29sYmFySGFuZGxlcnMgPSB0aGlzLnRvb2xiYXJIYW5kbGVycztcbiAgICAgICAgaWYgKHRvb2xiYXJIYW5kbGVycyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgT2JqZWN0LmtleXModG9vbGJhckhhbmRsZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgdG9vbGJhckhhbmRsZXJzW2tleV0gPSBuZXcgRnVuY3Rpb24oJ3ZhbHVlJywgdG9vbGJhckhhbmRsZXJzW2tleV0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXG4gICAgICAgICAgICByZWFkT25seTogdGhpcy5yZWFkT25seSxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgbW9kdWxlczoge1xuICAgICAgICAgICAgICAgIHRvb2xiYXI6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyOiB0aGlzLnRvb2xiYXIsXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzOiB0b29sYmFySGFuZGxlcnMgfHwge30sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxufSk7XG4iXSwibmFtZXMiOlsib3B0aW9ucyIsImF1dG9mb2N1cyIsInZhbHVlIiwidGhlbWUiLCJyZWFkT25seSIsInBsYWNlaG9sZGVyIiwidG9vbGJhciIsInRvb2xiYXJIYW5kbGVycyIsIl9xdWlsbCIsImluaXQiLCJRdWlsbCIsIlR5cGVFcnJvciIsIiRyZWZzIiwicXVpbGwiLCJfcXVpbGxPcHRpb25zIiwicm9vdCIsImlubmVySFRNTCIsIm9uIiwiJGRpc3BhdGNoIiwiJG5leHRUaWNrIiwiZm9jdXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsIkZ1bmN0aW9uIiwibW9kdWxlcyIsImNvbnRhaW5lciIsImhhbmRsZXJzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/components/quill.js\n"); + +/***/ }), + +/***/ "./resources/js/components/tree-select-option.js": +/*!*******************************************************!*\ + !*** ./resources/js/components/tree-select-option.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _util_findElement__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/findElement */ \"./resources/js/util/findElement.js\");\n/* harmony import */ var _mixins_select_option__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../mixins/select-option */ \"./resources/js/mixins/select-option.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function (options) {\n return _objectSpread(_objectSpread(_objectSpread({}, _mixins_select_option__WEBPACK_IMPORTED_MODULE_1__[\"default\"]), {}, {\n children: [],\n expanded: false,\n hasChildren: false,\n level: 0\n }, options), {}, {\n _optionComponentName: 'tree-select-option',\n _optionSelector: '.tree-select-option__container',\n init: function init() {\n var _this = this;\n\n this._init();\n\n this.$watch('expanded', function () {\n // reset parent component value\n _this.focusableElements = null;\n });\n\n if (this.searchable) {\n // Watch parent select `search` value.\n this.$watch('search', function (search) {\n if (search && _this.hasChildren) {\n _this.expanded = true;\n }\n });\n }\n },\n collapse: function collapse(_ref) {\n var _ref$parent = _ref.parent,\n parent = _ref$parent === void 0 ? null : _ref$parent;\n\n if (this.optionDisabled) {\n return;\n }\n\n if (!this.hasChildren && this.level > 0) {\n this.focusNearestParent({\n parentMenu: parent\n }); // Return true to let our menu know to prevent the default arrow\n // left event from bubbling up.\n\n return true;\n }\n\n var wasCollapsed = this.expanded === true;\n this.expanded = false;\n return wasCollapsed;\n },\n expand: function expand() {\n if (!this.hasChildren || this.optionDisabled) {\n return;\n }\n\n var wasExpanded = this.expanded === false;\n this.expanded = true;\n return wasExpanded;\n },\n focusNearestParent: function focusNearestParent(_ref2) {\n var _this2 = this;\n\n var _ref2$parentMenu = _ref2.parentMenu,\n parentMenu = _ref2$parentMenu === void 0 ? null : _ref2$parentMenu;\n parentMenu = parentMenu || this;\n var parent = (0,_util_findElement__WEBPACK_IMPORTED_MODULE_0__.findClosest)(this.$root, function (el) {\n try {\n var data = el._x_dataStack[0];\n\n if (!data) {\n return false;\n }\n\n return data.level === _this2.level - 1;\n } catch (e) {\n return false;\n }\n });\n\n if (!parent) {\n return;\n }\n\n try {\n parent._x_dataStack[0].focus({\n updateParentIndex: true,\n parent: parentMenu\n });\n } catch (e) {}\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy90cmVlLXNlbGVjdC1vcHRpb24uanMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBLGlFQUFlLFVBQUFFLE9BQU87QUFBQSx1REFDZkQsNkRBRGU7QUFFbEJFLElBQUFBLFFBQVEsRUFBRSxFQUZRO0FBR2xCQyxJQUFBQSxRQUFRLEVBQUUsS0FIUTtBQUlsQkMsSUFBQUEsV0FBVyxFQUFFLEtBSks7QUFLbEJDLElBQUFBLEtBQUssRUFBRTtBQUxXLEtBTWZKLE9BTmU7QUFPbEJLLElBQUFBLG9CQUFvQixFQUFFLG9CQVBKO0FBUWxCQyxJQUFBQSxlQUFlLEVBQUUsZ0NBUkM7QUFVbEJDLElBQUFBLElBVmtCLGtCQVVYO0FBQUE7O0FBQ0gsV0FBS0MsS0FBTDs7QUFFQSxXQUFLQyxNQUFMLENBQVksVUFBWixFQUF3QixZQUFNO0FBQzFCO0FBQ0EsYUFBSSxDQUFDQyxpQkFBTCxHQUF5QixJQUF6QjtBQUNILE9BSEQ7O0FBS0EsVUFBSSxLQUFLQyxVQUFULEVBQXFCO0FBQ2pCO0FBQ0EsYUFBS0YsTUFBTCxDQUFZLFFBQVosRUFBc0IsVUFBQUcsTUFBTSxFQUFJO0FBQzVCLGNBQUlBLE1BQU0sSUFBSSxLQUFJLENBQUNULFdBQW5CLEVBQWdDO0FBQzVCLGlCQUFJLENBQUNELFFBQUwsR0FBZ0IsSUFBaEI7QUFDSDtBQUNKLFNBSkQ7QUFLSDtBQUNKLEtBMUJpQjtBQTRCbEJXLElBQUFBLFFBNUJrQiwwQkE0QlU7QUFBQSw2QkFBakJDLE1BQWlCO0FBQUEsVUFBakJBLE1BQWlCLDRCQUFSLElBQVE7O0FBQ3hCLFVBQUksS0FBS0MsY0FBVCxFQUF5QjtBQUNyQjtBQUNIOztBQUVELFVBQUksQ0FBRSxLQUFLWixXQUFQLElBQXNCLEtBQUtDLEtBQUwsR0FBYSxDQUF2QyxFQUEwQztBQUN0QyxhQUFLWSxrQkFBTCxDQUF3QjtBQUFFQyxVQUFBQSxVQUFVLEVBQUVIO0FBQWQsU0FBeEIsRUFEc0MsQ0FHdEM7QUFDQTs7QUFDQSxlQUFPLElBQVA7QUFDSDs7QUFFRCxVQUFNSSxZQUFZLEdBQUcsS0FBS2hCLFFBQUwsS0FBa0IsSUFBdkM7QUFFQSxXQUFLQSxRQUFMLEdBQWdCLEtBQWhCO0FBRUEsYUFBT2dCLFlBQVA7QUFDSCxLQTlDaUI7QUFnRGxCQyxJQUFBQSxNQWhEa0Isb0JBZ0RUO0FBQ0wsVUFBSSxDQUFFLEtBQUtoQixXQUFQLElBQXNCLEtBQUtZLGNBQS9CLEVBQStDO0FBQzNDO0FBQ0g7O0FBRUQsVUFBTUssV0FBVyxHQUFHLEtBQUtsQixRQUFMLEtBQWtCLEtBQXRDO0FBRUEsV0FBS0EsUUFBTCxHQUFnQixJQUFoQjtBQUVBLGFBQU9rQixXQUFQO0FBQ0gsS0ExRGlCO0FBNERsQkosSUFBQUEsa0JBNURrQixxQ0E0RHdCO0FBQUE7O0FBQUEsbUNBQXJCQyxVQUFxQjtBQUFBLFVBQXJCQSxVQUFxQixpQ0FBUixJQUFRO0FBQ3RDQSxNQUFBQSxVQUFVLEdBQUdBLFVBQVUsSUFBSSxJQUEzQjtBQUVBLFVBQU1ILE1BQU0sR0FBR2hCLDhEQUFXLENBQUMsS0FBS3VCLEtBQU4sRUFBYSxVQUFBQyxFQUFFLEVBQUk7QUFDekMsWUFBSTtBQUNBLGNBQU1DLElBQUksR0FBR0QsRUFBRSxDQUFDRSxZQUFILENBQWdCLENBQWhCLENBQWI7O0FBRUEsY0FBSSxDQUFFRCxJQUFOLEVBQVk7QUFDUixtQkFBTyxLQUFQO0FBQ0g7O0FBRUQsaUJBQU9BLElBQUksQ0FBQ25CLEtBQUwsS0FBZ0IsTUFBSSxDQUFDQSxLQUFMLEdBQWEsQ0FBcEM7QUFDSCxTQVJELENBUUUsT0FBT3FCLENBQVAsRUFBVTtBQUNSLGlCQUFPLEtBQVA7QUFDSDtBQUNKLE9BWnlCLENBQTFCOztBQWNBLFVBQUksQ0FBRVgsTUFBTixFQUFjO0FBQ1Y7QUFDSDs7QUFFRCxVQUFJO0FBQ0FBLFFBQUFBLE1BQU0sQ0FBQ1UsWUFBUCxDQUFvQixDQUFwQixFQUF1QkUsS0FBdkIsQ0FBNkI7QUFBRUMsVUFBQUEsaUJBQWlCLEVBQUUsSUFBckI7QUFBMkJiLFVBQUFBLE1BQU0sRUFBRUc7QUFBbkMsU0FBN0I7QUFDSCxPQUZELENBRUUsT0FBT1EsQ0FBUCxFQUFVLENBQUU7QUFDakI7QUFwRmlCO0FBQUEsQ0FBdEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL3RyZWUtc2VsZWN0LW9wdGlvbi5qcz85Y2M1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbmRDbG9zZXN0IH0gZnJvbSAnLi4vdXRpbC9maW5kRWxlbWVudCc7XG5pbXBvcnQgc2VsZWN0T3B0aW9uTWl4aW4gZnJvbSAnLi4vbWl4aW5zL3NlbGVjdC1vcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBvcHRpb25zID0+ICh7XG4gICAgLi4uc2VsZWN0T3B0aW9uTWl4aW4sXG4gICAgY2hpbGRyZW46IFtdLFxuICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICBoYXNDaGlsZHJlbjogZmFsc2UsXG4gICAgbGV2ZWw6IDAsXG4gICAgLi4ub3B0aW9ucyxcbiAgICBfb3B0aW9uQ29tcG9uZW50TmFtZTogJ3RyZWUtc2VsZWN0LW9wdGlvbicsXG4gICAgX29wdGlvblNlbGVjdG9yOiAnLnRyZWUtc2VsZWN0LW9wdGlvbl9fY29udGFpbmVyJyxcblxuICAgIGluaXQoKSB7XG4gICAgICAgIHRoaXMuX2luaXQoKTtcblxuICAgICAgICB0aGlzLiR3YXRjaCgnZXhwYW5kZWQnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyByZXNldCBwYXJlbnQgY29tcG9uZW50IHZhbHVlXG4gICAgICAgICAgICB0aGlzLmZvY3VzYWJsZUVsZW1lbnRzID0gbnVsbDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgLy8gV2F0Y2ggcGFyZW50IHNlbGVjdCBgc2VhcmNoYCB2YWx1ZS5cbiAgICAgICAgICAgIHRoaXMuJHdhdGNoKCdzZWFyY2gnLCBzZWFyY2ggPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzZWFyY2ggJiYgdGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBjb2xsYXBzZSh7IHBhcmVudCA9IG51bGwgfSkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25EaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEgdGhpcy5oYXNDaGlsZHJlbiAmJiB0aGlzLmxldmVsID4gMCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c05lYXJlc3RQYXJlbnQoeyBwYXJlbnRNZW51OiBwYXJlbnQgfSk7XG5cbiAgICAgICAgICAgIC8vIFJldHVybiB0cnVlIHRvIGxldCBvdXIgbWVudSBrbm93IHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYXJyb3dcbiAgICAgICAgICAgIC8vIGxlZnQgZXZlbnQgZnJvbSBidWJibGluZyB1cC5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd2FzQ29sbGFwc2VkID0gdGhpcy5leHBhbmRlZCA9PT0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHdhc0NvbGxhcHNlZDtcbiAgICB9LFxuXG4gICAgZXhwYW5kKCkge1xuICAgICAgICBpZiAoISB0aGlzLmhhc0NoaWxkcmVuIHx8IHRoaXMub3B0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdhc0V4cGFuZGVkID0gdGhpcy5leHBhbmRlZCA9PT0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHdhc0V4cGFuZGVkO1xuICAgIH0sXG5cbiAgICBmb2N1c05lYXJlc3RQYXJlbnQoeyBwYXJlbnRNZW51ID0gbnVsbCB9KSB7XG4gICAgICAgIHBhcmVudE1lbnUgPSBwYXJlbnRNZW51IHx8IHRoaXM7XG5cbiAgICAgICAgY29uc3QgcGFyZW50ID0gZmluZENsb3Nlc3QodGhpcy4kcm9vdCwgZWwgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gZWwuX3hfZGF0YVN0YWNrWzBdO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEgZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubGV2ZWwgPT09ICh0aGlzLmxldmVsIC0gMSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoISBwYXJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBwYXJlbnQuX3hfZGF0YVN0YWNrWzBdLmZvY3VzKHsgdXBkYXRlUGFyZW50SW5kZXg6IHRydWUsIHBhcmVudDogcGFyZW50TWVudSB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9LFxufSk7XG4iXSwibmFtZXMiOlsiZmluZENsb3Nlc3QiLCJzZWxlY3RPcHRpb25NaXhpbiIsIm9wdGlvbnMiLCJjaGlsZHJlbiIsImV4cGFuZGVkIiwiaGFzQ2hpbGRyZW4iLCJsZXZlbCIsIl9vcHRpb25Db21wb25lbnROYW1lIiwiX29wdGlvblNlbGVjdG9yIiwiaW5pdCIsIl9pbml0IiwiJHdhdGNoIiwiZm9jdXNhYmxlRWxlbWVudHMiLCJzZWFyY2hhYmxlIiwic2VhcmNoIiwiY29sbGFwc2UiLCJwYXJlbnQiLCJvcHRpb25EaXNhYmxlZCIsImZvY3VzTmVhcmVzdFBhcmVudCIsInBhcmVudE1lbnUiLCJ3YXNDb2xsYXBzZWQiLCJleHBhbmQiLCJ3YXNFeHBhbmRlZCIsIiRyb290IiwiZWwiLCJkYXRhIiwiX3hfZGF0YVN0YWNrIiwiZSIsImZvY3VzIiwidXBkYXRlUGFyZW50SW5kZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/components/tree-select-option.js\n"); + +/***/ }), + +/***/ "./resources/js/components/tree-select.js": +/*!************************************************!*\ + !*** ./resources/js/components/tree-select.js ***! + \************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _mixins_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../mixins/select */ \"./resources/js/mixins/select.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (function (options) {\n return _objectSpread(_objectSpread(_objectSpread({}, _mixins_select__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), options), {}, {\n _componentName: 'tree-select',\n _focusableElementSelector: '.tree-select-option:not(.disabled):not(.select-no-results)',\n _optionElementSelector: '.tree-select-option:not(.select-no-results)',\n _topLevelOptionElementSelector: '.tree-select-option[data-level=\":level\"]:not(.select-no-results)',\n\n get hasValue() {\n return this.multiple ? this.value.length > 0 : this.value !== '' && this.value !== null;\n },\n\n get hasValueAndCanClear() {\n if (!this.optional) {\n return false;\n }\n\n if (this.disabled) {\n return false;\n }\n\n return this.hasValue;\n },\n\n get searchPlaceholder() {\n if (this.multiple) {\n if (!Array.isArray(this.value)) {\n return this.placeholder;\n }\n\n return this.value.length ? null : this.placeholder;\n }\n\n return this.value !== '' && this.value !== null ? this.valuePlaceholder : this.placeholder;\n },\n\n get showSearchInput() {\n if (this.multiple) {\n return true;\n }\n\n return this.open;\n },\n\n init: function init() {\n this._initSelect();\n },\n closeMenu: function closeMenu() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n focusRoot: true\n };\n\n if (!this.open) {\n return;\n }\n\n this._closeMenu();\n\n var focusRoot = options.focusRoot !== false;\n\n if (focusRoot) {\n this._focusRoot();\n }\n },\n onArrowRight: function onArrowRight(event) {\n if (!this.open || this.focusedOptionIndex < 0) {\n return;\n }\n\n var option = this._getFocusableElements()[this.focusedOptionIndex];\n\n try {\n var wasExpanded = option._x_dataStack[0].expand();\n\n if (wasExpanded) {\n event.preventDefault();\n }\n } catch (e) {}\n },\n onArrowLeft: function onArrowLeft(event) {\n if (!this.open || this.focusedOptionIndex < 0) {\n return;\n }\n\n var option = this._getFocusableElements()[this.focusedOptionIndex];\n\n try {\n var wasCollapsed = option._x_dataStack[0].collapse({\n parent: this\n });\n\n if (wasCollapsed === true) {\n event.preventDefault();\n }\n } catch (e) {}\n },\n selectOption: function selectOption(option) {\n if (this.disabled) {\n return;\n }\n\n try {\n option._x_dataStack[0].toggle({\n parentMenu: this\n });\n } catch (e) {}\n },\n _doLocalSearch: function _doLocalSearch() {\n var _this = this;\n\n var options = this._getTopLevelOptionElements();\n\n var lowercaseSearch = this.search ? this.search.toLowerCase() : null;\n var matchCount = 0;\n\n var optionMatches = function optionMatches(option) {\n var matches = true;\n\n if (lowercaseSearch) {\n try {\n var value = option._x_dataStack[0].optionValue;\n var label = option._x_dataStack[0].optionLabel;\n matches = String(value).toLowerCase().includes(lowercaseSearch) || String(label).toLowerCase().includes(lowercaseSearch);\n } catch (e) {}\n } // Check if any children match\n\n\n try {\n var level = option._x_dataStack[0].level;\n\n var children = _toConsumableArray(option.querySelectorAll(_this._levelOptionSelector(level + 1)));\n\n var childMatches = false;\n children.forEach(function (child) {\n var childMatch = optionMatches(child);\n\n if (childMatch) {\n childMatches = true;\n }\n });\n\n if (childMatches) {\n matches = true;\n }\n } catch (e) {}\n\n if (matches) {\n matchCount++;\n }\n\n option.style.display = matches ? null : 'none';\n return matches;\n };\n\n options.forEach(function (o) {\n return optionMatches(o);\n });\n var noResults = this.$refs.noResults;\n\n if (noResults) {\n noResults.style.display = matchCount === 0 ? null : 'none';\n }\n },\n _getTopLevelOptionElements: function _getTopLevelOptionElements() {\n return _toConsumableArray(this.menu().querySelectorAll(this._levelOptionSelector(0)));\n },\n _levelOptionSelector: function _levelOptionSelector(level) {\n return this._topLevelOptionElementSelector.replace(':level', level);\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy90cmVlLXNlbGVjdC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBRUEsaUVBQWUsVUFBQUMsT0FBTztBQUFBLHVEQUNmRCxzREFEZSxHQUVmQyxPQUZlO0FBR2xCQyxJQUFBQSxjQUFjLEVBQUUsYUFIRTtBQUlsQkMsSUFBQUEseUJBQXlCLEVBQUUsNERBSlQ7QUFLbEJDLElBQUFBLHNCQUFzQixFQUFFLDZDQUxOO0FBTWxCQyxJQUFBQSw4QkFBOEIsRUFBRSxrRUFOZDs7QUFRbEIsUUFBSUMsUUFBSixHQUFlO0FBQ1gsYUFBTyxLQUFLQyxRQUFMLEdBQ0QsS0FBS0MsS0FBTCxDQUFXQyxNQUFYLEdBQW9CLENBRG5CLEdBRUQsS0FBS0QsS0FBTCxLQUFlLEVBQWYsSUFBcUIsS0FBS0EsS0FBTCxLQUFlLElBRjFDO0FBR0gsS0FaaUI7O0FBY2xCLFFBQUlFLG1CQUFKLEdBQTBCO0FBQ3RCLFVBQUksQ0FBRSxLQUFLQyxRQUFYLEVBQXFCO0FBQ2pCLGVBQU8sS0FBUDtBQUNIOztBQUVELFVBQUksS0FBS0MsUUFBVCxFQUFtQjtBQUNmLGVBQU8sS0FBUDtBQUNIOztBQUVELGFBQU8sS0FBS04sUUFBWjtBQUNILEtBeEJpQjs7QUEwQmxCLFFBQUlPLGlCQUFKLEdBQXdCO0FBQ3BCLFVBQUksS0FBS04sUUFBVCxFQUFtQjtBQUNmLFlBQUksQ0FBRU8sS0FBSyxDQUFDQyxPQUFOLENBQWMsS0FBS1AsS0FBbkIsQ0FBTixFQUFpQztBQUM3QixpQkFBTyxLQUFLUSxXQUFaO0FBQ0g7O0FBRUQsZUFBTyxLQUFLUixLQUFMLENBQVdDLE1BQVgsR0FDRCxJQURDLEdBRUQsS0FBS08sV0FGWDtBQUdIOztBQUVELGFBQU8sS0FBS1IsS0FBTCxLQUFlLEVBQWYsSUFBcUIsS0FBS0EsS0FBTCxLQUFlLElBQXBDLEdBQ0QsS0FBS1MsZ0JBREosR0FFRCxLQUFLRCxXQUZYO0FBR0gsS0F4Q2lCOztB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QUssQ0FBQztBQUFBLGVBQUlqQixhQUFhLENBQUNpQixDQUFELENBQWpCO0FBQUEsT0FBakI7QUFFQSxVQUFNQyxTQUFTLEdBQUcsS0FBS0MsS0FBTCxDQUFXRCxTQUE3Qjs7QUFDQSxVQUFJQSxTQUFKLEVBQWU7QUFDWEEsUUFBQUEsU0FBUyxDQUFDSCxLQUFWLENBQWdCQyxPQUFoQixHQUEwQmpCLFVBQVUsS0FBSyxDQUFmLEdBQW1CLElBQW5CLEdBQTBCLE1BQXBEO0FBQ0g7QUFDSixLQWhLaUI7QUFrS2xCSixJQUFBQSwwQkFsS2tCLHdDQWtLVztBQUN6QixnQ0FBVyxLQUFLeUIsSUFBTCxHQUFZWCxnQkFBWixDQUE2QixLQUFLQyxvQkFBTCxDQUEwQixDQUExQixDQUE3QixDQUFYO0FBQ0gsS0FwS2lCO0FBc0tsQkEsSUFBQUEsb0JBdEtrQixnQ0FzS0dILEtBdEtILEVBc0tVO0FBQ3hCLGFBQU8sS0FBS25ELDhCQUFMLENBQW9DaUUsT0FBcEMsQ0FBNEMsUUFBNUMsRUFBc0RkLEtBQXRELENBQVA7QUFDSDtBQXhLaUI7QUFBQSxDQUF0QiIsInNvdXJjZXMiOlsid2VicGFjazovL2xhcmF2ZWwtZm9ybS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvdHJlZS1zZWxlY3QuanM/MDhhNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2VsZWN0TWl4aW5zIGZyb20gJy4uL21peGlucy9zZWxlY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBvcHRpb25zID0+ICh7XG4gICAgLi4uc2VsZWN0TWl4aW5zLFxuICAgIC4uLm9wdGlvbnMsXG4gICAgX2NvbXBvbmVudE5hbWU6ICd0cmVlLXNlbGVjdCcsXG4gICAgX2ZvY3VzYWJsZUVsZW1lbnRTZWxlY3RvcjogJy50cmVlLXNlbGVjdC1vcHRpb246bm90KC5kaXNhYmxlZCk6bm90KC5zZWxlY3Qtbm8tcmVzdWx0cyknLFxuICAgIF9vcHRpb25FbGVtZW50U2VsZWN0b3I6ICcudHJlZS1zZWxlY3Qtb3B0aW9uOm5vdCguc2VsZWN0LW5vLXJlc3VsdHMpJyxcbiAgICBfdG9wTGV2ZWxPcHRpb25FbGVtZW50U2VsZWN0b3I6ICcudHJlZS1zZWxlY3Qtb3B0aW9uW2RhdGEtbGV2ZWw9XCI6bGV2ZWxcIl06bm90KC5zZWxlY3Qtbm8tcmVzdWx0cyknLFxuXG4gICAgZ2V0IGhhc1ZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZVxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlLmxlbmd0aCA+IDBcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZSAhPT0gJycgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbDtcbiAgICB9LFxuXG4gICAgZ2V0IGhhc1ZhbHVlQW5kQ2FuQ2xlYXIoKSB7XG4gICAgICAgIGlmICghIHRoaXMub3B0aW9uYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5oYXNWYWx1ZTtcbiAgICB9LFxuXG4gICAgZ2V0IHNlYXJjaFBsYWNlaG9sZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgaWYgKCEgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAhPT0gJycgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbFxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlUGxhY2Vob2xkZXJcbiAgICAgICAgICAgIDogdGhpcy5wbGFjZWhvbGRlcjtcbiAgICB9LFxuXG4gICAgZ2V0IHNob3dTZWFyY2hJbnB1dCgpIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbjtcbiAgICB9LFxuXG4gICAgaW5pdCgpIHtcbiAgICAgICAgdGhpcy5faW5pdFNlbGVjdCgpO1xuICAgIH0sXG5cbiAgICBjbG9zZU1lbnUob3B0aW9ucyA9IHsgZm9jdXNSb290OiB0cnVlIH0pIHtcbiAgICAgICAgaWYgKCEgdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jbG9zZU1lbnUoKTtcblxuICAgICAgICBjb25zdCBmb2N1c1Jvb3QgPSBvcHRpb25zLmZvY3VzUm9vdCAhPT0gZmFsc2U7XG5cbiAgICAgICAgaWYgKGZvY3VzUm9vdCkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNSb290KCk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgb25BcnJvd1JpZ2h0KGV2ZW50KSB7XG4gICAgICAgIGlmICghIHRoaXMub3BlbiB8fCB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuX2dldEZvY3VzYWJsZUVsZW1lbnRzKClbdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXhdO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB3YXNFeHBhbmRlZCA9IG9wdGlvbi5feF9kYXRhU3RhY2tbMF0uZXhwYW5kKCk7XG5cbiAgICAgICAgICAgIGlmICh3YXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfSxcblxuICAgIG9uQXJyb3dMZWZ0KGV2ZW50KSB7XG4gICAgICAgIGlmICghIHRoaXMub3BlbiB8fCB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuX2dldEZvY3VzYWJsZUVsZW1lbnRzKClbdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXhdO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB3YXNDb2xsYXBzZWQgPSBvcHRpb24uX3hfZGF0YVN0YWNrWzBdLmNvbGxhcHNlKHsgcGFyZW50OiB0aGlzIH0pO1xuXG4gICAgICAgICAgICBpZiAod2FzQ29sbGFwc2VkID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9LFxuXG4gICAgc2VsZWN0T3B0aW9uKG9wdGlvbikge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG9wdGlvbi5feF9kYXRhU3RhY2tbMF0udG9nZ2xlKHsgcGFyZW50TWVudTogdGhpcyB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9LFxuXG4gICAgX2RvTG9jYWxTZWFyY2goKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9nZXRUb3BMZXZlbE9wdGlvbkVsZW1lbnRzKCk7XG4gICAgICAgIGNvbnN0IGxvd2VyY2FzZVNlYXJjaCA9IHRoaXMuc2VhcmNoID8gdGhpcy5zZWFyY2gudG9Mb3dlckNhc2UoKSA6IG51bGw7XG4gICAgICAgIGxldCBtYXRjaENvdW50ID0gMDtcblxuICAgICAgICBjb25zdCBvcHRpb25NYXRjaGVzID0gb3B0aW9uID0+IHtcbiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChsb3dlcmNhc2VTZWFyY2gpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbi5feF9kYXRhU3RhY2tbMF0ub3B0aW9uVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gb3B0aW9uLl94X2RhdGFTdGFja1swXS5vcHRpb25MYWJlbDtcblxuICAgICAgICAgICAgICAgICAgICBtYXRjaGVzID0gU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyY2FzZVNlYXJjaClcbiAgICAgICAgICAgICAgICAgICAgICAgIHx8IFN0cmluZyhsYWJlbCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlcmNhc2VTZWFyY2gpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIGFueSBjaGlsZHJlbiBtYXRjaFxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZXZlbCA9IG9wdGlvbi5feF9kYXRhU3RhY2tbMF0ubGV2ZWw7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBbLi4ub3B0aW9uLnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fbGV2ZWxPcHRpb25TZWxlY3RvcihsZXZlbCArIDEpKV07XG4gICAgICAgICAgICAgICAgbGV0IGNoaWxkTWF0Y2hlcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZE1hdGNoID0gb3B0aW9uTWF0Y2hlcyhjaGlsZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWF0Y2hlcyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmIChjaGlsZE1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlcyA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cblxuICAgICAgICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBtYXRjaENvdW50Kys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG9wdGlvbi5zdHlsZS5kaXNwbGF5ID0gbWF0Y2hlcyA/IG51bGwgOiAnbm9uZSc7XG5cbiAgICAgICAgICAgIHJldHVybiBtYXRjaGVzO1xuICAgICAgICB9O1xuXG4gICAgICAgIG9wdGlvbnMuZm9yRWFjaChvID0+IG9wdGlvbk1hdGNoZXMobykpO1xuXG4gICAgICAgIGNvbnN0IG5vUmVzdWx0cyA9IHRoaXMuJHJlZnMubm9SZXN1bHRzO1xuICAgICAgICBpZiAobm9SZXN1bHRzKSB7XG4gICAgICAgICAgICBub1Jlc3VsdHMuc3R5bGUuZGlzcGxheSA9IG1hdGNoQ291bnQgPT09IDAgPyBudWxsIDogJ25vbmUnO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIF9nZXRUb3BMZXZlbE9wdGlvbkVsZW1lbnRzKCkge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXMubWVudSgpLnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fbGV2ZWxPcHRpb25TZWxlY3RvcigwKSldO1xuICAgIH0sXG5cbiAgICBfbGV2ZWxPcHRpb25TZWxlY3RvcihsZXZlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdG9wTGV2ZWxPcHRpb25FbGVtZW50U2VsZWN0b3IucmVwbGFjZSgnOmxldmVsJywgbGV2ZWwpO1xuICAgIH1cbn0pO1xuIl0sIm5hbWVzIjpbInNlbGVjdE1peGlucyIsIm9wdGlvbnMiLCJfY29tcG9uZW50TmFtZSIsIl9mb2N1c2FibGVFbGVtZW50U2VsZWN0b3IiLCJfb3B0aW9uRWxlbWVudFNlbGVjdG9yIiwiX3RvcExldmVsT3B0aW9uRWxlbWVudFNlbGVjdG9yIiwiaGFzVmFsdWUiLCJtdWx0aXBsZSIsInZhbHVlIiwibGVuZ3RoIiwiaGFzVmFsdWVBbmRDYW5DbGVhciIsIm9wdGlvbmFsIiwiZGlzYWJsZWQiLCJzZWFyY2hQbGFjZWhvbGRlciIsIkFycmF5IiwiaXNBcnJheSIsInBsYWNlaG9sZGVyIiwidmFsdWVQbGFjZWhvbGRlciIsInNob3dTZWFyY2hJbnB1dCIsIm9wZW4iLCJpbml0IiwiX2luaXRTZWxlY3QiLCJjbG9zZU1lbnUiLCJmb2N1c1Jvb3QiLCJfY2xvc2VNZW51IiwiX2ZvY3VzUm9vdCIsIm9uQXJyb3dSaWdodCIsImV2ZW50IiwiZm9jdXNlZE9wdGlvbkluZGV4Iiwib3B0aW9uIiwiX2dldEZvY3VzYWJsZUVsZW1lbnRzIiwid2FzRXhwYW5kZWQiLCJfeF9kYXRhU3RhY2siLCJleHBhbmQiLCJwcmV2ZW50RGVmYXVsdCIsImUiLCJvbkFycm93TGVmdCIsIndhc0NvbGxhcHNlZCIsImNvbGxhcHNlIiwicGFyZW50Iiwic2VsZWN0T3B0aW9uIiwidG9nZ2xlIiwicGFyZW50TWVudSIsIl9kb0xvY2FsU2VhcmNoIiwiX2dldFRvcExldmVsT3B0aW9uRWxlbWVudHMiLCJsb3dlcmNhc2VTZWFyY2giLCJzZWFyY2giLCJ0b0xvd2VyQ2FzZSIsIm1hdGNoQ291bnQiLCJvcHRpb25NYXRjaGVzIiwibWF0Y2hlcyIsIm9wdGlvblZhbHVlIiwibGFiZWwiLCJvcHRpb25MYWJlbCIsIlN0cmluZyIsImluY2x1ZGVzIiwibGV2ZWwiLCJjaGlsZHJlbiIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJfbGV2ZWxPcHRpb25TZWxlY3RvciIsImNoaWxkTWF0Y2hlcyIsImZvckVhY2giLCJjaGlsZCIsImNoaWxkTWF0Y2giLCJzdHlsZSIsImRpc3BsYXkiLCJvIiwibm9SZXN1bHRzIiwiJHJlZnMiLCJtZW51IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/components/tree-select.js\n"); + +/***/ }), + +/***/ "./resources/js/index.js": +/*!*******************************!*\ + !*** ./resources/js/index.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components */ \"./resources/js/components/index.js\");\n/* harmony import */ var _util_prototypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util/prototypes */ \"./resources/js/util/prototypes.js\");\n/* harmony import */ var _util_prototypes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_util_prototypes__WEBPACK_IMPORTED_MODULE_1__);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGFyYXZlbC1mb3JtLWNvbXBvbmVudHMvLi9yZXNvdXJjZXMvanMvaW5kZXguanM/YmY3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgJy4vdXRpbC9wcm90b3R5cGVzJztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/index.js\n"); + +/***/ }), + +/***/ "./resources/js/mixins/select-option.js": +/*!**********************************************!*\ + !*** ./resources/js/mixins/select-option.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _util_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/id */ \"./resources/js/util/id.js\");\n/* harmony import */ var _util_focusElement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/focusElement */ \"./resources/js/util/focusElement.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n optionDisabled: false,\n optionValue: null,\n optionLabel: null,\n optionSelectedLabel: null,\n hasFocus: false,\n _id: null,\n _optionComponentName: 'select-option',\n _optionSelector: '',\n _optionIndex: -1,\n optionSelected: function optionSelected() {\n return this._isValueSelected(this.optionValue);\n },\n _init: function _init() {\n var _this = this;\n\n this._id = (0,_util_id__WEBPACK_IMPORTED_MODULE_0__.uniqueId)(this._optionComponentName);\n this.$watch('hasFocus', function (hasFocus) {\n if (hasFocus) {\n // `this.name` is a property that should come from the parent select component.\n _this.$dispatch(\"\".concat(_this._componentName, \"-\").concat(_this.name.toSlug(), \"-option-focused\"), _this._id);\n }\n });\n },\n onReceivedFocus: function onReceivedFocus(event) {\n var _id = event.detail;\n this.hasFocus = this._id === _id;\n\n if (this.hasFocus) {\n this._focusedOptionId = this._id;\n }\n },\n focus: function focus(_ref) {\n var _ref$updateParentInde = _ref.updateParentIndex,\n updateParentIndex = _ref$updateParentInde === void 0 ? false : _ref$updateParentInde,\n _ref$parent = _ref.parent,\n parent = _ref$parent === void 0 ? null : _ref$parent,\n _ref$scroll = _ref.scroll,\n scroll = _ref$scroll === void 0 ? true : _ref$scroll,\n _ref$block = _ref.block,\n block = _ref$block === void 0 ? 'end' : _ref$block;\n\n if (this.optionDisabled || this.hasFocus) {\n return;\n }\n\n parent = parent || this;\n this.hasFocus = true;\n\n if (scroll) {\n (0,_util_focusElement__WEBPACK_IMPORTED_MODULE_1__.focusElementInParent)(this.$root, parent.menu(), {\n threshold: (this.$root.querySelector(this._optionSelector) || this.$root).offsetHeight,\n block: block\n });\n }\n\n if (updateParentIndex) {\n parent.updateFocusedOptionIndexFromElement(this.$root);\n }\n },\n toggle: function toggle() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n parentMenu: null\n };\n var parentMenu = options.parentMenu || this;\n\n if (this.optionDisabled || !parentMenu.canToggleOption(this.optionValue)) {\n return;\n }\n\n parentMenu.toggleOption(this);\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvbWl4aW5zL3NlbGVjdC1vcHRpb24uanMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUVBLGlFQUFlO0FBQ1hFLEVBQUFBLGNBQWMsRUFBRSxLQURMO0FBRVhDLEVBQUFBLFdBQVcsRUFBRSxJQUZGO0FBR1hDLEVBQUFBLFdBQVcsRUFBRSxJQUhGO0FBSVhDLEVBQUFBLG1CQUFtQixFQUFFLElBSlY7QUFLWEMsRUFBQUEsUUFBUSxFQUFFLEtBTEM7QUFNWEMsRUFBQUEsR0FBRyxFQUFFLElBTk07QUFPWEMsRUFBQUEsb0JBQW9CLEVBQUUsZUFQWDtBQVFYQyxFQUFBQSxlQUFlLEVBQUUsRUFSTjtBQVNYQyxFQUFBQSxZQUFZLEVBQUUsQ0FBQyxDQVRKO0FBV1hDLEVBQUFBLGNBWFcsNEJBV007QUFDYixXQUFPLEtBQUtDLGdCQUFMLENBQXNCLEtBQUtULFdBQTNCLENBQVA7QUFDSCxHQWJVO0FBZVhVLEVBQUFBLEtBZlcsbUJBZUg7QUFBQTs7QUFDSixTQUFLTixHQUFMLEdBQVdQLGtEQUFRLENBQUMsS0FBS1Esb0JBQU4sQ0FBbkI7QUFFQSxTQUFLTSxNQUFMLENBQVksVUFBWixFQUF3QixVQUFBUixRQUFRLEVBQUk7QUFDaEMsVUFBSUEsUUFBSixFQUFjO0FBQ1Y7QUFDQSxhQUFJLENBQUNTLFNBQUwsV0FBa0IsS0FBSSxDQUFDQyxjQUF2QixjQUF5QyxLQUFJLENBQUNDLElBQUwsQ0FBVUMsTUFBVixFQUF6QyxzQkFBOEUsS0FBSSxDQUFDWCxHQUFuRjtBQUNIO0FBQ0osS0FMRDtBQU1ILEdBeEJVO0FBMEJYWSxFQUFBQSxlQTFCVywyQkEwQktDLEtBMUJMLEVBMEJZO0FBQ25CLFFBQU1iLEdBQUcsR0FBR2EsS0FBSyxDQUFDQyxNQUFsQjtBQUNBLFNBQUtmLFFBQUwsR0FBZ0IsS0FBS0MsR0FBTCxLQUFhQSxHQUE3Qjs7QUFFQSxRQUFJLEtBQUtELFFBQVQsRUFBbUI7QUFDZixXQUFLZ0IsZ0JBQUwsR0FBd0IsS0FBS2YsR0FBN0I7QUFDSDtBQUNKLEdBakNVO0FBbUNYZ0IsRUFBQUEsS0FuQ1csdUJBbUN1RTtBQUFBLHFDQUExRUMsaUJBQTBFO0FBQUEsUUFBMUVBLGlCQUEwRSxzQ0FBdEQsS0FBc0Q7QUFBQSwyQkFBL0NDLE1BQStDO0FBQUEsUUFBL0NBLE1BQStDLDRCQUF0QyxJQUFzQztBQUFBLDJCQUFoQ0MsTUFBZ0M7QUFBQSxRQUFoQ0EsTUFBZ0MsNEJBQXZCLElBQXVCO0FBQUEsMEJBQWpCQyxLQUFpQjtBQUFBLFFBQWpCQSxLQUFpQiwyQkFBVCxLQUFTOztBQUM5RSxRQUFJLEtBQUt6QixjQUFMLElBQXVCLEtBQUtJLFFBQWhDLEVBQTBDO0FBQ3RDO0FBQ0g7O0FBRURtQixJQUFBQSxNQUFNLEdBQUdBLE1BQU0sSUFBSSxJQUFuQjtBQUVBLFNBQUtuQixRQUFMLEdBQWdCLElBQWhCOztBQUVBLFFBQUlvQixNQUFKLEVBQVk7QUFDUnpCLE1BQUFBLHdFQUFvQixDQUFDLEtBQUsyQixLQUFOLEVBQWFILE1BQU0sQ0FBQ0ksSUFBUCxFQUFiLEVBQTRCO0FBQzVDQyxRQUFBQSxTQUFTLEVBQUUsQ0FBQyxLQUFLRixLQUFMLENBQVdHLGFBQVgsQ0FBeUIsS0FBS3RCLGVBQTlCLEtBQWtELEtBQUttQixLQUF4RCxFQUErREksWUFEOUI7QUFFNUNMLFFBQUFBLEtBQUssRUFBTEE7QUFGNEMsT0FBNUIsQ0FBcEI7QUFJSDs7QUFFRCxRQUFJSCxpQkFBSixFQUF1QjtBQUNuQkMsTUFBQUEsTUFBTSxDQUFDUSxtQ0FBUCxDQUEyQyxLQUFLTCxLQUFoRDtBQUNIO0FBQ0osR0F0RFU7QUF3RFhNLEVBQUFBLE1BeERXLG9CQXdENEI7QUFBQSxRQUFoQ0MsT0FBZ0MsdUVBQXRCO0FBQUVDLE1BQUFBLFVBQVUsRUFBRTtBQUFkLEtBQXNCO0FBQ25DLFFBQU1BLFVBQVUsR0FBR0QsT0FBTyxDQUFDQyxVQUFSLElBQXNCLElBQXpDOztBQUVBLFFBQUksS0FBS2xDLGNBQUwsSUFBdUIsQ0FBRWtDLFVBQVUsQ0FBQ0MsZUFBWCxDQUEyQixLQUFLbEMsV0FBaEMsQ0FBN0IsRUFBMkU7QUFDdkU7QUFDSDs7QUFFRGlDLElBQUFBLFVBQVUsQ0FBQ0UsWUFBWCxDQUF3QixJQUF4QjtBQUNIO0FBaEVVLENBQWYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy9taXhpbnMvc2VsZWN0LW9wdGlvbi5qcz84NDA1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVuaXF1ZUlkIH0gZnJvbSAnLi4vdXRpbC9pZCc7XG5pbXBvcnQgeyBmb2N1c0VsZW1lbnRJblBhcmVudCB9IGZyb20gJy4uL3V0aWwvZm9jdXNFbGVtZW50JztcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIG9wdGlvbkRpc2FibGVkOiBmYWxzZSxcbiAgICBvcHRpb25WYWx1ZTogbnVsbCxcbiAgICBvcHRpb25MYWJlbDogbnVsbCxcbiAgICBvcHRpb25TZWxlY3RlZExhYmVsOiBudWxsLFxuICAgIGhhc0ZvY3VzOiBmYWxzZSxcbiAgICBfaWQ6IG51bGwsXG4gICAgX29wdGlvbkNvbXBvbmVudE5hbWU6ICdzZWxlY3Qtb3B0aW9uJyxcbiAgICBfb3B0aW9uU2VsZWN0b3I6ICcnLFxuICAgIF9vcHRpb25JbmRleDogLTEsXG5cbiAgICBvcHRpb25TZWxlY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVmFsdWVTZWxlY3RlZCh0aGlzLm9wdGlvblZhbHVlKTtcbiAgICB9LFxuXG4gICAgX2luaXQoKSB7XG4gICAgICAgIHRoaXMuX2lkID0gdW5pcXVlSWQodGhpcy5fb3B0aW9uQ29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgdGhpcy4kd2F0Y2goJ2hhc0ZvY3VzJywgaGFzRm9jdXMgPT4ge1xuICAgICAgICAgICAgaWYgKGhhc0ZvY3VzKSB7XG4gICAgICAgICAgICAgICAgLy8gYHRoaXMubmFtZWAgaXMgYSBwcm9wZXJ0eSB0aGF0IHNob3VsZCBjb21lIGZyb20gdGhlIHBhcmVudCBzZWxlY3QgY29tcG9uZW50LlxuICAgICAgICAgICAgICAgIHRoaXMuJGRpc3BhdGNoKGAke3RoaXMuX2NvbXBvbmVudE5hbWV9LSR7dGhpcy5uYW1lLnRvU2x1ZygpfS1vcHRpb24tZm9jdXNlZGAsIHRoaXMuX2lkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIG9uUmVjZWl2ZWRGb2N1cyhldmVudCkge1xuICAgICAgICBjb25zdCBfaWQgPSBldmVudC5kZXRhaWw7XG4gICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0aGlzLl9pZCA9PT0gX2lkO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0ZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c2VkT3B0aW9uSWQgPSB0aGlzLl9pZDtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBmb2N1cyh7IHVwZGF0ZVBhcmVudEluZGV4ID0gZmFsc2UsIHBhcmVudCA9IG51bGwsIHNjcm9sbCA9IHRydWUsIGJsb2NrID0gJ2VuZCcgfSkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25EaXNhYmxlZCB8fCB0aGlzLmhhc0ZvY3VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBwYXJlbnQgPSBwYXJlbnQgfHwgdGhpcztcblxuICAgICAgICB0aGlzLmhhc0ZvY3VzID0gdHJ1ZTtcblxuICAgICAgICBpZiAoc2Nyb2xsKSB7XG4gICAgICAgICAgICBmb2N1c0VsZW1lbnRJblBhcmVudCh0aGlzLiRyb290LCBwYXJlbnQubWVudSgpLCB7XG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAodGhpcy4kcm9vdC5xdWVyeVNlbGVjdG9yKHRoaXMuX29wdGlvblNlbGVjdG9yKSB8fCB0aGlzLiRyb290KS5vZmZzZXRIZWlnaHQsXG4gICAgICAgICAgICAgICAgYmxvY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1cGRhdGVQYXJlbnRJbmRleCkge1xuICAgICAgICAgICAgcGFyZW50LnVwZGF0ZUZvY3VzZWRPcHRpb25JbmRleEZyb21FbGVtZW50KHRoaXMuJHJvb3QpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHRvZ2dsZShvcHRpb25zID0geyBwYXJlbnRNZW51OiBudWxsIH0pIHtcbiAgICAgICAgY29uc3QgcGFyZW50TWVudSA9IG9wdGlvbnMucGFyZW50TWVudSB8fCB0aGlzO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbkRpc2FibGVkIHx8ICEgcGFyZW50TWVudS5jYW5Ub2dnbGVPcHRpb24odGhpcy5vcHRpb25WYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmVudE1lbnUudG9nZ2xlT3B0aW9uKHRoaXMpO1xuICAgIH0sXG59O1xuIl0sIm5hbWVzIjpbInVuaXF1ZUlkIiwiZm9jdXNFbGVtZW50SW5QYXJlbnQiLCJvcHRpb25EaXNhYmxlZCIsIm9wdGlvblZhbHVlIiwib3B0aW9uTGFiZWwiLCJvcHRpb25TZWxlY3RlZExhYmVsIiwiaGFzRm9jdXMiLCJfaWQiLCJfb3B0aW9uQ29tcG9uZW50TmFtZSIsIl9vcHRpb25TZWxlY3RvciIsIl9vcHRpb25JbmRleCIsIm9wdGlvblNlbGVjdGVkIiwiX2lzVmFsdWVTZWxlY3RlZCIsIl9pbml0IiwiJHdhdGNoIiwiJGRpc3BhdGNoIiwiX2NvbXBvbmVudE5hbWUiLCJuYW1lIiwidG9TbHVnIiwib25SZWNlaXZlZEZvY3VzIiwiZXZlbnQiLCJkZXRhaWwiLCJfZm9jdXNlZE9wdGlvbklkIiwiZm9jdXMiLCJ1cGRhdGVQYXJlbnRJbmRleCIsInBhcmVudCIsInNjcm9sbCIsImJsb2NrIiwiJHJvb3QiLCJtZW51IiwidGhyZXNob2xkIiwicXVlcnlTZWxlY3RvciIsIm9mZnNldEhlaWdodCIsInVwZGF0ZUZvY3VzZWRPcHRpb25JbmRleEZyb21FbGVtZW50IiwidG9nZ2xlIiwib3B0aW9ucyIsInBhcmVudE1lbnUiLCJjYW5Ub2dnbGVPcHRpb24iLCJ0b2dnbGVPcHRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/mixins/select-option.js\n"); + +/***/ }), + +/***/ "./resources/js/mixins/select.js": +/*!***************************************!*\ + !*** ./resources/js/mixins/select.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _util_inspect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/inspect */ \"./resources/js/util/inspect.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Common functionality needed across custom selects.\n\nvar createPopper;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n open: false,\n disabled: false,\n fixed: false,\n optional: false,\n searchable: true,\n closeOnSelect: false,\n multiple: false,\n placeholder: null,\n valuePlaceholder: null,\n search: '',\n value: null,\n valueLabel: null,\n initialLabel: null,\n focusedOptionIndex: -1,\n focusableElements: null,\n autofocus: false,\n minSelected: 1,\n maxSelected: null,\n selectedOptions: [],\n livewireSearch: null,\n _wire: null,\n _root: null,\n _popper: null,\n _componentName: '',\n _focusableElementSelector: '',\n _optionElementSelector: '',\n _wireToggleMethod: '',\n _focusedOptionId: null,\n _noCloseOnSelect: false,\n // flag we can set for certain actions that shouldn't close the menu\n _wireModelName: null,\n menu: function menu() {\n if (!this.$refs.menu) {\n return this._root.querySelector('[x-ref=\"menu\"]');\n }\n\n return this.$refs.menu;\n },\n searchInput: function searchInput() {\n if (!this.$refs.search) {\n return this._root.querySelector('[x-ref=\"search\"]');\n }\n\n return this.$refs.search;\n },\n _closeMenu: function _closeMenu() {\n this.search = '';\n this.focusableElements = null;\n this.open = false;\n\n this._resetPopper();\n },\n openMenu: function openMenu() {\n if (this.disabled) {\n return;\n }\n\n this._initPopper();\n\n this.open = true;\n\n this._focusSearch();\n\n this._focusSelectedOption();\n },\n onBackspace: function onBackspace() {\n if (!this.open || this.disabled || this.search) {\n return;\n }\n\n var value = this.multiple ? this.value[this.value.length - 1] : this.value;\n\n if (value) {\n this._noCloseOnSelect = true;\n this.toggleOptionByValue(value);\n }\n },\n onEnter: function onEnter() {\n if (!this.open) {\n return this.openMenu();\n }\n\n if (this.focusedOptionIndex < 0) {\n return;\n }\n\n var elements = this._getFocusableElements();\n\n if (elements.length) {\n this.selectOption(elements[this.focusedOptionIndex]);\n }\n },\n onTab: function onTab() {\n if (this.disabled || !this.open) {\n return;\n }\n\n this.closeMenu({\n focusRoot: false\n });\n },\n focusNextOption: function focusNextOption() {\n if (this.disabled) {\n return;\n }\n\n if (!this.open) {\n return this.openMenu();\n }\n\n var elements = this._getFocusableElements();\n\n if (!elements.length) {\n return this.focusedOptionIndex = -1;\n }\n\n this.focusedOptionIndex++;\n\n if (this.focusedOptionIndex + 1 > elements.length) {\n this.focusedOptionIndex = 0;\n }\n\n this._focusOption(elements[this.focusedOptionIndex]);\n },\n focusPreviousOption: function focusPreviousOption() {\n if (this.disabled) {\n return;\n }\n\n if (!this.open) {\n return this.openMenu();\n }\n\n var elements = this._getFocusableElements();\n\n if (!elements.length) {\n return this.focusedOptionIndex = -1;\n }\n\n this.focusedOptionIndex--;\n\n if (this.focusedOptionIndex < 0) {\n this.focusedOptionIndex = elements.length - 1;\n }\n\n this._focusOption(elements[this.focusedOptionIndex], {\n block: 'start'\n });\n },\n focusFirstOption: function focusFirstOption() {\n if (this.disabled) {\n return;\n }\n\n var elements = this._getFocusableElements();\n\n if (!elements.length) {\n return this.focusedOptionIndex = -1;\n }\n\n this.focusedOptionIndex = 0;\n\n this._focusOption(elements[this.focusedOptionIndex], {\n block: 'start'\n });\n },\n focusLastOption: function focusLastOption() {\n if (this.disabled) {\n return;\n }\n\n var elements = this._getFocusableElements();\n\n if (!elements.length) {\n return this.focusedOptionIndex = -1;\n }\n\n this.focusedOptionIndex = elements.length - 1;\n\n this._focusOption(elements[this.focusedOptionIndex], {\n block: 'end'\n });\n },\n updateFocusedOptionIndexFromElement: function updateFocusedOptionIndexFromElement(el) {\n var elements = this._getFocusableElements();\n\n if (elements.length) {\n this.focusedOptionIndex = elements.findIndex(function (other) {\n return other.isEqualNode(el);\n });\n\n try {\n this._focusedOptionId = el._x_dataStack[0]._id;\n } catch (e) {}\n }\n },\n canToggleOption: function canToggleOption(value) {\n if (this.disabled) {\n return false;\n }\n\n var isSelected = this._isValueSelected(value);\n\n if (this.multiple) {\n if (isSelected && this.value.length <= this.minSelected) {\n return this.optional;\n }\n\n if (!isSelected && !this._canSelectAnotherOption()) {\n return false;\n }\n\n return true;\n }\n\n if (isSelected && !this.optional) {\n return false;\n }\n\n return true;\n },\n clearValue: function clearValue() {\n if (this.disabled) {\n return;\n }\n\n if (!this.optional) {\n return;\n }\n\n this.value = this.multiple ? [] : null;\n this.valueLabel = null;\n },\n toggleOption: function toggleOption(option) {\n if (this.disabled) {\n return;\n }\n\n if (this.multiple) {\n this._toggleMultiSelectOption(option);\n } else {\n this._toggleSingleSelectOption(option);\n }\n },\n toggleOptionByValue: function toggleOptionByValue(value) {\n var option = this._getOptionByValue(value);\n\n if (option) {\n option = option._x_dataStack[0];\n } else {\n option = {\n optionValue: value\n };\n }\n\n return this.toggleOption(option);\n },\n setNewValue: function setNewValue(newValue) {\n var _this = this;\n\n if (this.multiple) {\n this.value = [];\n this.selectedOptions = [];\n newValue.forEach(function (value) {\n return _this.toggleOptionByValue(value);\n });\n return;\n } // When emitting `null` values from php, sometimes it comes through as an object,\n // so we'll \"fix\" it here.\n\n\n if ((0,_util_inspect__WEBPACK_IMPORTED_MODULE_0__.isObject)(newValue)) {\n newValue = null;\n }\n\n this.value = newValue;\n },\n handleValueChange: function handleValueChange() {\n if (!this.closeOnSelect && this.open) {\n this._initPopper();\n\n this._focusSearch();\n\n return;\n }\n\n if (this.closeOnSelect && this.open) {\n this._handleCloseOnSelect();\n }\n },\n labelForValue: function labelForValue(value) {\n var option = this.selectedOptions.find(function (o) {\n return String(o.optionValue) === String(value);\n });\n\n if (!option) {\n return value;\n }\n\n return option.optionSelectedLabel ? option.optionSelectedLabel : option.optionLabel;\n },\n _toggleMultiSelectOption: function _toggleMultiSelectOption(option) {\n var value = option.optionValue;\n\n var newValue = _toConsumableArray(this.value);\n\n if (this._isValueSelected(value) && this._canDeSelectAnOption()) {\n newValue.splice(newValue.indexOf(value), 1);\n this.selectedOptions.splice(this.selectedOptions.findIndex(function (o) {\n return String(o.optionValue) === String(value);\n }), 1);\n } else if (!this._isValueSelected(value) && this._canSelectAnotherOption()) {\n newValue.push(value);\n this.selectedOptions.push(option);\n }\n\n this.value = newValue;\n },\n _toggleSingleSelectOption: function _toggleSingleSelectOption(option) {\n var optionValue = _typeof(option) === 'object' ? option.optionValue : option;\n this.value = this._isValueSelected(optionValue) ? null : optionValue;\n },\n _canDeSelectAnOption: function _canDeSelectAnOption() {\n if (this.optional) {\n return true;\n }\n\n return this.value.length > this.minSelected;\n },\n _canSelectAnotherOption: function _canSelectAnotherOption() {\n if (this.maxSelected === null) {\n return true;\n }\n\n return this.value.length < this.maxSelected;\n },\n _isValueSelected: function _isValueSelected(value) {\n var stringValue = String(value);\n\n if (this.multiple) {\n // In certain edge cases, `this.value` may not be an array, so\n // we'll force it to be one if it's not here.\n var _value = (0,_util_inspect__WEBPACK_IMPORTED_MODULE_0__.isArray)(this.value) ? this.value : [];\n\n return _value.some(function (v) {\n return String(v) === stringValue;\n });\n }\n\n return stringValue === String(this.value);\n },\n _focusOption: function _focusOption(option) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n option._x_dataStack[0].focus(_objectSpread({\n parent: this\n }, options));\n\n this.updateFocusedOptionIndexFromElement(option);\n } catch (e) {}\n },\n _focusRoot: function _focusRoot() {\n var _this2 = this;\n\n if (!this.disabled) {\n setTimeout(function () {\n return _this2._root.focus();\n }, 50);\n }\n },\n _focusSearch: function _focusSearch() {\n var _this3 = this;\n\n if (!this.searchable) {\n return;\n }\n\n try {\n setTimeout(function () {\n return _this3.searchInput().focus();\n }, 50);\n } catch (e) {}\n },\n _focusSelectedOption: function _focusSelectedOption() {\n var _this4 = this;\n\n var firstValue = this.multiple ? String(this.value[0]) : String(this.value);\n\n if (!firstValue) {\n return;\n }\n\n var option = this._getOptionByValue(firstValue);\n\n if (option && !option.optionDisabled) {\n setTimeout(function () {\n return _this4._focusOption(option);\n }, 50);\n }\n },\n _getOptionByValue: function _getOptionByValue(value) {\n var focusableElements = this._getAllOptionElements();\n\n if (!focusableElements.length) {\n return null;\n }\n\n return focusableElements.find(function (o) {\n try {\n return String(o._x_dataStack[0].optionValue) === String(value);\n } catch (e) {}\n });\n },\n _getAllOptionElements: function _getAllOptionElements() {\n return _toConsumableArray(this.menu().querySelectorAll(this._optionElementSelector));\n },\n _getFocusableElements: function _getFocusableElements() {\n if (this.focusableElements !== null) {\n return this.focusableElements;\n }\n\n return this.focusableElements = _toConsumableArray(this.menu().querySelectorAll(this._focusableElementSelector)).filter(function (el) {\n return el.offsetParent !== null;\n }); // Ensure option is visible\n },\n _handleCloseOnSelect: function _handleCloseOnSelect() {\n if (this._shouldCloseOnSelect()) {\n this.closeMenu();\n }\n },\n _handleSearch: function _handleSearch() {\n this.focusableElements = null;\n\n if (this.livewireSearch && this._wire) {\n try {\n this._wire[this.livewireSearch](this.search);\n } catch (e) {}\n\n return;\n }\n\n this._doLocalSearch();\n },\n _doLocalSearch: function _doLocalSearch() {\n var options = this._getAllOptionElements();\n\n var lowercaseSearch = this.search ? this.search.toLowerCase() : null;\n var matchCount = 0;\n options.forEach(function (o) {\n var matches = true;\n\n if (lowercaseSearch) {\n try {\n var optionValue = o._x_dataStack[0].optionValue;\n var label = o._x_dataStack[0].optionLabel;\n matches = String(optionValue).toLowerCase().includes(lowercaseSearch) || String(label).toLowerCase().includes(lowercaseSearch);\n } catch (e) {}\n }\n\n if (matches) {\n matchCount++;\n }\n\n o.style.display = matches ? null : 'none';\n });\n var noResults = this.$refs.noResults;\n\n if (noResults) {\n noResults.style.display = matchCount === 0 ? null : 'none';\n }\n },\n _initPopper: function _initPopper() {\n this._resetPopper();\n\n this._popper = createPopper(this._root, this.menu(), this._popperConfig());\n },\n _initSelect: function _initSelect() {\n var _this5 = this;\n\n this._root = this.$root;\n createPopper = window.Popper ? window.Popper.createPopper : window.createPopper;\n\n if (typeof createPopper !== 'function') {\n throw new TypeError(\"<\".concat(this._componentName, \"> requires Popper (https://popper.js.org)\"));\n }\n\n if (this.autofocus) {\n this._focusRoot();\n }\n\n if (this.searchable) {\n this.$watch('search', function () {\n return _this5._handleSearch();\n });\n }\n\n if (!this.multiple && this.value && !this.initialLabel) {\n this._determineInitialLabel();\n }\n\n if (this.initialLabel) {\n this.valueLabel = this.initialLabel;\n this.valuePlaceholder = this.initialLabel;\n }\n\n if (this.multiple) {\n this.$nextTick(function () {\n _this5.selectedOptions = _toConsumableArray(_this5.value).map(function (v) {\n return _this5._getOptionByValue(v)._x_dataStack[0];\n });\n });\n }\n\n this.$watch('value', function (newValue, oldValue) {\n // Possible bug: When livewire components are updated, the watcher\n // gets triggered again, even if the new and old values are the same,\n // so we want to prevent our handlers from running in those cases...\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) {\n return;\n }\n\n _this5._updateSelectedOption(newValue);\n\n _this5.handleValueChange();\n\n _this5.$dispatch('input', newValue); // For some reason when using a wire:model.defer, livewire is not\n // sending null values back to the server for updates, so we will\n // force it to here...\n\n\n if (newValue === null && _this5._wire && _this5._wireModelName) {\n _this5._wire.set(_this5._wireModelName, null, true);\n }\n });\n },\n _updateSelectedOption: function _updateSelectedOption(newValue) {\n if (this.multiple) {\n return;\n }\n\n if (!newValue) {\n this.valueLabel = this.placeholder;\n }\n\n var option = this._getOptionByValue(newValue);\n\n if (option) {\n try {\n this.valueLabel = option._x_dataStack[0].optionSelectedLabel;\n this.valuePlaceholder = option._x_dataStack[0].optionLabel;\n } catch (e) {}\n }\n },\n _popperConfig: function _popperConfig() {\n return {\n placement: 'bottom-start',\n strategy: this.fixed ? 'fixed' : 'absolute',\n modifiers: [{\n name: 'offset',\n options: {\n offset: [0, 0]\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundariesElement: this._root\n }\n }]\n };\n },\n _resetPopper: function _resetPopper() {\n if (this._popper) {\n this._popper.destroy();\n\n this._popper = null;\n }\n },\n _determineInitialLabel: function _determineInitialLabel() {\n var _this6 = this;\n\n this.$nextTick(function () {\n var option = _this6._getOptionByValue(_this6.value);\n\n if (option) {\n try {\n _this6.initialLabel = option._x_dataStack[0].optionSelectedLabel;\n _this6.valueLabel = _this6.initialLabel;\n _this6.valuePlaceholder = _this6.initialLabel;\n return;\n } catch (e) {}\n }\n\n _this6.initialLabel = _this6.value;\n _this6.valueLabel = _this6.initialLabel;\n _this6.valuePlaceholder = _this6.initialLabel;\n });\n },\n _shouldCloseOnSelect: function _shouldCloseOnSelect() {\n if (this._noCloseOnSelect) {\n this._noCloseOnSelect = false;\n return false;\n }\n\n if (!this.closeOnSelect) {\n return false;\n }\n\n if (this.multiple) {\n return this.maxSelected === null ? this.value.length >= this.minSelected : this.value.length >= this.maxSelected;\n }\n\n return true;\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvbWl4aW5zL3NlbGVjdC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBLElBQUlFLFlBQUo7QUFFQSxpRUFBZTtBQUNYQyxFQUFBQSxJQUFJLEVBQUUsS0FESztBQUVYQyxFQUFBQSxRQUFRLEVBQUUsS0FGQztBQUdYQyxFQUFBQSxLQUFLLEVBQUUsS0FISTtBQUlYQyxFQUFBQSxRQUFRLEVBQUUsS0FKQztBQUtYQyxFQUFBQSxVQUFVLEVBQUUsSUFMRDtBQU1YQyxFQUFBQSxhQUFhLEVBQUUsS0FOSjtBQU9YQyxFQUFBQSxRQUFRLEVBQUUsS0FQQztBQVFYQyxFQUFBQSxXQUFXLEVBQUUsSUFSRjtBQVNYQyxFQUFBQSxnQkFBZ0IsRUFBRSxJQVRQO0FBVVhDLEVBQUFBLE1BQU0sRUFBRSxFQVZHO0FBV1hDLEVBQUFBLEtBQUssRUFBRSxJQVhJO0FBWVhDLEVBQUFBLFVBQVUsRUFBRSxJQVpEO0FBYVhDLEVBQUFBLFlBQVksRUFBRSxJQWJIO0FBY1hDLEVBQUFBLGtCQUFrQixFQUFFLENBQUMsQ0FkVjtBQWVYQyxFQUFBQSxpQkFBaUIsRUFBRSxJQWZSO0FBZ0JYQyxFQUFBQSxTQUFTLEVBQUUsS0FoQkE7QUFpQlhDLEVBQUFBLFdBQVcsRUFBRSxDQWpCRjtBQWtCWEMsRUFBQUEsV0FBVyxFQUFFLElBbEJGO0FBbUJYQyxFQUFBQSxlQUFlLEVBQUUsRUFuQk47QUFvQlhDLEVBQUFBLGNBQWMsRUFBRSxJQXBCTDtBQXFCWEMsRUFBQUEsS0FBSyxFQUFFLElBckJJO0FBc0JYQyxFQUFBQSxLQUFLLEVBQUUsSUF0Qkk7QUF1QlhDLEVBQUFBLE9BQU8sRUFBRSxJQXZCRTtBQXdCWEMsRUFBQUEsY0FBYyxFQUFFLEVBeEJMO0FBeUJYQyxFQUFBQSx5QkFBeUIsRUFBRSxFQXpCaEI7QUEwQlhDLEVBQUFBLHNCQUFzQixFQUFFLEVBMUJiO0FBMkJYQyxFQUFBQSxpQkFBaUIsRUFBRSxFQTNCUjtBQTRCWEMsRUFBQUEsZ0JBQWdCLEVBQUUsSUE1QlA7QUE2QlhDLEVBQUFBLGdCQUFnQixFQUFFLEtBN0JQO0FBNkJjO0FBQ3pCQyxFQUFBQSxjQUFjLEVBQUUsSUE5Qkw7QUFnQ1hDLEVBQUFBLElBaENXLGtCQWdDSjtBQUNILFFBQUksQ0FBRSxLQUFLQyxLQUFMLENBQVdELElBQWpCLEVBQXVCO0FBQ25CLGFBQU8sS0FBS1QsS0FBTCxDQUFXVyxhQUFYLENBQXlCLGdCQUF6QixDQUFQO0FBQ0g7O0FBRUQsV0FBTyxLQUFLRCxLQUFMLENBQVdELElBQWxCO0FBQ0gsR0F0Q1U7QUF3Q1hHLEVBQUFBLFdBeENXLHlCQXdDRztBQUNWLFFBQUksQ0FBRSxLQUFLRixLQUFMLENBQVd0QixNQUFqQixFQUF5QjtBQUNyQixhQUFPLEtBQUtZLEtBQUwsQ0FBV1csYUFBWCxDQUF5QixrQkFBekIsQ0FBUDtBQUNIOztBQUVELFdBQU8sS0FBS0QsS0FBTCxDQUFXdEIsTUFBbEI7QUFDSCxHQTlDVTtBQWdEWHlCLEVBQUFBLFVBaERXLHdCQWdERTtBQUNULFNBQUt6QixNQUFMLEdBQWMsRUFBZDtBQUNBLFNBQUtLLGlCQUFMLEdBQXlCLElBQXpCO0FBQ0EsU0FBS2QsSUFBTCxHQUFZLEtBQVo7O0FBQ0EsU0FBS21DLFlBQUw7QUFDSCxHQXJEVTtBQXVEWEMsRUFBQUEsUUF2RFcsc0JBdURBO0FBQ1AsUUFBSSxLQUFLbkMsUUFBVCxFQUFtQjtBQUNmO0FBQ0g7O0FBRUQsU0FBS29DLFdBQUw7O0FBQ0EsU0FBS3JDLElBQUwsR0FBWSxJQUFaOztBQUNBLFNBQUtzQyxZQUFMOztBQUNBLFNBQUtDLG9CQUFMO0FBQ0gsR0FoRVU7QUFrRVhDLEVBQUFBLFdBbEVXLHlCQWtFRztBQUNWLFFBQUksQ0FBRSxLQUFLeEMsSUFBUCxJQUFlLEtBQUtDLFFBQXBCLElBQWdDLEtBQUtRLE1BQXpDLEVBQWlEO0FBQzdDO0FBQ0g7O0FBRUQsUUFBTUMsS0FBSyxHQUFHLEtBQUtKLFFBQUwsR0FDUixLQUFLSSxLQUFMLENBQVcsS0FBS0EsS0FBTCxDQUFXK0IsTUFBWCxHQUFvQixDQUEvQixDQURRLEdBRVIsS0FBSy9CLEtBRlg7O0FBSUEsUUFBSUEsS0FBSixFQUFXO0FBQ1AsV0FBS2tCLGdCQUFMLEdBQXdCLElBQXhCO0FBQ0EsV0FBS2MsbUJBQUwsQ0FBeUJoQyxLQUF6QjtBQUNIO0FBQ0osR0EvRVU7QUFpRlhpQyxFQUFBQSxPQWpGVyxxQkFpRkQ7QUFDTixRQUFJLENBQUUsS0FBSzNDLElBQVgsRUFBaUI7QUFDYixhQUFPLEtBQUtvQyxRQUFMLEVBQVA7QUFDSDs7QUFFRCxRQUFJLEtBQUt2QixrQkFBTCxHQUEwQixDQUE5QixFQUFpQztBQUM3QjtBQUNIOztBQUVELFFBQU0rQixRQUFRLEdBQUcsS0FBS0MscUJBQUwsRUFBakI7O0FBRUEsUUFBSUQsUUFBUSxDQUFDSCxNQUFiLEVBQXFCO0FBQ2pCLFdBQUtLLFlBQUwsQ0FBa0JGLFFBQVEsQ0FBQyxLQUFLL0Isa0JBQU4sQ0FBMUI7QUFDSDtBQUNKLEdBL0ZVO0FBaUdYa0MsRUFBQUEsS0FqR1csbUJBaUdIO0FBQ0osUUFBSSxLQUFLOUMsUUFBTCxJQUFpQixDQUFFLEtBQUtELElBQTVCLEVBQWtDO0FBQzlCO0FBQ0g7O0FBRUQsU0FBS2dELFNBQUwsQ0FBZTtBQUFFQyxNQUFBQSxTQUFTLEVBQUU7QUFBYixLQUFmO0FBQ0gsR0F2R1U7QUF5R1hDLEVBQUFBLGVBekdXLDZCQXlHTztBQUNkLFFBQUksS0FBS2pELFFBQVQsRUFBbUI7QUFDZjtBQUNIOztBQUVELFFBQUksQ0FBRSxLQUFLRCxJQUFYLEVBQWlCO0FBQ2IsYUFBTyxLQUFLb0MsUUFBTCxFQUFQO0FBQ0g7O0FBRUQsUUFBTVEsUUFBUSxHQUFHLEtBQUtDLHFCQUFMLEVBQWpCOztBQUNBLFFBQUksQ0FBRUQsUUFBUSxDQUFDSCxNQUFmLEVBQXVCO0FBQ25CLGFBQU8sS0FBSzVCLGtCQUFMLEdBQTBCLENBQUMsQ0FBbEM7QUFDSDs7QUFFRCxTQUFLQSxrQkFBTDs7QUFDQSxRQUFJLEtBQUtBLGtCQUFMLEdBQTBCLENBQTFCLEdBQThCK0IsUUFBUSxDQUFDSCxNQUEzQyxFQUFtRDtBQUMvQyxXQUFLNUIsa0JBQUwsR0FBMEIsQ0FBMUI7QUFDSDs7QUFFRCxTQUFLc0MsWUFBTCxDQUFrQlAsUUFBUSxDQUFDLEtBQUsvQixrQkFBTixDQUExQjtBQUNILEdBN0hVO0FBK0hYdUMsRUFBQUEsbUJBL0hXLGlDQStIVztBQUNsQixRQUFJLEtBQUtuRCxRQUFULEVBQW1CO0FBQ2Y7QUFDSDs7QUFFRCxRQUFJLENBQUUsS0FBS0QsSUFBWCxFQUFpQjtBQUNiLGFBQU8sS0FBS29DLFFBQUwsRUFBUDtBQUNIOztBQUVELFFBQU1RLFFBQVEsR0FBRyxLQUFLQyxxQkFBTCxFQUFqQjs7QUFDQSxRQUFJLENBQUVELFFBQVEsQ0FBQ0gsTUFBZixFQUF1QjtBQUNuQixhQUFPLEtBQUs1QixrQkFBTCxHQUEwQixDQUFDLENBQWxDO0FBQ0g7O0FBRUQsU0FBS0Esa0JBQUw7O0FBQ0EsUUFBSSxLQUFLQSxrQkFBTCxHQUEwQixDQUE5QixFQUFpQztBQUM3QixXQUFLQSxrQkFBTCxHQUEwQitCLFFBQVEsQ0FBQ0gsTUFBVCxHQUFrQixDQUE1QztBQUNIOztBQUVELFNBQUtVLFlBQUwsQ0FBa0JQLFFBQVEsQ0FBQyxLQUFLL0Isa0JBQU4sQ0FBMUIsRUFBcUQ7QUFBRXdDLE1BQUFBLEtBQUssRUFBRTtBQUFULEtBQXJEO0FBQ0gsR0FuSlU7QUFxSlhDLEVBQUFBLGdCQXJKVyw4QkFxSlE7QUFDZixRQUFJLEtBQUtyRCxRQUFULEVBQW1CO0FBQ2Y7QUFDSDs7QUFFRCxRQUFNMkMsUUFBUSxHQUFHLEtBQUtDLHFCQUFMLEVBQWpCOztBQUNBLFFBQUksQ0FBRUQsUUFBUSxDQUFDSCxNQUFmLEVBQXVCO0FBQ25CLGFBQU8sS0FBSzVCLGtCQUFMLEdBQTBCLENBQUMsQ0FBbEM7QUFDSDs7QUFFRCxTQUFLQSxrQkFBTCxHQUEwQixDQUExQjs7QUFFQSxTQUFLc0MsWUFBTCxDQUFrQlAsUUFBUSxDQUFDLEtBQUsvQixrQkFBTixDQUExQixFQUFxRDtBQUFFd0MsTUFBQUEsS0FBSyxFQUFFO0FBQVQsS0FBckQ7QUFDSCxHQWxLVTtBQW9LWEUsRUFBQUEsZUFwS1csNkJBb0tPO0FBQ2QsUUFBSSxLQUFLdEQsUUFBVCxFQUFtQjtBQUNmO0FBQ0g7O0FBRUQsUUFBTTJDLFFBQVEsR0FBRyxLQUFLQyxxQkFBTCxFQUFqQjs7QUFDQSxRQUFJLENBQUVELFFBQVEsQ0FBQ0gsTUFBZixFQUF1QjtBQUNuQixhQUFPLEtBQUs1QixrQkFBTCxHQUEwQixDQUFDLENBQWxDO0FBQ0g7O0FBRUQsU0FBS0Esa0JBQUwsR0FBMEIrQixRQUFRLENBQUNILE1BQVQsR0FBa0IsQ0FBNUM7O0FBRUEsU0FBS1UsWUFBTCxDQUFrQlAsUUFBUSxDQUFDLEtBQUsvQixrQkFBTixDQUExQixFQUFxRDtBQUFFd0MsTUFBQUEsS0FBSyxFQUFFO0FBQVQsS0FBckQ7QUFDSCxHQWpMVTtBQW1MWEcsRUFBQUEsbUNBbkxXLCtDQW1MeUJDLEVBbkx6QixFQW1MNkI7QUFDcEMsUUFBTWIsUUFBUSxHQUFHLEtBQUtDLHFCQUFMLEVBQWpCOztBQUVBLFFBQUlELFFBQVEsQ0FBQ0gsTUFBYixFQUFxQjtBQUNqQixXQUFLNUIsa0JBQUwsR0FBMEIrQixRQUFRLENBQUNjLFNBQVQsQ0FBbUIsVUFBQUMsS0FBSztBQUFBLGVBQUlBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQkgsRUFBbEIsQ0FBSjtBQUFBLE9BQXhCLENBQTFCOztBQUVBLFVBQUk7QUFDQSxhQUFLOUIsZ0JBQUwsR0FBd0I4QixFQUFFLENBQUNJLFlBQUgsQ0FBZ0IsQ0FBaEIsRUFBbUJDLEdBQTNDO0FBQ0gsT0FGRCxDQUVFLE9BQU9DLENBQVAsRUFBVSxDQUFFO0FBQ2pCO0FBQ0osR0E3TFU7QUErTFhDLEVBQUFBLGVBL0xXLDJCQStMS3RELEtBL0xMLEVBK0xZO0FBQ25CLFFBQUksS0FBS1QsUUFBVCxFQUFtQjtBQUNmLGFBQU8sS0FBUDtBQUNIOztBQUVELFFBQU1nRSxVQUFVLEdBQUcsS0FBS0MsZ0JBQUwsQ0FBc0J4RCxLQUF0QixDQUFuQjs7QUFFQSxRQUFJLEtBQUtKLFFBQVQsRUFBbUI7QUFDZixVQUFJMkQsVUFBVSxJQUFJLEtBQUt2RCxLQUFMLENBQVcrQixNQUFYLElBQXFCLEtBQUt6QixXQUE1QyxFQUF5RDtBQUNyRCxlQUFPLEtBQUtiLFFBQVo7QUFDSDs7QUFFRCxVQUFJLENBQUU4RCxVQUFGLElBQWdCLENBQUUsS0FBS0UsdUJBQUwsRUFBdEIsRUFBc0Q7QUFDbEQsZUFBTyxLQUFQO0FBQ0g7O0FBRUQsYUFBTyxJQUFQO0FBQ0g7O0FBRUQsUUFBSUYsVUFBVSxJQUFJLENBQUUsS0FBSzlELFFBQXpCLEVBQW1DO0FBQy9CLGFBQU8sS0FBUDtBQUNIOztBQUVELFdBQU8sSUFBUDtBQUNILEdBdk5VO0FBeU5YaUUsRUFBQUEsVUF6Tlcsd0JBeU5FO0FBQ1QsUUFBSSxLQUFLbkUsUUFBVCxFQUFtQjtBQUNmO0FBQ0g7O0FBRUQsUUFBSSxDQUFFLEtBQUtFLFFBQVgsRUFBcUI7QUFDakI7QUFDSDs7QUFFRCxTQUFLTyxLQUFMLEdBQWEsS0FBS0osUUFBTCxHQUFnQixFQUFoQixHQUFxQixJQUFsQztBQUNBLFNBQUtLLFVBQUwsR0FBa0IsSUFBbEI7QUFDSCxHQXBPVTtBQXNPWDBELEVBQUFBLFlBdE9XLHdCQXNPRUMsTUF0T0YsRUFzT1U7QUFDakIsUUFBSSxLQUFLckUsUUFBVCxFQUFtQjtBQUNmO0FBQ0g7O0FBRUQsUUFBSSxLQUFLSyxRQUFULEVBQW1CO0FBQ2YsV0FBS2lFLHdCQUFMLENBQThCRCxNQUE5QjtBQUNILEtBRkQsTUFFTztBQUNILFdBQUtFLHlCQUFMLENBQStCRixNQUEvQjtBQUNIO0FBQ0osR0FoUFU7QUFrUFg1QixFQUFBQSxtQkFsUFcsK0JBa1BTaEMsS0FsUFQsRUFrUGdCO0FBQ3ZCLFFBQUk0RCxNQUFNLEdBQUcsS0FBS0csaUJBQUwsQ0FBdUIvRCxLQUF2QixDQUFiOztBQUNBLFFBQUk0RCxNQUFKLEVBQVk7QUFDUkEsTUFBQUEsTUFBTSxHQUFHQSxNQUFNLENBQUNULFlBQVAsQ0FBb0IsQ0FBcEIsQ0FBVDtBQUNILEtBRkQsTUFFTztBQUNIUyxNQUFBQSxNQUFNLEdBQUc7QUFBRUksUUFBQUEsV0FBVyxFQUFFaEU7QUFBZixPQUFUO0FBQ0g7O0FBRUQsV0FBTyxLQUFLMkQsWUFBTCxDQUFrQkMsTUFBbEIsQ0FBUDtBQUNILEdBM1BVO0FBNlBYSyxFQUFBQSxXQTdQVyx1QkE2UENDLFFBN1BELEVBNlBXO0FBQUE7O0FBQ2xCLFFBQUksS0FBS3RFLFFBQVQsRUFBbUI7QUFDZixXQUFLSSxLQUFMLEdBQWEsRUFBYjtBQUNBLFdBQUtRLGVBQUwsR0FBdUIsRUFBdkI7QUFFQTBELE1BQUFBLFFBQVEsQ0FBQ0MsT0FBVCxDQUFpQixVQUFBbkUsS0FBSztBQUFBLGVBQUksS0FBSSxDQUFDZ0MsbUJBQUwsQ0FBeUJoQyxLQUF6QixDQUFKO0FBQUEsT0FBdEI7QUFFQTtBQUNILEtBUmlCLENBVWxCO0FBQ0E7OztBQUNBLFFBQUlaLHVEQUFRLENBQUM4RSxRQUFELENBQVosRUFBd0I7QUFDcEJBLE1BQUFBLFFBQVEsR0FBRyxJQUFYO0FBQ0g7O0FBRUQsU0FBS2xFLEtBQUwsR0FBYWtFLFFBQWI7QUFDSCxHQTlRVTtBQWdSWEUsRUFBQUEsaUJBaFJXLCtCQWdSUztBQUNoQixRQUFJLENBQUUsS0FBS3pFLGFBQVAsSUFBd0IsS0FBS0wsSUFBakMsRUFBdUM7QUFDbkMsV0FBS3FDLFdBQUw7O0FBQ0EsV0FBS0MsWUFBTDs7QUFFQTtBQUNIOztBQUVELFFBQUksS0FBS2pDLGFBQUwsSUFBc0IsS0FBS0wsSUFBL0IsRUFBcUM7QUFDakMsV0FBSytFLG9CQUFMO0FBQ0g7QUFDSixHQTNSVTtBQTZSWEMsRUFBQUEsYUE3UlcseUJBNlJHdEUsS0E3UkgsRUE2UlU7QUFDakIsUUFBTTRELE1BQU0sR0FBRyxLQUFLcEQsZUFBTCxDQUFxQitELElBQXJCLENBQTBCLFVBQUFDLENBQUM7QUFBQSxhQUFJQyxNQUFNLENBQUNELENBQUMsQ0FBQ1IsV0FBSCxDQUFOLEtBQTBCUyxNQUFNLENBQUN6RSxLQUFELENBQXBDO0FBQUEsS0FBM0IsQ0FBZjs7QUFFQSxRQUFJLENBQUU0RCxNQUFOLEVBQWM7QUFDVixhQUFPNUQsS0FBUDtBQUNIOztBQUVELFdBQU80RCxNQUFNLENBQUNjLG1CQUFQLEdBQTZCZCxNQUFNLENBQUNjLG1CQUFwQyxHQUEwRGQsTUFBTSxDQUFDZSxXQUF4RTtBQUNILEdBclNVO0FBdVNYZCxFQUFBQSx3QkF2U1csb0NBdVNjRCxNQXZTZCxFQXVTc0I7QUFDN0IsUUFBTTVELEtBQUssR0FBRzRELE1BQU0sQ0FBQ0ksV0FBckI7O0FBQ0EsUUFBSUUsUUFBUSxzQkFBTyxLQUFLbEUsS0FBWixDQUFaOztBQUVBLFFBQUksS0FBS3dELGdCQUFMLENBQXNCeEQsS0FBdEIsS0FBZ0MsS0FBSzRFLG9CQUFMLEVBQXBDLEVBQWlFO0FBQzdEVixNQUFBQSxRQUFRLENBQUNXLE1BQVQsQ0FBZ0JYLFFBQVEsQ0FBQ1ksT0FBVCxDQUFpQjlFLEtBQWpCLENBQWhCLEVBQXlDLENBQXpDO0FBQ0EsV0FBS1EsZUFBTCxDQUFxQnFFLE1BQXJCLENBQ0ksS0FBS3JFLGVBQUwsQ0FBcUJ3QyxTQUFyQixDQUErQixVQUFBd0IsQ0FBQztBQUFBLGVBQUlDLE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDUixXQUFILENBQU4sS0FBMEJTLE1BQU0sQ0FBQ3pFLEtBQUQsQ0FBcEM7QUFBQSxPQUFoQyxDQURKLEVBRUksQ0FGSjtBQUlILEtBTkQsTUFNTyxJQUFJLENBQUUsS0FBS3dELGdCQUFMLENBQXNCeEQsS0FBdEIsQ0FBRixJQUFrQyxLQUFLeUQsdUJBQUwsRUFBdEMsRUFBc0U7QUFDekVTLE1BQUFBLFFBQVEsQ0FBQ2EsSUFBVCxDQUFjL0UsS0FBZDtBQUNBLFdBQUtRLGVBQUwsQ0FBcUJ1RSxJQUFyQixDQUEwQm5CLE1BQTFCO0FBQ0g7O0FBRUQsU0FBSzVELEtBQUwsR0FBYWtFLFFBQWI7QUFDSCxHQXZUVTtBQXlUWEosRUFBQUEseUJBelRXLHFDQXlUZUYsTUF6VGYsRUF5VHVCO0FBQzlCLFFBQU1JLFdBQVcsR0FBRyxRQUFPSixNQUFQLE1BQWtCLFFBQWxCLEdBQTZCQSxNQUFNLENBQUNJLFdBQXBDLEdBQWtESixNQUF0RTtBQUNBLFNBQUs1RCxLQUFMLEdBQWEsS0FBS3dELGdCQUFMLENBQXNCUSxXQUF0QixJQUNQLElBRE8sR0FFUEEsV0FGTjtBQUdILEdBOVRVO0FBZ1VYWSxFQUFBQSxvQkFoVVcsa0NBZ1VZO0FBQ25CLFFBQUksS0FBS25GLFFBQVQsRUFBbUI7QUFDZixhQUFPLElBQVA7QUFDSDs7QUFFRCxXQUFPLEtBQUtPLEtBQUwsQ0FBVytCLE1BQVgsR0FBb0IsS0FBS3pCLFdBQWhDO0FBQ0gsR0F0VVU7QUF3VVhtRCxFQUFBQSx1QkF4VVcscUNBd1VlO0FBQ3RCLFFBQUksS0FBS2xELFdBQUwsS0FBcUIsSUFBekIsRUFBK0I7QUFDM0IsYUFBTyxJQUFQO0FBQ0g7O0FBRUQsV0FBTyxLQUFLUCxLQUFMLENBQVcrQixNQUFYLEdBQW9CLEtBQUt4QixXQUFoQztBQUNILEdBOVVVO0FBZ1ZYaUQsRUFBQUEsZ0JBaFZXLDRCQWdWTXhELEtBaFZOLEVBZ1ZhO0FBQ3BCLFFBQU1nRixXQUFXLEdBQUdQLE1BQU0sQ0FBQ3pFLEtBQUQsQ0FBMUI7O0FBRUEsUUFBSSxLQUFLSixRQUFULEVBQW1CO0FBQ2Y7QUFDQTtBQUNBLFVBQU1JLE1BQUssR0FBR2Isc0RBQU8sQ0FBQyxLQUFLYSxLQUFOLENBQVAsR0FBc0IsS0FBS0EsS0FBM0IsR0FBbUMsRUFBakQ7O0FBRUEsYUFBT0EsTUFBSyxDQUFDaUYsSUFBTixDQUFXLFVBQUFDLENBQUM7QUFBQSxlQUFJVCxNQUFNLENBQUNTLENBQUQsQ0FBTixLQUFjRixXQUFsQjtBQUFBLE9BQVosQ0FBUDtBQUNIOztBQUVELFdBQU9BLFdBQVcsS0FBS1AsTUFBTSxDQUFDLEtBQUt6RSxLQUFOLENBQTdCO0FBQ0gsR0E1VlU7QUE4Vlh5QyxFQUFBQSxZQTlWVyx3QkE4VkVtQixNQTlWRixFQThWd0I7QUFBQSxRQUFkdUIsT0FBYyx1RUFBSixFQUFJOztBQUMvQixRQUFJO0FBQ0F2QixNQUFBQSxNQUFNLENBQUNULFlBQVAsQ0FBb0IsQ0FBcEIsRUFBdUJpQyxLQUF2QjtBQUErQkMsUUFBQUEsTUFBTSxFQUFFO0FBQXZDLFNBQWdERixPQUFoRDs7QUFDQSxXQUFLckMsbUNBQUwsQ0FBeUNjLE1BQXpDO0FBQ0gsS0FIRCxDQUdFLE9BQU9QLENBQVAsRUFBVSxDQUFFO0FBQ2pCLEdBbldVO0FBcVdYaUMsRUFBQUEsVUFyV1csd0JBcVdFO0FBQUE7O0FBQ1QsUUFBSSxDQUFFLEtBQUsvRixRQUFYLEVBQXFCO0FBQ2pCZ0csTUFBQUEsVUFBVSxDQUFDO0FBQUEsZUFBTSxNQUFJLENBQUM1RSxLQUFMLENBQVd5RSxLQUFYLEVBQU47QUFBQSxPQUFELEVBQTJCLEVBQTNCLENBQVY7QUFDSDtBQUNKLEdBeldVO0FBMldYeEQsRUFBQUEsWUEzV1csMEJBMldJO0FBQUE7O0FBQ1gsUUFBSSxDQUFFLEtBQUtsQyxVQUFYLEVBQXVCO0FBQ25CO0FBQ0g7O0FBRUQsUUFBSTtBQUNBNkYsTUFBQUEsVUFBVSxDQUFDO0FBQUEsZUFBTSxNQUFJLENBQUNoRSxXQUFMLEdBQW1CNkQsS0FBbkIsRUFBTjtBQUFBLE9BQUQsRUFBbUMsRUFBbkMsQ0FBVjtBQUNILEtBRkQsQ0FFRSxPQUFPL0IsQ0FBUCxFQUFVLENBQUU7QUFDakIsR0FuWFU7QUFxWFh4QixFQUFBQSxvQkFyWFcsa0NBcVhZO0FBQUE7O0FBQ25CLFFBQU0yRCxVQUFVLEdBQUcsS0FBSzVGLFFBQUwsR0FBZ0I2RSxNQUFNLENBQUMsS0FBS3pFLEtBQUwsQ0FBVyxDQUFYLENBQUQsQ0FBdEIsR0FBd0N5RSxNQUFNLENBQUMsS0FBS3pFLEtBQU4sQ0FBakU7O0FBQ0EsUUFBSSxDQUFFd0YsVUFBTixFQUFrQjtBQUNkO0FBQ0g7O0FBRUQsUUFBTTVCLE1BQU0sR0FBRyxLQUFLRyxpQkFBTCxDQUF1QnlCLFVBQXZCLENBQWY7O0FBRUEsUUFBSTVCLE1BQU0sSUFBSSxDQUFFQSxNQUFNLENBQUM2QixjQUF2QixFQUF1QztBQUNuQ0YsTUFBQUEsVUFBVSxDQUFDO0FBQUEsZUFBTSxNQUFJLENBQUM5QyxZQUFMLENBQWtCbUIsTUFBbEIsQ0FBTjtBQUFBLE9BQUQsRUFBa0MsRUFBbEMsQ0FBVjtBQUNIO0FBQ0osR0FoWVU7QUFrWVhHLEVBQUFBLGlCQWxZVyw2QkFrWU8vRCxLQWxZUCxFQWtZYztBQUNyQixRQUFNSSxpQkFBaUIsR0FBRyxLQUFLc0YscUJBQUwsRUFBMUI7O0FBQ0EsUUFBSSxDQUFFdEYsaUJBQWlCLENBQUMyQixNQUF4QixFQUFnQztBQUM1QixhQUFPLElBQVA7QUFDSDs7QUFFRCxXQUFPM0IsaUJBQWlCLENBQUNtRSxJQUFsQixDQUF1QixVQUFBQyxDQUFDLEVBQUk7QUFDL0IsVUFBSTtBQUNBLGVBQU9DLE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDckIsWUFBRixDQUFlLENBQWYsRUFBa0JhLFdBQW5CLENBQU4sS0FBMENTLE1BQU0sQ0FBQ3pFLEtBQUQsQ0FBdkQ7QUFDSCxPQUZELENBRUUsT0FBT3FELENBQVAsRUFBVSxDQUFFO0FBQ2pCLEtBSk0sQ0FBUDtBQUtILEdBN1lVO0FBK1lYcUMsRUFBQUEscUJBL1lXLG1DQStZYTtBQUNwQiw4QkFBVyxLQUFLdEUsSUFBTCxHQUFZdUUsZ0JBQVosQ0FBNkIsS0FBSzVFLHNCQUFsQyxDQUFYO0FBQ0gsR0FqWlU7QUFtWlhvQixFQUFBQSxxQkFuWlcsbUNBbVphO0FBQ3BCLFFBQUksS0FBSy9CLGlCQUFMLEtBQTJCLElBQS9CLEVBQXFDO0FBQ2pDLGFBQU8sS0FBS0EsaUJBQVo7QUFDSDs7QUFFRCxXQUFPLEtBQUtBLGlCQUFMLEdBQXlCLG1CQUFJLEtBQUtnQixJQUFMLEdBQVl1RSxnQkFBWixDQUE2QixLQUFLN0UseUJBQWxDLENBQUosRUFDM0I4RSxNQUQyQixDQUNwQixVQUFBN0MsRUFBRTtBQUFBLGFBQUlBLEVBQUUsQ0FBQzhDLFlBQUgsS0FBb0IsSUFBeEI7QUFBQSxLQURrQixDQUFoQyxDQUxvQixDQU15QjtBQUNoRCxHQTFaVTtBQTRaWHhCLEVBQUFBLG9CQTVaVyxrQ0E0Wlk7QUFDbkIsUUFBSSxLQUFLeUIsb0JBQUwsRUFBSixFQUFpQztBQUM3QixXQUFLeEQsU0FBTDtBQUNIO0FBQ0osR0FoYVU7QUFrYVh5RCxFQUFBQSxhQWxhVywyQkFrYUs7QUFDWixTQUFLM0YsaUJBQUwsR0FBeUIsSUFBekI7O0FBRUEsUUFBSSxLQUFLSyxjQUFMLElBQXVCLEtBQUtDLEtBQWhDLEVBQXVDO0FBQ25DLFVBQUk7QUFDQSxhQUFLQSxLQUFMLENBQVcsS0FBS0QsY0FBaEIsRUFBZ0MsS0FBS1YsTUFBckM7QUFDSCxPQUZELENBRUUsT0FBT3NELENBQVAsRUFBVSxDQUFFOztBQUVkO0FBQ0g7O0FBRUQsU0FBSzJDLGNBQUw7QUFDSCxHQTlhVTtBQWdiWEEsRUFBQUEsY0FoYlcsNEJBZ2JNO0FBQ2IsUUFBTWIsT0FBTyxHQUFHLEtBQUtPLHFCQUFMLEVBQWhCOztBQUNBLFFBQU1PLGVBQWUsR0FBRyxLQUFLbEcsTUFBTCxHQUFjLEtBQUtBLE1BQUwsQ0FBWW1HLFdBQVosRUFBZCxHQUEwQyxJQUFsRTtBQUNBLFFBQUlDLFVBQVUsR0FBRyxDQUFqQjtBQUNBaEIsSUFBQUEsT0FBTyxDQUFDaEIsT0FBUixDQUFnQixVQUFBSyxDQUFDLEVBQUk7QUFDakIsVUFBSTRCLE9BQU8sR0FBRyxJQUFkOztBQUNBLFVBQUlILGVBQUosRUFBcUI7QUFDakIsWUFBSTtBQUNBLGNBQU1qQyxXQUFXLEdBQUdRLENBQUMsQ0FBQ3JCLFlBQUYsQ0FBZSxDQUFmLEVBQWtCYSxXQUF0QztBQUNBLGNBQU1xQyxLQUFLLEdBQUc3QixDQUFDLENBQUNyQixZQUFGLENBQWUsQ0FBZixFQUFrQndCLFdBQWhDO0FBRUF5QixVQUFBQSxPQUFPLEdBQUczQixNQUFNLENBQUNULFdBQUQsQ0FBTixDQUFvQmtDLFdBQXBCLEdBQWtDSSxRQUFsQyxDQUEyQ0wsZUFBM0MsS0FDSHhCLE1BQU0sQ0FBQzRCLEtBQUQsQ0FBTixDQUFjSCxXQUFkLEdBQTRCSSxRQUE1QixDQUFxQ0wsZUFBckMsQ0FEUDtBQUVILFNBTkQsQ0FNRSxPQUFPNUMsQ0FBUCxFQUFVLENBQUU7QUFDakI7O0FBRUQsVUFBSStDLE9BQUosRUFBYTtBQUNURCxRQUFBQSxVQUFVO0FBQ2I7O0FBRUQzQixNQUFBQSxDQUFDLENBQUMrQixLQUFGLENBQVFDLE9BQVIsR0FBa0JKLE9BQU8sR0FBRyxJQUFILEdBQVUsTUFBbkM7QUFDSCxLQWpCRDtBQW1CQSxRQUFNSyxTQUFTLEdBQUcsS0FBS3BGLEtBQUwsQ0FBV29GLFNBQTdCOztBQUNBLFFBQUlBLFNBQUosRUFBZTtBQUNYQSxNQUFBQSxTQUFTLENBQUNGLEtBQVYsQ0FBZ0JDLE9BQWhCLEdBQTBCTCxVQUFVLEtBQUssQ0FBZixHQUFtQixJQUFuQixHQUEwQixNQUFwRDtBQUNIO0FBQ0osR0EzY1U7QUE2Y1h4RSxFQUFBQSxXQTdjVyx5QkE2Y0c7QUFDVixTQUFLRixZQUFMOztBQUVBLFNBQUtiLE9BQUwsR0FBZXZCLFlBQVksQ0FBQyxLQUFLc0IsS0FBTixFQUFhLEtBQUtTLElBQUwsRUFBYixFQUEwQixLQUFLc0YsYUFBTCxFQUExQixDQUEzQjtBQUNILEdBamRVO0FBbWRYQyxFQUFBQSxXQW5kVyx5QkFtZEc7QUFBQTs7QUFDVixTQUFLaEcsS0FBTCxHQUFhLEtBQUtpRyxLQUFsQjtBQUVBdkgsSUFBQUEsWUFBWSxHQUFHd0gsTUFBTSxDQUFDQyxNQUFQLEdBQWdCRCxNQUFNLENBQUNDLE1BQVAsQ0FBY3pILFlBQTlCLEdBQTZDd0gsTUFBTSxDQUFDeEgsWUFBbkU7O0FBRUEsUUFBSSxPQUFPQSxZQUFQLEtBQXdCLFVBQTVCLEVBQXdDO0FBQ3BDLFlBQU0sSUFBSTBILFNBQUosWUFBa0IsS0FBS2xHLGNBQXZCLCtDQUFOO0FBQ0g7O0FBRUQsUUFBSSxLQUFLUixTQUFULEVBQW9CO0FBQ2hCLFdBQUtpRixVQUFMO0FBQ0g7O0FBRUQsUUFBSSxLQUFLNUYsVUFBVCxFQUFxQjtBQUNqQixXQUFLc0gsTUFBTCxDQUFZLFFBQVosRUFBc0I7QUFBQSxlQUFNLE1BQUksQ0FBQ2pCLGFBQUwsRUFBTjtBQUFBLE9BQXRCO0FBQ0g7O0FBRUQsUUFBSSxDQUFFLEtBQUtuRyxRQUFQLElBQW1CLEtBQUtJLEtBQXhCLElBQWlDLENBQUUsS0FBS0UsWUFBNUMsRUFBMEQ7QUFDdEQsV0FBSytHLHNCQUFMO0FBQ0g7O0FBRUQsUUFBSSxLQUFLL0csWUFBVCxFQUF1QjtBQUNuQixXQUFLRCxVQUFMLEdBQWtCLEtBQUtDLFlBQXZCO0FBQ0EsV0FBS0osZ0JBQUwsR0FBd0IsS0FBS0ksWUFBN0I7QUFDSDs7QUFFRCxRQUFJLEtBQUtOLFFBQVQsRUFBbUI7QUFDZixXQUFLc0gsU0FBTCxDQUFlLFlBQU07QUFDakIsY0FBSSxDQUFDMUcsZUFBTCxHQUF1QixtQkFBSSxNQUFJLENBQUNSLEtBQVQsRUFBZ0JtSCxHQUFoQixDQUFvQixVQUFBakMsQ0FBQztBQUFBLGlCQUFJLE1BQUksQ0FBQ25CLGlCQUFMLENBQXVCbUIsQ0FBdkIsRUFBMEIvQixZQUExQixDQUF1QyxDQUF2QyxDQUFKO0FBQUEsU0FBckIsQ0FBdkI7QUFDSCxPQUZEO0FBR0g7O0FBRUQsU0FBSzZELE1BQUwsQ0FBWSxPQUFaLEVBQXFCLFVBQUM5QyxRQUFELEVBQVdrRCxRQUFYLEVBQXdCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLFVBQUlDLElBQUksQ0FBQ0MsU0FBTCxDQUFlcEQsUUFBZixNQUE2Qm1ELElBQUksQ0FBQ0MsU0FBTCxDQUFlRixRQUFmLENBQWpDLEVBQTJEO0FBQ3ZEO0FBQ0g7O0FBRUQsWUFBSSxDQUFDRyxxQkFBTCxDQUEyQnJELFFBQTNCOztBQUNBLFlBQUksQ0FBQ0UsaUJBQUw7O0FBRUEsWUFBSSxDQUFDb0QsU0FBTCxDQUFlLE9BQWYsRUFBd0J0RCxRQUF4QixFQVh5QyxDQWF6QztBQUNBO0FBQ0E7OztBQUNBLFVBQUlBLFFBQVEsS0FBSyxJQUFiLElBQXFCLE1BQUksQ0FBQ3hELEtBQTFCLElBQW1DLE1BQUksQ0FBQ1MsY0FBNUMsRUFBNEQ7QUFDeEQsY0FBSSxDQUFDVCxLQUFMLENBQVcrRyxHQUFYLENBQWUsTUFBSSxDQUFDdEcsY0FBcEIsRUFBb0MsSUFBcEMsRUFBMEMsSUFBMUM7QUFDSDtBQUNKLEtBbkJEO0FBb0JILEdBdmdCVTtBQXlnQlhvRyxFQUFBQSxxQkF6Z0JXLGlDQXlnQldyRCxRQXpnQlgsRUF5Z0JxQjtBQUM1QixRQUFJLEtBQUt0RSxRQUFULEVBQW1CO0FBQ2Y7QUFDSDs7QUFFRCxRQUFJLENBQUVzRSxRQUFOLEVBQWdCO0FBQ1osV0FBS2pFLFVBQUwsR0FBa0IsS0FBS0osV0FBdkI7QUFDSDs7QUFFRCxRQUFNK0QsTUFBTSxHQUFHLEtBQUtHLGlCQUFMLENBQXVCRyxRQUF2QixDQUFmOztBQUVBLFFBQUlOLE1BQUosRUFBWTtBQUNSLFVBQUk7QUFDQSxhQUFLM0QsVUFBTCxHQUFrQjJELE1BQU0sQ0FBQ1QsWUFBUCxDQUFvQixDQUFwQixFQUF1QnVCLG1CQUF6QztBQUNBLGFBQUs1RSxnQkFBTCxHQUF3QjhELE1BQU0sQ0FBQ1QsWUFBUCxDQUFvQixDQUFwQixFQUF1QndCLFdBQS9DO0FBQ0gsT0FIRCxDQUdFLE9BQU90QixDQUFQLEVBQVUsQ0FBRTtBQUNqQjtBQUNKLEdBMWhCVTtBQTRoQlhxRCxFQUFBQSxhQTVoQlcsMkJBNGhCSztBQUNaLFdBQU87QUFDSGdCLE1BQUFBLFNBQVMsRUFBRSxjQURSO0FBRUhDLE1BQUFBLFFBQVEsRUFBRSxLQUFLbkksS0FBTCxHQUFhLE9BQWIsR0FBdUIsVUFGOUI7QUFHSG9JLE1BQUFBLFNBQVMsRUFBRSxDQUNQO0FBQ0lDLFFBQUFBLElBQUksRUFBRSxRQURWO0FBRUkxQyxRQUFBQSxPQUFPLEVBQUU7QUFDTDJDLFVBQUFBLE1BQU0sRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKO0FBREg7QUFGYixPQURPLEVBT1A7QUFDSUQsUUFBQUEsSUFBSSxFQUFFLGlCQURWO0FBRUkxQyxRQUFBQSxPQUFPLEVBQUU7QUFDTDRDLFVBQUFBLGlCQUFpQixFQUFFLEtBQUtwSDtBQURuQjtBQUZiLE9BUE87QUFIUixLQUFQO0FBa0JILEdBL2lCVTtBQWlqQlhjLEVBQUFBLFlBampCVywwQkFpakJJO0FBQ1gsUUFBSSxLQUFLYixPQUFULEVBQWtCO0FBQ2QsV0FBS0EsT0FBTCxDQUFhb0gsT0FBYjs7QUFDQSxXQUFLcEgsT0FBTCxHQUFlLElBQWY7QUFDSDtBQUNKLEdBdGpCVTtBQXdqQlhxRyxFQUFBQSxzQkF4akJXLG9DQXdqQmM7QUFBQTs7QUFDckIsU0FBS0MsU0FBTCxDQUFlLFlBQU07QUFDakIsVUFBTXRELE1BQU0sR0FBRyxNQUFJLENBQUNHLGlCQUFMLENBQXVCLE1BQUksQ0FBQy9ELEtBQTVCLENBQWY7O0FBRUEsVUFBSTRELE1BQUosRUFBWTtBQUNSLFlBQUk7QUFDQSxnQkFBSSxDQUFDMUQsWUFBTCxHQUFvQjBELE1BQU0sQ0FBQ1QsWUFBUCxDQUFvQixDQUFwQixFQUF1QnVCLG1CQUEzQztBQUVBLGdCQUFJLENBQUN6RSxVQUFMLEdBQWtCLE1BQUksQ0FBQ0MsWUFBdkI7QUFDQSxnQkFBSSxDQUFDSixnQkFBTCxHQUF3QixNQUFJLENBQUNJLFlBQTdCO0FBRUE7QUFDSCxTQVBELENBT0UsT0FBT21ELENBQVAsRUFBVSxDQUFFO0FBQ2pCOztBQUVELFlBQUksQ0FBQ25ELFlBQUwsR0FBb0IsTUFBSSxDQUFDRixLQUF6QjtBQUNBLFlBQUksQ0FBQ0MsVUFBTCxHQUFrQixNQUFJLENBQUNDLFlBQXZCO0FBQ0EsWUFBSSxDQUFDSixnQkFBTCxHQUF3QixNQUFJLENBQUNJLFlBQTdCO0FBQ0gsS0FqQkQ7QUFrQkgsR0Eza0JVO0FBNmtCWDRGLEVBQUFBLG9CQTdrQlcsa0NBNmtCWTtBQUNuQixRQUFJLEtBQUs1RSxnQkFBVCxFQUEyQjtBQUN2QixXQUFLQSxnQkFBTCxHQUF3QixLQUF4QjtBQUVBLGFBQU8sS0FBUDtBQUNIOztBQUVELFFBQUksQ0FBRSxLQUFLdkIsYUFBWCxFQUEwQjtBQUN0QixhQUFPLEtBQVA7QUFDSDs7QUFFRCxRQUFJLEtBQUtDLFFBQVQsRUFBbUI7QUFDZixhQUFPLEtBQUtXLFdBQUwsS0FBcUIsSUFBckIsR0FDRCxLQUFLUCxLQUFMLENBQVcrQixNQUFYLElBQXFCLEtBQUt6QixXQUR6QixHQUVELEtBQUtOLEtBQUwsQ0FBVytCLE1BQVgsSUFBcUIsS0FBS3hCLFdBRmhDO0FBR0g7O0FBRUQsV0FBTyxJQUFQO0FBQ0g7QUEvbEJVLENBQWYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy9taXhpbnMvc2VsZWN0LmpzP2IyZGQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29tbW9uIGZ1bmN0aW9uYWxpdHkgbmVlZGVkIGFjcm9zcyBjdXN0b20gc2VsZWN0cy5cbmltcG9ydCB7IGlzQXJyYXksIGlzT2JqZWN0IH0gZnJvbSAnLi4vdXRpbC9pbnNwZWN0JztcblxubGV0IGNyZWF0ZVBvcHBlcjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIG9wZW46IGZhbHNlLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBmaXhlZDogZmFsc2UsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IHRydWUsXG4gICAgY2xvc2VPblNlbGVjdDogZmFsc2UsXG4gICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgIHBsYWNlaG9sZGVyOiBudWxsLFxuICAgIHZhbHVlUGxhY2Vob2xkZXI6IG51bGwsXG4gICAgc2VhcmNoOiAnJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICB2YWx1ZUxhYmVsOiBudWxsLFxuICAgIGluaXRpYWxMYWJlbDogbnVsbCxcbiAgICBmb2N1c2VkT3B0aW9uSW5kZXg6IC0xLFxuICAgIGZvY3VzYWJsZUVsZW1lbnRzOiBudWxsLFxuICAgIGF1dG9mb2N1czogZmFsc2UsXG4gICAgbWluU2VsZWN0ZWQ6IDEsXG4gICAgbWF4U2VsZWN0ZWQ6IG51bGwsXG4gICAgc2VsZWN0ZWRPcHRpb25zOiBbXSxcbiAgICBsaXZld2lyZVNlYXJjaDogbnVsbCxcbiAgICBfd2lyZTogbnVsbCxcbiAgICBfcm9vdDogbnVsbCxcbiAgICBfcG9wcGVyOiBudWxsLFxuICAgIF9jb21wb25lbnROYW1lOiAnJyxcbiAgICBfZm9jdXNhYmxlRWxlbWVudFNlbGVjdG9yOiAnJyxcbiAgICBfb3B0aW9uRWxlbWVudFNlbGVjdG9yOiAnJyxcbiAgICBfd2lyZVRvZ2dsZU1ldGhvZDogJycsXG4gICAgX2ZvY3VzZWRPcHRpb25JZDogbnVsbCxcbiAgICBfbm9DbG9zZU9uU2VsZWN0OiBmYWxzZSwgLy8gZmxhZyB3ZSBjYW4gc2V0IGZvciBjZXJ0YWluIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgY2xvc2UgdGhlIG1lbnVcbiAgICBfd2lyZU1vZGVsTmFtZTogbnVsbCxcblxuICAgIG1lbnUoKSB7XG4gICAgICAgIGlmICghIHRoaXMuJHJlZnMubWVudSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3QucXVlcnlTZWxlY3RvcignW3gtcmVmPVwibWVudVwiXScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuJHJlZnMubWVudTtcbiAgICB9LFxuXG4gICAgc2VhcmNoSW5wdXQoKSB7XG4gICAgICAgIGlmICghIHRoaXMuJHJlZnMuc2VhcmNoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fcm9vdC5xdWVyeVNlbGVjdG9yKCdbeC1yZWY9XCJzZWFyY2hcIl0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLiRyZWZzLnNlYXJjaDtcbiAgICB9LFxuXG4gICAgX2Nsb3NlTWVudSgpIHtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50cyA9IG51bGw7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9yZXNldFBvcHBlcigpO1xuICAgIH0sXG5cbiAgICBvcGVuTWVudSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2luaXRQb3BwZXIoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fZm9jdXNTZWFyY2goKTtcbiAgICAgICAgdGhpcy5fZm9jdXNTZWxlY3RlZE9wdGlvbigpO1xuICAgIH0sXG5cbiAgICBvbkJhY2tzcGFjZSgpIHtcbiAgICAgICAgaWYgKCEgdGhpcy5vcGVuIHx8IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5zZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5tdWx0aXBsZVxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlW3RoaXMudmFsdWUubGVuZ3RoIC0gMV1cbiAgICAgICAgICAgIDogdGhpcy52YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX25vQ2xvc2VPblNlbGVjdCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZU9wdGlvbkJ5VmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9uRW50ZXIoKSB7XG4gICAgICAgIGlmICghIHRoaXMub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3Blbk1lbnUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5fZ2V0Rm9jdXNhYmxlRWxlbWVudHMoKTtcblxuICAgICAgICBpZiAoZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdE9wdGlvbihlbGVtZW50c1t0aGlzLmZvY3VzZWRPcHRpb25JbmRleF0pO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9uVGFiKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhIHRoaXMub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbG9zZU1lbnUoeyBmb2N1c1Jvb3Q6IGZhbHNlIH0pO1xuICAgIH0sXG5cbiAgICBmb2N1c05leHRPcHRpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISB0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wZW5NZW51KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuX2dldEZvY3VzYWJsZUVsZW1lbnRzKCk7XG4gICAgICAgIGlmICghIGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4ID0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCsrO1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkT3B0aW9uSW5kZXggKyAxID4gZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb2N1c09wdGlvbihlbGVtZW50c1t0aGlzLmZvY3VzZWRPcHRpb25JbmRleF0pO1xuICAgIH0sXG5cbiAgICBmb2N1c1ByZXZpb3VzT3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEgdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcGVuTWVudSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLl9nZXRGb2N1c2FibGVFbGVtZW50cygpO1xuICAgICAgICBpZiAoISBlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXgtLTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4IDwgMCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXggPSBlbGVtZW50cy5sZW5ndGggLSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZm9jdXNPcHRpb24oZWxlbWVudHNbdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXhdLCB7IGJsb2NrOiAnc3RhcnQnIH0pO1xuICAgIH0sXG5cbiAgICBmb2N1c0ZpcnN0T3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLl9nZXRGb2N1c2FibGVFbGVtZW50cygpO1xuICAgICAgICBpZiAoISBlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXggPSAwO1xuXG4gICAgICAgIHRoaXMuX2ZvY3VzT3B0aW9uKGVsZW1lbnRzW3RoaXMuZm9jdXNlZE9wdGlvbkluZGV4XSwgeyBibG9jazogJ3N0YXJ0JyB9KTtcbiAgICB9LFxuXG4gICAgZm9jdXNMYXN0T3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLl9nZXRGb2N1c2FibGVFbGVtZW50cygpO1xuICAgICAgICBpZiAoISBlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXggPSBlbGVtZW50cy5sZW5ndGggLSAxO1xuXG4gICAgICAgIHRoaXMuX2ZvY3VzT3B0aW9uKGVsZW1lbnRzW3RoaXMuZm9jdXNlZE9wdGlvbkluZGV4XSwgeyBibG9jazogJ2VuZCcgfSk7XG4gICAgfSxcblxuICAgIHVwZGF0ZUZvY3VzZWRPcHRpb25JbmRleEZyb21FbGVtZW50KGVsKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5fZ2V0Rm9jdXNhYmxlRWxlbWVudHMoKTtcblxuICAgICAgICBpZiAoZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA9IGVsZW1lbnRzLmZpbmRJbmRleChvdGhlciA9PiBvdGhlci5pc0VxdWFsTm9kZShlbCkpO1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzZWRPcHRpb25JZCA9IGVsLl94X2RhdGFTdGFja1swXS5faWQ7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIGNhblRvZ2dsZU9wdGlvbih2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IHRoaXMuX2lzVmFsdWVTZWxlY3RlZCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmIChpc1NlbGVjdGVkICYmIHRoaXMudmFsdWUubGVuZ3RoIDw9IHRoaXMubWluU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25hbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCEgaXNTZWxlY3RlZCAmJiAhIHRoaXMuX2NhblNlbGVjdEFub3RoZXJPcHRpb24oKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNTZWxlY3RlZCAmJiAhIHRoaXMub3B0aW9uYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG5cbiAgICBjbGVhclZhbHVlKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEgdGhpcy5vcHRpb25hbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubXVsdGlwbGUgPyBbXSA6IG51bGw7XG4gICAgICAgIHRoaXMudmFsdWVMYWJlbCA9IG51bGw7XG4gICAgfSxcblxuICAgIHRvZ2dsZU9wdGlvbihvcHRpb24pIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVNdWx0aVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlU2luZ2xlU2VsZWN0T3B0aW9uKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgdG9nZ2xlT3B0aW9uQnlWYWx1ZSh2YWx1ZSkge1xuICAgICAgICBsZXQgb3B0aW9uID0gdGhpcy5fZ2V0T3B0aW9uQnlWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgIG9wdGlvbiA9IG9wdGlvbi5feF9kYXRhU3RhY2tbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb24gPSB7IG9wdGlvblZhbHVlOiB2YWx1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudG9nZ2xlT3B0aW9uKG9wdGlvbik7XG4gICAgfSxcblxuICAgIHNldE5ld1ZhbHVlKG5ld1ZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gW107XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xuXG4gICAgICAgICAgICBuZXdWYWx1ZS5mb3JFYWNoKHZhbHVlID0+IHRoaXMudG9nZ2xlT3B0aW9uQnlWYWx1ZSh2YWx1ZSkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGVuIGVtaXR0aW5nIGBudWxsYCB2YWx1ZXMgZnJvbSBwaHAsIHNvbWV0aW1lcyBpdCBjb21lcyB0aHJvdWdoIGFzIGFuIG9iamVjdCxcbiAgICAgICAgLy8gc28gd2UnbGwgXCJmaXhcIiBpdCBoZXJlLlxuICAgICAgICBpZiAoaXNPYmplY3QobmV3VmFsdWUpKSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgfSxcblxuICAgIGhhbmRsZVZhbHVlQ2hhbmdlKCkge1xuICAgICAgICBpZiAoISB0aGlzLmNsb3NlT25TZWxlY3QgJiYgdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0UG9wcGVyKCk7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c1NlYXJjaCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jbG9zZU9uU2VsZWN0ICYmIHRoaXMub3Blbikge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlQ2xvc2VPblNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIGxhYmVsRm9yVmFsdWUodmFsdWUpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMuZmluZChvID0+IFN0cmluZyhvLm9wdGlvblZhbHVlKSA9PT0gU3RyaW5nKHZhbHVlKSk7XG5cbiAgICAgICAgaWYgKCEgb3B0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb3B0aW9uLm9wdGlvblNlbGVjdGVkTGFiZWwgPyBvcHRpb24ub3B0aW9uU2VsZWN0ZWRMYWJlbCA6IG9wdGlvbi5vcHRpb25MYWJlbDtcbiAgICB9LFxuXG4gICAgX3RvZ2dsZU11bHRpU2VsZWN0T3B0aW9uKG9wdGlvbikge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbi5vcHRpb25WYWx1ZTtcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xuXG4gICAgICAgIGlmICh0aGlzLl9pc1ZhbHVlU2VsZWN0ZWQodmFsdWUpICYmIHRoaXMuX2NhbkRlU2VsZWN0QW5PcHRpb24oKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUuc3BsaWNlKG5ld1ZhbHVlLmluZGV4T2YodmFsdWUpLCAxKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNwbGljZShcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5maW5kSW5kZXgobyA9PiBTdHJpbmcoby5vcHRpb25WYWx1ZSkgPT09IFN0cmluZyh2YWx1ZSkpLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoISB0aGlzLl9pc1ZhbHVlU2VsZWN0ZWQodmFsdWUpICYmIHRoaXMuX2NhblNlbGVjdEFub3RoZXJPcHRpb24oKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgfSxcblxuICAgIF90b2dnbGVTaW5nbGVTZWxlY3RPcHRpb24ob3B0aW9uKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvblZhbHVlID0gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgPyBvcHRpb24ub3B0aW9uVmFsdWUgOiBvcHRpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl9pc1ZhbHVlU2VsZWN0ZWQob3B0aW9uVmFsdWUpXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogb3B0aW9uVmFsdWU7XG4gICAgfSxcblxuICAgIF9jYW5EZVNlbGVjdEFuT3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25hbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPiB0aGlzLm1pblNlbGVjdGVkO1xuICAgIH0sXG5cbiAgICBfY2FuU2VsZWN0QW5vdGhlck9wdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubWF4U2VsZWN0ZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoIDwgdGhpcy5tYXhTZWxlY3RlZDtcbiAgICB9LFxuXG4gICAgX2lzVmFsdWVTZWxlY3RlZCh2YWx1ZSkge1xuICAgICAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IFN0cmluZyh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIC8vIEluIGNlcnRhaW4gZWRnZSBjYXNlcywgYHRoaXMudmFsdWVgIG1heSBub3QgYmUgYW4gYXJyYXksIHNvXG4gICAgICAgICAgICAvLyB3ZSdsbCBmb3JjZSBpdCB0byBiZSBvbmUgaWYgaXQncyBub3QgaGVyZS5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgOiBbXTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnNvbWUodiA9PiBTdHJpbmcodikgPT09IHN0cmluZ1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdHJpbmdWYWx1ZSA9PT0gU3RyaW5nKHRoaXMudmFsdWUpO1xuICAgIH0sXG5cbiAgICBfZm9jdXNPcHRpb24ob3B0aW9uLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG9wdGlvbi5feF9kYXRhU3RhY2tbMF0uZm9jdXMoeyBwYXJlbnQ6IHRoaXMsIC4uLm9wdGlvbnMgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWRPcHRpb25JbmRleEZyb21FbGVtZW50KG9wdGlvbik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfSxcblxuICAgIF9mb2N1c1Jvb3QoKSB7XG4gICAgICAgIGlmICghIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fcm9vdC5mb2N1cygpLCA1MCk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgX2ZvY3VzU2VhcmNoKCkge1xuICAgICAgICBpZiAoISB0aGlzLnNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VhcmNoSW5wdXQoKS5mb2N1cygpLCA1MCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfSxcblxuICAgIF9mb2N1c1NlbGVjdGVkT3B0aW9uKCkge1xuICAgICAgICBjb25zdCBmaXJzdFZhbHVlID0gdGhpcy5tdWx0aXBsZSA/IFN0cmluZyh0aGlzLnZhbHVlWzBdKSA6IFN0cmluZyh0aGlzLnZhbHVlKTtcbiAgICAgICAgaWYgKCEgZmlyc3RWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5fZ2V0T3B0aW9uQnlWYWx1ZShmaXJzdFZhbHVlKTtcblxuICAgICAgICBpZiAob3B0aW9uICYmICEgb3B0aW9uLm9wdGlvbkRpc2FibGVkKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZvY3VzT3B0aW9uKG9wdGlvbiksIDUwKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBfZ2V0T3B0aW9uQnlWYWx1ZSh2YWx1ZSkge1xuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMuX2dldEFsbE9wdGlvbkVsZW1lbnRzKCk7XG4gICAgICAgIGlmICghIGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9jdXNhYmxlRWxlbWVudHMuZmluZChvID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhvLl94X2RhdGFTdGFja1swXS5vcHRpb25WYWx1ZSkgPT09IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgX2dldEFsbE9wdGlvbkVsZW1lbnRzKCkge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXMubWVudSgpLnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fb3B0aW9uRWxlbWVudFNlbGVjdG9yKV07XG4gICAgfSxcblxuICAgIF9nZXRGb2N1c2FibGVFbGVtZW50cygpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNhYmxlRWxlbWVudHMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUVsZW1lbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlRWxlbWVudHMgPSBbLi4udGhpcy5tZW51KCkucXVlcnlTZWxlY3RvckFsbCh0aGlzLl9mb2N1c2FibGVFbGVtZW50U2VsZWN0b3IpXVxuICAgICAgICAgICAgLmZpbHRlcihlbCA9PiBlbC5vZmZzZXRQYXJlbnQgIT09IG51bGwpOyAvLyBFbnN1cmUgb3B0aW9uIGlzIHZpc2libGVcbiAgICB9LFxuXG4gICAgX2hhbmRsZUNsb3NlT25TZWxlY3QoKSB7XG4gICAgICAgIGlmICh0aGlzLl9zaG91bGRDbG9zZU9uU2VsZWN0KCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgX2hhbmRsZVNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50cyA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMubGl2ZXdpcmVTZWFyY2ggJiYgdGhpcy5fd2lyZSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLl93aXJlW3RoaXMubGl2ZXdpcmVTZWFyY2hdKHRoaXMuc2VhcmNoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2RvTG9jYWxTZWFyY2goKTtcbiAgICB9LFxuXG4gICAgX2RvTG9jYWxTZWFyY2goKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9nZXRBbGxPcHRpb25FbGVtZW50cygpO1xuICAgICAgICBjb25zdCBsb3dlcmNhc2VTZWFyY2ggPSB0aGlzLnNlYXJjaCA/IHRoaXMuc2VhcmNoLnRvTG93ZXJDYXNlKCkgOiBudWxsO1xuICAgICAgICBsZXQgbWF0Y2hDb3VudCA9IDA7XG4gICAgICAgIG9wdGlvbnMuZm9yRWFjaChvID0+IHtcbiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChsb3dlcmNhc2VTZWFyY2gpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25WYWx1ZSA9IG8uX3hfZGF0YVN0YWNrWzBdLm9wdGlvblZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IG8uX3hfZGF0YVN0YWNrWzBdLm9wdGlvbkxhYmVsO1xuXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoZXMgPSBTdHJpbmcob3B0aW9uVmFsdWUpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJjYXNlU2VhcmNoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfHwgU3RyaW5nKGxhYmVsKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyY2FzZVNlYXJjaCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBtYXRjaENvdW50Kys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG8uc3R5bGUuZGlzcGxheSA9IG1hdGNoZXMgPyBudWxsIDogJ25vbmUnO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBub1Jlc3VsdHMgPSB0aGlzLiRyZWZzLm5vUmVzdWx0cztcbiAgICAgICAgaWYgKG5vUmVzdWx0cykge1xuICAgICAgICAgICAgbm9SZXN1bHRzLnN0eWxlLmRpc3BsYXkgPSBtYXRjaENvdW50ID09PSAwID8gbnVsbCA6ICdub25lJztcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBfaW5pdFBvcHBlcigpIHtcbiAgICAgICAgdGhpcy5fcmVzZXRQb3BwZXIoKTtcblxuICAgICAgICB0aGlzLl9wb3BwZXIgPSBjcmVhdGVQb3BwZXIodGhpcy5fcm9vdCwgdGhpcy5tZW51KCksIHRoaXMuX3BvcHBlckNvbmZpZygpKTtcbiAgICB9LFxuXG4gICAgX2luaXRTZWxlY3QoKSB7XG4gICAgICAgIHRoaXMuX3Jvb3QgPSB0aGlzLiRyb290O1xuXG4gICAgICAgIGNyZWF0ZVBvcHBlciA9IHdpbmRvdy5Qb3BwZXIgPyB3aW5kb3cuUG9wcGVyLmNyZWF0ZVBvcHBlciA6IHdpbmRvdy5jcmVhdGVQb3BwZXI7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjcmVhdGVQb3BwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYDwke3RoaXMuX2NvbXBvbmVudE5hbWV9PiByZXF1aXJlcyBQb3BwZXIgKGh0dHBzOi8vcG9wcGVyLmpzLm9yZylgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmF1dG9mb2N1cykge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNSb290KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLiR3YXRjaCgnc2VhcmNoJywgKCkgPT4gdGhpcy5faGFuZGxlU2VhcmNoKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEgdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnZhbHVlICYmICEgdGhpcy5pbml0aWFsTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuX2RldGVybWluZUluaXRpYWxMYWJlbCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbExhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSB0aGlzLmluaXRpYWxMYWJlbDtcbiAgICAgICAgICAgIHRoaXMudmFsdWVQbGFjZWhvbGRlciA9IHRoaXMuaW5pdGlhbExhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFsuLi50aGlzLnZhbHVlXS5tYXAodiA9PiB0aGlzLl9nZXRPcHRpb25CeVZhbHVlKHYpLl94X2RhdGFTdGFja1swXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuJHdhdGNoKCd2YWx1ZScsIChuZXdWYWx1ZSwgb2xkVmFsdWUpID0+IHtcbiAgICAgICAgICAgIC8vIFBvc3NpYmxlIGJ1ZzogV2hlbiBsaXZld2lyZSBjb21wb25lbnRzIGFyZSB1cGRhdGVkLCB0aGUgd2F0Y2hlclxuICAgICAgICAgICAgLy8gZ2V0cyB0cmlnZ2VyZWQgYWdhaW4sIGV2ZW4gaWYgdGhlIG5ldyBhbmQgb2xkIHZhbHVlcyBhcmUgdGhlIHNhbWUsXG4gICAgICAgICAgICAvLyBzbyB3ZSB3YW50IHRvIHByZXZlbnQgb3VyIGhhbmRsZXJzIGZyb20gcnVubmluZyBpbiB0aG9zZSBjYXNlcy4uLlxuICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG5ld1ZhbHVlKSA9PT0gSlNPTi5zdHJpbmdpZnkob2xkVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVTZWxlY3RlZE9wdGlvbihuZXdWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuJGRpc3BhdGNoKCdpbnB1dCcsIG5ld1ZhbHVlKTtcblxuICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIHdoZW4gdXNpbmcgYSB3aXJlOm1vZGVsLmRlZmVyLCBsaXZld2lyZSBpcyBub3RcbiAgICAgICAgICAgIC8vIHNlbmRpbmcgbnVsbCB2YWx1ZXMgYmFjayB0byB0aGUgc2VydmVyIGZvciB1cGRhdGVzLCBzbyB3ZSB3aWxsXG4gICAgICAgICAgICAvLyBmb3JjZSBpdCB0byBoZXJlLi4uXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IG51bGwgJiYgdGhpcy5fd2lyZSAmJiB0aGlzLl93aXJlTW9kZWxOYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fd2lyZS5zZXQodGhpcy5fd2lyZU1vZGVsTmFtZSwgbnVsbCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBfdXBkYXRlU2VsZWN0ZWRPcHRpb24obmV3VmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5fZ2V0T3B0aW9uQnlWYWx1ZShuZXdWYWx1ZSk7XG5cbiAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSBvcHRpb24uX3hfZGF0YVN0YWNrWzBdLm9wdGlvblNlbGVjdGVkTGFiZWw7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVBsYWNlaG9sZGVyID0gb3B0aW9uLl94X2RhdGFTdGFja1swXS5vcHRpb25MYWJlbDtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgX3BvcHBlckNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgICAgICAgICBzdHJhdGVneTogdGhpcy5maXhlZCA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgbW9kaWZpZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnb2Zmc2V0JyxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBbMCwgMF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdwcmV2ZW50T3ZlcmZsb3cnLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3VuZGFyaWVzRWxlbWVudDogdGhpcy5fcm9vdCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgX3Jlc2V0UG9wcGVyKCkge1xuICAgICAgICBpZiAodGhpcy5fcG9wcGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9wb3BwZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5fcG9wcGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBfZGV0ZXJtaW5lSW5pdGlhbExhYmVsKCkge1xuICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLl9nZXRPcHRpb25CeVZhbHVlKHRoaXMudmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsTGFiZWwgPSBvcHRpb24uX3hfZGF0YVN0YWNrWzBdLm9wdGlvblNlbGVjdGVkTGFiZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUxhYmVsID0gdGhpcy5pbml0aWFsTGFiZWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVQbGFjZWhvbGRlciA9IHRoaXMuaW5pdGlhbExhYmVsO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxMYWJlbCA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICB0aGlzLnZhbHVlTGFiZWwgPSB0aGlzLmluaXRpYWxMYWJlbDtcbiAgICAgICAgICAgIHRoaXMudmFsdWVQbGFjZWhvbGRlciA9IHRoaXMuaW5pdGlhbExhYmVsO1xuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgX3Nob3VsZENsb3NlT25TZWxlY3QoKSB7XG4gICAgICAgIGlmICh0aGlzLl9ub0Nsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX25vQ2xvc2VPblNlbGVjdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISB0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXhTZWxlY3RlZCA9PT0gbnVsbFxuICAgICAgICAgICAgICAgID8gdGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5taW5TZWxlY3RlZFxuICAgICAgICAgICAgICAgIDogdGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5tYXhTZWxlY3RlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG59O1xuIl0sIm5hbWVzIjpbImlzQXJyYXkiLCJpc09iamVjdCIsImNyZWF0ZVBvcHBlciIsIm9wZW4iLCJkaXNhYmxlZCIsImZpeGVkIiwib3B0aW9uYWwiLCJzZWFyY2hhYmxlIiwiY2xvc2VPblNlbGVjdCIsIm11bHRpcGxlIiwicGxhY2Vob2xkZXIiLCJ2YWx1ZVBsYWNlaG9sZGVyIiwic2VhcmNoIiwidmFsdWUiLCJ2YWx1ZUxhYmVsIiwiaW5pdGlhbExhYmVsIiwiZm9jdXNlZE9wdGlvbkluZGV4IiwiZm9jdXNhYmxlRWxlbWVudHMiLCJhdXRvZm9jdXMiLCJtaW5TZWxlY3RlZCIsIm1heFNlbGVjdGVkIiwic2VsZWN0ZWRPcHRpb25zIiwibGl2ZXdpcmVTZWFyY2giLCJfd2lyZSIsIl9yb290IiwiX3BvcHBlciIsIl9jb21wb25lbnROYW1lIiwiX2ZvY3VzYWJsZUVsZW1lbnRTZWxlY3RvciIsIl9vcHRpb25FbGVtZW50U2VsZWN0b3IiLCJfd2lyZVRvZ2dsZU1ldGhvZCIsIl9mb2N1c2VkT3B0aW9uSWQiLCJfbm9DbG9zZU9uU2VsZWN0IiwiX3dpcmVNb2RlbE5hbWUiLCJtZW51IiwiJHJlZnMiLCJxdWVyeVNlbGVjdG9yIiwic2VhcmNoSW5wdXQiLCJfY2xvc2VNZW51IiwiX3Jlc2V0UG9wcGVyIiwib3Blbk1lbnUiLCJfaW5pdFBvcHBlciIsIl9mb2N1c1NlYXJjaCIsIl9mb2N1c1NlbGVjdGVkT3B0aW9uIiwib25CYWNrc3BhY2UiLCJsZW5ndGgiLCJ0b2dnbGVPcHRpb25CeVZhbHVlIiwib25FbnRlciIsImVsZW1lbnRzIiwiX2dldEZvY3VzYWJsZUVsZW1lbnRzIiwic2VsZWN0T3B0aW9uIiwib25UYWIiLCJjbG9zZU1lbnUiLCJmb2N1c1Jvb3QiLCJmb2N1c05leHRPcHRpb24iLCJfZm9jdXNPcHRpb24iLCJmb2N1c1ByZXZpb3VzT3B0aW9uIiwiYmxvY2siLCJmb2N1c0ZpcnN0T3B0aW9uIiwiZm9jdXNMYXN0T3B0aW9uIiwidXBkYXRlRm9jdXNlZE9wdGlvbkluZGV4RnJvbUVsZW1lbnQiLCJlbCIsImZpbmRJbmRleCIsIm90aGVyIiwiaXNFcXVhbE5vZGUiLCJfeF9kYXRhU3RhY2siLCJfaWQiLCJlIiwiY2FuVG9nZ2xlT3B0aW9uIiwiaXNTZWxlY3RlZCIsIl9pc1ZhbHVlU2VsZWN0ZWQiLCJfY2FuU2VsZWN0QW5vdGhlck9wdGlvbiIsImNsZWFyVmFsdWUiLCJ0b2dnbGVPcHRpb24iLCJvcHRpb24iLCJfdG9nZ2xlTXVsdGlTZWxlY3RPcHRpb24iLCJfdG9nZ2xlU2luZ2xlU2VsZWN0T3B0aW9uIiwiX2dldE9wdGlvbkJ5VmFsdWUiLCJvcHRpb25WYWx1ZSIsInNldE5ld1ZhbHVlIiwibmV3VmFsdWUiLCJmb3JFYWNoIiwiaGFuZGxlVmFsdWVDaGFuZ2UiLCJfaGFuZGxlQ2xvc2VPblNlbGVjdCIsImxhYmVsRm9yVmFsdWUiLCJmaW5kIiwibyIsIlN0cmluZyIsIm9wdGlvblNlbGVjdGVkTGFiZWwiLCJvcHRpb25MYWJlbCIsIl9jYW5EZVNlbGVjdEFuT3B0aW9uIiwic3BsaWNlIiwiaW5kZXhPZiIsInB1c2giLCJzdHJpbmdWYWx1ZSIsInNvbWUiLCJ2Iiwib3B0aW9ucyIsImZvY3VzIiwicGFyZW50IiwiX2ZvY3VzUm9vdCIsInNldFRpbWVvdXQiLCJmaXJzdFZhbHVlIiwib3B0aW9uRGlzYWJsZWQiLCJfZ2V0QWxsT3B0aW9uRWxlbWVudHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZmlsdGVyIiwib2Zmc2V0UGFyZW50IiwiX3Nob3VsZENsb3NlT25TZWxlY3QiLCJfaGFuZGxlU2VhcmNoIiwiX2RvTG9jYWxTZWFyY2giLCJsb3dlcmNhc2VTZWFyY2giLCJ0b0xvd2VyQ2FzZSIsIm1hdGNoQ291bnQiLCJtYXRjaGVzIiwibGFiZWwiLCJpbmNsdWRlcyIsInN0eWxlIiwiZGlzcGxheSIsIm5vUmVzdWx0cyIsIl9wb3BwZXJDb25maWciLCJfaW5pdFNlbGVjdCIsIiRyb290Iiwid2luZG93IiwiUG9wcGVyIiwiVHlwZUVycm9yIiwiJHdhdGNoIiwiX2RldGVybWluZUluaXRpYWxMYWJlbCIsIiRuZXh0VGljayIsIm1hcCIsIm9sZFZhbHVlIiwiSlNPTiIsInN0cmluZ2lmeSIsIl91cGRhdGVTZWxlY3RlZE9wdGlvbiIsIiRkaXNwYXRjaCIsInNldCIsInBsYWNlbWVudCIsInN0cmF0ZWd5IiwibW9kaWZpZXJzIiwibmFtZSIsIm9mZnNldCIsImJvdW5kYXJpZXNFbGVtZW50IiwiZGVzdHJveSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/mixins/select.js\n"); + +/***/ }), + +/***/ "./resources/js/util/findElement.js": +/*!******************************************!*\ + !*** ./resources/js/util/findElement.js ***! + \******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"findClosest\": () => (/* binding */ findClosest)\n/* harmony export */ });\nvar findClosest = function findClosest(el, callback) {\n if (!el) {\n return;\n }\n\n if (callback(el)) {\n return el;\n }\n\n if (!el.parentElement) {\n return;\n }\n\n return findClosest(el.parentElement, callback);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvdXRpbC9maW5kRWxlbWVudC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ0MsRUFBRCxFQUFLQyxRQUFMLEVBQWtCO0FBQ3pDLE1BQUksQ0FBRUQsRUFBTixFQUFVO0FBQ047QUFDSDs7QUFFRCxNQUFJQyxRQUFRLENBQUNELEVBQUQsQ0FBWixFQUFrQjtBQUNkLFdBQU9BLEVBQVA7QUFDSDs7QUFFRCxNQUFJLENBQUVBLEVBQUUsQ0FBQ0UsYUFBVCxFQUF3QjtBQUNwQjtBQUNIOztBQUVELFNBQU9ILFdBQVcsQ0FBQ0MsRUFBRSxDQUFDRSxhQUFKLEVBQW1CRCxRQUFuQixDQUFsQjtBQUNILENBZE0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy91dGlsL2ZpbmRFbGVtZW50LmpzP2MwZDQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZpbmRDbG9zZXN0ID0gKGVsLCBjYWxsYmFjaykgPT4ge1xuICAgIGlmICghIGVsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2FsbGJhY2soZWwpKSB7XG4gICAgICAgIHJldHVybiBlbDtcbiAgICB9XG5cbiAgICBpZiAoISBlbC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluZENsb3Nlc3QoZWwucGFyZW50RWxlbWVudCwgY2FsbGJhY2spO1xufTtcbiJdLCJuYW1lcyI6WyJmaW5kQ2xvc2VzdCIsImVsIiwiY2FsbGJhY2siLCJwYXJlbnRFbGVtZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/util/findElement.js\n"); + +/***/ }), + +/***/ "./resources/js/util/focusElement.js": +/*!*******************************************!*\ + !*** ./resources/js/util/focusElement.js ***! + \*******************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"focusElementInParent\": () => (/* binding */ focusElementInParent)\n/* harmony export */ });\nvar focusElementInParent = function focusElementInParent(el, parent) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var offsetTop = el.offsetTop;\n parent.scrollTop = offsetTop || 0;\n\n if (!isInParentViewport(el, parent, options)) {\n el.scrollIntoView({\n block: options.block || 'end',\n inline: 'nearest',\n behavior: 'smooth'\n });\n }\n } catch (e) {}\n};\n\nvar isInParentViewport = function isInParentViewport(el, parent) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var position = positionRelativeToParent(el, parent);\n var threshold = options.threshold || el.offsetHeight;\n return position.top >= 0 && position.left >= 0 && position.bottom <= parent.offsetHeight && position.right <= parent.offsetWidth && position.top <= parent.offsetHeight - threshold;\n};\n\nvar positionRelativeToParent = function positionRelativeToParent(el, parent) {\n var parentPosition = parent.getBoundingClientRect();\n var childPosition = el.getBoundingClientRect();\n return {\n top: childPosition.top - parentPosition.top,\n right: childPosition.right - parentPosition.right,\n bottom: childPosition.bottom - parentPosition.bottom,\n left: childPosition.left - parentPosition.left\n };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvdXRpbC9mb2N1c0VsZW1lbnQuanMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLElBQU1BLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUIsQ0FBQ0MsRUFBRCxFQUFLQyxNQUFMLEVBQThCO0FBQUEsTUFBakJDLE9BQWlCLHVFQUFQLEVBQU87O0FBQzlELE1BQUk7QUFDQSxRQUFNQyxTQUFTLEdBQUdILEVBQUUsQ0FBQ0csU0FBckI7QUFDQUYsSUFBQUEsTUFBTSxDQUFDRyxTQUFQLEdBQW1CRCxTQUFTLElBQUksQ0FBaEM7O0FBRUEsUUFBSSxDQUFFRSxrQkFBa0IsQ0FBQ0wsRUFBRCxFQUFLQyxNQUFMLEVBQWFDLE9BQWIsQ0FBeEIsRUFBK0M7QUFDM0NGLE1BQUFBLEVBQUUsQ0FBQ00sY0FBSCxDQUFrQjtBQUFFQyxRQUFBQSxLQUFLLEVBQUVMLE9BQU8sQ0FBQ0ssS0FBUixJQUFpQixLQUExQjtBQUFpQ0MsUUFBQUEsTUFBTSxFQUFFLFNBQXpDO0FBQW9EQyxRQUFBQSxRQUFRLEVBQUU7QUFBOUQsT0FBbEI7QUFDSDtBQUNKLEdBUEQsQ0FPRSxPQUFPQyxDQUFQLEVBQVUsQ0FBRTtBQUNqQixDQVRNOztBQVdQLElBQU1MLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0wsRUFBRCxFQUFLQyxNQUFMLEVBQThCO0FBQUEsTUFBakJDLE9BQWlCLHVFQUFQLEVBQU87QUFDckQsTUFBTVMsUUFBUSxHQUFHQyx3QkFBd0IsQ0FBQ1osRUFBRCxFQUFLQyxNQUFMLENBQXpDO0FBQ0EsTUFBTVksU0FBUyxHQUFHWCxPQUFPLENBQUNXLFNBQVIsSUFBcUJiLEVBQUUsQ0FBQ2MsWUFBMUM7QUFFQSxTQUNJSCxRQUFRLENBQUNJLEdBQVQsSUFBZ0IsQ0FBaEIsSUFDQUosUUFBUSxDQUFDSyxJQUFULElBQWlCLENBRGpCLElBRUFMLFFBQVEsQ0FBQ00sTUFBVCxJQUFtQmhCLE1BQU0sQ0FBQ2EsWUFGMUIsSUFHQUgsUUFBUSxDQUFDTyxLQUFULElBQWtCakIsTUFBTSxDQUFDa0IsV0FIekIsSUFJQVIsUUFBUSxDQUFDSSxHQUFULElBQWlCZCxNQUFNLENBQUNhLFlBQVAsR0FBc0JELFNBTDNDO0FBT0gsQ0FYRDs7QUFhQSxJQUFNRCx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCLENBQUNaLEVBQUQsRUFBS0MsTUFBTCxFQUFnQjtBQUM3QyxNQUFNbUIsY0FBYyxHQUFHbkIsTUFBTSxDQUFDb0IscUJBQVAsRUFBdkI7QUFDQSxNQUFNQyxhQUFhLEdBQUd0QixFQUFFLENBQUNxQixxQkFBSCxFQUF0QjtBQUVBLFNBQU87QUFDSE4sSUFBQUEsR0FBRyxFQUFFTyxhQUFhLENBQUNQLEdBQWQsR0FBb0JLLGNBQWMsQ0FBQ0wsR0FEckM7QUFFSEcsSUFBQUEsS0FBSyxFQUFFSSxhQUFhLENBQUNKLEtBQWQsR0FBc0JFLGNBQWMsQ0FBQ0YsS0FGekM7QUFHSEQsSUFBQUEsTUFBTSxFQUFFSyxhQUFhLENBQUNMLE1BQWQsR0FBdUJHLGNBQWMsQ0FBQ0gsTUFIM0M7QUFJSEQsSUFBQUEsSUFBSSxFQUFFTSxhQUFhLENBQUNOLElBQWQsR0FBcUJJLGNBQWMsQ0FBQ0o7QUFKdkMsR0FBUDtBQU1ILENBVkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy91dGlsL2ZvY3VzRWxlbWVudC5qcz9hYjM5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmb2N1c0VsZW1lbnRJblBhcmVudCA9IChlbCwgcGFyZW50LCBvcHRpb25zID0ge30pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBvZmZzZXRUb3AgPSBlbC5vZmZzZXRUb3A7XG4gICAgICAgIHBhcmVudC5zY3JvbGxUb3AgPSBvZmZzZXRUb3AgfHwgMDtcblxuICAgICAgICBpZiAoISBpc0luUGFyZW50Vmlld3BvcnQoZWwsIHBhcmVudCwgb3B0aW9ucykpIHtcbiAgICAgICAgICAgIGVsLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6IG9wdGlvbnMuYmxvY2sgfHwgJ2VuZCcsIGlubGluZTogJ25lYXJlc3QnLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7fVxufTtcblxuY29uc3QgaXNJblBhcmVudFZpZXdwb3J0ID0gKGVsLCBwYXJlbnQsIG9wdGlvbnMgPSB7fSkgPT4ge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gcG9zaXRpb25SZWxhdGl2ZVRvUGFyZW50KGVsLCBwYXJlbnQpO1xuICAgIGNvbnN0IHRocmVzaG9sZCA9IG9wdGlvbnMudGhyZXNob2xkIHx8IGVsLm9mZnNldEhlaWdodDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIHBvc2l0aW9uLnRvcCA+PSAwICYmXG4gICAgICAgIHBvc2l0aW9uLmxlZnQgPj0gMCAmJlxuICAgICAgICBwb3NpdGlvbi5ib3R0b20gPD0gcGFyZW50Lm9mZnNldEhlaWdodCAmJlxuICAgICAgICBwb3NpdGlvbi5yaWdodCA8PSBwYXJlbnQub2Zmc2V0V2lkdGggJiZcbiAgICAgICAgcG9zaXRpb24udG9wIDw9IChwYXJlbnQub2Zmc2V0SGVpZ2h0IC0gdGhyZXNob2xkKVxuICAgICk7XG59O1xuXG5jb25zdCBwb3NpdGlvblJlbGF0aXZlVG9QYXJlbnQgPSAoZWwsIHBhcmVudCkgPT4ge1xuICAgIGNvbnN0IHBhcmVudFBvc2l0aW9uID0gcGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNoaWxkUG9zaXRpb24gPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHRvcDogY2hpbGRQb3NpdGlvbi50b3AgLSBwYXJlbnRQb3NpdGlvbi50b3AsXG4gICAgICAgIHJpZ2h0OiBjaGlsZFBvc2l0aW9uLnJpZ2h0IC0gcGFyZW50UG9zaXRpb24ucmlnaHQsXG4gICAgICAgIGJvdHRvbTogY2hpbGRQb3NpdGlvbi5ib3R0b20gLSBwYXJlbnRQb3NpdGlvbi5ib3R0b20sXG4gICAgICAgIGxlZnQ6IGNoaWxkUG9zaXRpb24ubGVmdCAtIHBhcmVudFBvc2l0aW9uLmxlZnQsXG4gICAgfTtcbn07XG4iXSwibmFtZXMiOlsiZm9jdXNFbGVtZW50SW5QYXJlbnQiLCJlbCIsInBhcmVudCIsIm9wdGlvbnMiLCJvZmZzZXRUb3AiLCJzY3JvbGxUb3AiLCJpc0luUGFyZW50Vmlld3BvcnQiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiaW5saW5lIiwiYmVoYXZpb3IiLCJlIiwicG9zaXRpb24iLCJwb3NpdGlvblJlbGF0aXZlVG9QYXJlbnQiLCJ0aHJlc2hvbGQiLCJvZmZzZXRIZWlnaHQiLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwicmlnaHQiLCJvZmZzZXRXaWR0aCIsInBhcmVudFBvc2l0aW9uIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2hpbGRQb3NpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/util/focusElement.js\n"); + +/***/ }), + +/***/ "./resources/js/util/id.js": +/*!*********************************!*\ + !*** ./resources/js/util/id.js ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"uniqueId\": () => (/* binding */ uniqueId)\n/* harmony export */ });\nvar uniqueId = function uniqueId(prefix) {\n return \"\".concat(prefix, \"_\").concat(Math.random().toString(36).slice(2));\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvdXRpbC9pZC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sSUFBTUEsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQUMsTUFBTTtBQUFBLG1CQUFPQSxNQUFQLGNBQWlCQyxJQUFJLENBQUNDLE1BQUwsR0FBY0MsUUFBZCxDQUF1QixFQUF2QixFQUEyQkMsS0FBM0IsQ0FBaUMsQ0FBakMsQ0FBakI7QUFBQSxDQUF2QiIsInNvdXJjZXMiOlsid2VicGFjazovL2xhcmF2ZWwtZm9ybS1jb21wb25lbnRzLy4vcmVzb3VyY2VzL2pzL3V0aWwvaWQuanM/Y2ZlZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdW5pcXVlSWQgPSBwcmVmaXggPT4gYCR7cHJlZml4fV8ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpfWA7XG4iXSwibmFtZXMiOlsidW5pcXVlSWQiLCJwcmVmaXgiLCJNYXRoIiwicmFuZG9tIiwidG9TdHJpbmciLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/util/id.js\n"); + +/***/ }), + +/***/ "./resources/js/util/inspect.js": +/*!**************************************!*\ + !*** ./resources/js/util/inspect.js ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isArray\": () => (/* binding */ isArray),\n/* harmony export */ \"isUndefined\": () => (/* binding */ isUndefined),\n/* harmony export */ \"isNull\": () => (/* binding */ isNull),\n/* harmony export */ \"isUndefinedOrNull\": () => (/* binding */ isUndefinedOrNull),\n/* harmony export */ \"isObject\": () => (/* binding */ isObject),\n/* harmony export */ \"isPlainObject\": () => (/* binding */ isPlainObject)\n/* harmony export */ });\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar isArray = function isArray(val) {\n return Array.isArray(val);\n};\nvar isUndefined = function isUndefined(val) {\n return val === undefined;\n};\nvar isNull = function isNull(val) {\n return val === null;\n};\nvar isUndefinedOrNull = function isUndefinedOrNull(val) {\n return isUndefined(val) || isNull(val);\n}; // Quick object check.\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type.\n// Note: object could be a complex type like array, Date, etc.\n\nvar isObject = function isObject(obj) {\n return obj !== null && _typeof(obj) === 'object';\n}; // Strict object type check.\n// Only returns true for plain JavaScript objects.\n\nvar isPlainObject = function isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvdXRpbC9pbnNwZWN0LmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQU8sSUFBTUEsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQUMsR0FBRztBQUFBLFNBQUlDLEtBQUssQ0FBQ0YsT0FBTixDQUFjQyxHQUFkLENBQUo7QUFBQSxDQUFuQjtBQUVBLElBQU1FLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUFGLEdBQUc7QUFBQSxTQUFJQSxHQUFHLEtBQUtHLFNBQVo7QUFBQSxDQUF2QjtBQUVBLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUFKLEdBQUc7QUFBQSxTQUFJQSxHQUFHLEtBQUssSUFBWjtBQUFBLENBQWxCO0FBRUEsSUFBTUssaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFBTCxHQUFHO0FBQUEsU0FBSUUsV0FBVyxDQUFDRixHQUFELENBQVgsSUFBb0JJLE1BQU0sQ0FBQ0osR0FBRCxDQUE5QjtBQUFBLENBQTdCLEVBRVA7QUFDQTtBQUNBO0FBQ0E7O0FBQ08sSUFBTU0sUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQUMsR0FBRztBQUFBLFNBQUlBLEdBQUcsS0FBSyxJQUFSLElBQWdCLFFBQU9BLEdBQVAsTUFBZSxRQUFuQztBQUFBLENBQXBCLEVBRVA7QUFDQTs7QUFDTyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUFELEdBQUc7QUFBQSxTQUFJRSxNQUFNLENBQUNDLFNBQVAsQ0FBaUJDLFFBQWpCLENBQTBCQyxJQUExQixDQUErQkwsR0FBL0IsTUFBd0MsaUJBQTVDO0FBQUEsQ0FBekIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy91dGlsL2luc3BlY3QuanM/ZGEyNyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaXNBcnJheSA9IHZhbCA9PiBBcnJheS5pc0FycmF5KHZhbCk7XG5cbmV4cG9ydCBjb25zdCBpc1VuZGVmaW5lZCA9IHZhbCA9PiB2YWwgPT09IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNvbnN0IGlzTnVsbCA9IHZhbCA9PiB2YWwgPT09IG51bGw7XG5cbmV4cG9ydCBjb25zdCBpc1VuZGVmaW5lZE9yTnVsbCA9IHZhbCA9PiBpc1VuZGVmaW5lZCh2YWwpIHx8IGlzTnVsbCh2YWwpO1xuXG4vLyBRdWljayBvYmplY3QgY2hlY2suXG4vLyBUaGlzIGlzIHByaW1hcmlseSB1c2VkIHRvIHRlbGwgT2JqZWN0cyBmcm9tIHByaW1pdGl2ZSB2YWx1ZXNcbi8vIHdoZW4gd2Uga25vdyB0aGUgdmFsdWUgaXMgYSBKU09OLWNvbXBsaWFudCB0eXBlLlxuLy8gTm90ZTogb2JqZWN0IGNvdWxkIGJlIGEgY29tcGxleCB0eXBlIGxpa2UgYXJyYXksIERhdGUsIGV0Yy5cbmV4cG9ydCBjb25zdCBpc09iamVjdCA9IG9iaiA9PiBvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCc7XG5cbi8vIFN0cmljdCBvYmplY3QgdHlwZSBjaGVjay5cbi8vIE9ubHkgcmV0dXJucyB0cnVlIGZvciBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdHMuXG5leHBvcnQgY29uc3QgaXNQbGFpbk9iamVjdCA9IG9iaiA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XG4iXSwibmFtZXMiOlsiaXNBcnJheSIsInZhbCIsIkFycmF5IiwiaXNVbmRlZmluZWQiLCJ1bmRlZmluZWQiLCJpc051bGwiLCJpc1VuZGVmaW5lZE9yTnVsbCIsImlzT2JqZWN0Iiwib2JqIiwiaXNQbGFpbk9iamVjdCIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/util/inspect.js\n"); + +/***/ }), + +/***/ "./resources/js/util/prototypes.js": +/*!*****************************************!*\ + !*** ./resources/js/util/prototypes.js ***! + \*****************************************/ +/***/ (() => { + +eval("if (typeof String.prototype.toSlug !== 'function') {\n String.prototype.toSlug = function () {\n var str = this.toString();\n str = str.replace(/^\\s+|\\s+$/g, '');\n str = str.toLowerCase(); // remove accents, swap ñ for n, etc\n\n var from = 'àáäâèéëêìíïîòóöôùúüûñç·/_,:;';\n var to = 'aaaaeeeeiiiioooouuuunc------';\n\n for (var i = 0, l = from.length; i < l; i++) {\n str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));\n }\n\n str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars\n .replace(/\\s+/g, '-') // collapse whitespace and replace by -\n .replace(/-+/g, '-'); // collapse dashes\n\n return str;\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sYXJhdmVsLWZvcm0tY29tcG9uZW50cy8uL3Jlc291cmNlcy9qcy91dGlsL3Byb3RvdHlwZXMuanM/MjFlZiJdLCJuYW1lcyI6WyJTdHJpbmciLCJwcm90b3R5cGUiLCJ0b1NsdWciLCJzdHIiLCJ0b1N0cmluZyIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsImZyb20iLCJ0byIsImkiLCJsIiwibGVuZ3RoIiwiUmVnRXhwIiwiY2hhckF0Il0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJLE9BQU9BLE1BQU0sQ0FBQ0MsU0FBUCxDQUFpQkMsTUFBeEIsS0FBbUMsVUFBdkMsRUFBbUQ7QUFDL0NGLEVBQUFBLE1BQU0sQ0FBQ0MsU0FBUCxDQUFpQkMsTUFBakIsR0FBMEIsWUFBWTtBQUNsQyxRQUFJQyxHQUFHLEdBQUcsS0FBS0MsUUFBTCxFQUFWO0FBQ0FELElBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDRSxPQUFKLENBQVksWUFBWixFQUEwQixFQUExQixDQUFOO0FBQ0FGLElBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDRyxXQUFKLEVBQU4sQ0FIa0MsQ0FLbEM7O0FBQ0EsUUFBTUMsSUFBSSxHQUFHLDhCQUFiO0FBQ0EsUUFBTUMsRUFBRSxHQUFHLDhCQUFYOztBQUNBLFNBQUssSUFBSUMsQ0FBQyxHQUFHLENBQVIsRUFBV0MsQ0FBQyxHQUFHSCxJQUFJLENBQUNJLE1BQXpCLEVBQWlDRixDQUFDLEdBQUdDLENBQXJDLEVBQXdDRCxDQUFDLEVBQXpDLEVBQTZDO0FBQ3pDTixNQUFBQSxHQUFHLEdBQUdBLEdBQUcsQ0FBQ0UsT0FBSixDQUFZLElBQUlPLE1BQUosQ0FBV0wsSUFBSSxDQUFDTSxNQUFMLENBQVlKLENBQVosQ0FBWCxFQUEyQixHQUEzQixDQUFaLEVBQTZDRCxFQUFFLENBQUNLLE1BQUgsQ0FBVUosQ0FBVixDQUE3QyxDQUFOO0FBQ0g7O0FBRUROLElBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDRSxPQUFKLENBQVksY0FBWixFQUE0QixFQUE1QixFQUFnQztBQUFoQyxLQUNEQSxPQURDLENBQ08sTUFEUCxFQUNlLEdBRGYsRUFDb0I7QUFEcEIsS0FFREEsT0FGQyxDQUVPLEtBRlAsRUFFYyxHQUZkLENBQU4sQ0Faa0MsQ0FjUjs7QUFFMUIsV0FBT0YsR0FBUDtBQUNILEdBakJEO0FBa0JIIiwic291cmNlc0NvbnRlbnQiOlsiaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvU2x1ZyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIFN0cmluZy5wcm90b3R5cGUudG9TbHVnID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgc3RyID0gdGhpcy50b1N0cmluZygpO1xuICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgJycpO1xuICAgICAgICBzdHIgPSBzdHIudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAvLyByZW1vdmUgYWNjZW50cywgc3dhcCDDsSBmb3IgbiwgZXRjXG4gICAgICAgIGNvbnN0IGZyb20gPSAnw6DDocOkw6LDqMOpw6vDqsOsw63Dr8Ouw7LDs8O2w7TDucO6w7zDu8Oxw6fCty9fLDo7JztcbiAgICAgICAgY29uc3QgdG8gPSAnYWFhYWVlZWVpaWlpb29vb3V1dXVuYy0tLS0tLSc7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gZnJvbS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoZnJvbS5jaGFyQXQoaSksICdnJyksIHRvLmNoYXJBdChpKSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSgvW15hLXowLTkgLV0vZywgJycpIC8vIHJlbW92ZSBpbnZhbGlkIGNoYXJzXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxzKy9nLCAnLScpIC8vIGNvbGxhcHNlIHdoaXRlc3BhY2UgYW5kIHJlcGxhY2UgYnkgLVxuICAgICAgICAgICAgLnJlcGxhY2UoLy0rL2csICctJyk7IC8vIGNvbGxhcHNlIGRhc2hlc1xuXG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfTtcbn1cbiJdLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvdXRpbC9wcm90b3R5cGVzLmpzLmpzIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/util/prototypes.js\n"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval-source-map devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./resources/js/index.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/dist/mix-manifest.json b/dist/mix-manifest.json index 688202c..f904aa1 100644 --- a/dist/mix-manifest.json +++ b/dist/mix-manifest.json @@ -1,3 +1,3 @@ { - "/form-components.js": "/form-components.js?id=aa42a80457d5af2a5e64" + "/form-components.js": "/form-components.js?id=8cd94f15e0bfe6dd5376" } diff --git a/package-lock.json b/package-lock.json index 1058942..e7297de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4447,9 +4447,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true, "funding": [ { @@ -6072,9 +6072,9 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "node_modules/mkdirp": { @@ -6152,9 +6152,9 @@ } }, "node_modules/node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", + "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==", "dev": true, "engines": { "node": ">= 6.13.0" @@ -12766,9 +12766,9 @@ } }, "follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "dev": true }, "forwarded": { @@ -13956,9 +13956,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mkdirp": { @@ -14021,9 +14021,9 @@ } }, "node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", + "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==", "dev": true }, "node-libs-browser": { diff --git a/resources/js/components/index.js b/resources/js/components/index.js index c459354..e69dff4 100644 --- a/resources/js/components/index.js +++ b/resources/js/components/index.js @@ -1,11 +1,13 @@ import customSelect from './custom-select'; import customSelectOption from './custom-select-option'; +import quill from './quill'; import treeSelect from './tree-select'; import treeSelectOption from './tree-select-option'; document.addEventListener('alpine:init', () => { Alpine.data('customSelect', customSelect); Alpine.data('customSelectOption', customSelectOption); + Alpine.data('quill', quill); Alpine.data('treeSelect', treeSelect); Alpine.data('treeSelectOption', treeSelectOption); }); diff --git a/resources/js/components/quill.js b/resources/js/components/quill.js new file mode 100644 index 0000000..bfbcd78 --- /dev/null +++ b/resources/js/components/quill.js @@ -0,0 +1,52 @@ +export default options => ({ + autofocus: false, + value: '', + theme: 'snow', + readOnly: false, + placeholder: null, + toolbar: {}, + toolbarHandlers: {}, + ...options, + _quill: null, + + init() { + if (typeof Quill !== 'function') { + throw new TypeError(`Quill Editor requires Quill (https://quilljs.com)`); + } + + this._quill = new Quill(this.$refs.quill, this._quillOptions()); + + this._quill.root.innerHTML = this.value; + + this._quill.on('text-change', () => { + this.value = this._quill.root.innerHTML; + + this.$dispatch('quill-input', this.value); + }); + + if (this.autofocus) { + this.$nextTick(() => this._quill.focus()); + } + }, + + _quillOptions() { + const toolbarHandlers = this.toolbarHandlers; + if (toolbarHandlers !== null) { + Object.keys(toolbarHandlers).forEach(key => { + toolbarHandlers[key] = new Function('value', toolbarHandlers[key]); + }); + } + + return { + theme: this.theme, + readOnly: this.readOnly, + placeholder: this.placeholder, + modules: { + toolbar: { + container: this.toolbar, + handlers: toolbarHandlers || {}, + }, + }, + }; + } +}); diff --git a/resources/views/components/rich-text/quill.blade.php b/resources/views/components/rich-text/quill.blade.php new file mode 100644 index 0000000..9dbb286 --- /dev/null +++ b/resources/views/components/rich-text/quill.blade.php @@ -0,0 +1,22 @@ +
$hasErrorsAndShow($name), + ]) +> + +
+
+
+
diff --git a/src/Components/RichText/Quill.php b/src/Components/RichText/Quill.php new file mode 100644 index 0000000..716fb16 --- /dev/null +++ b/src/Components/RichText/Quill.php @@ -0,0 +1,48 @@ +id = $this->id ?? $this->name; + $this->value = $this->name ? old($this->name, $this->value) : $this->value; + $this->showErrors = $showErrors; + + if (is_null($this->quillOptions)) { + $this->quillOptions = QuillOptions::defaults(); + } + } + + public function options(): Js + { + return Js::from([ + 'autofocus' => $this->autofocus, + 'theme' => $this->quillOptions->theme, + 'readOnly' => $this->readonly, + 'placeholder' => $this->placeholder, + 'toolbar' => $this->quillOptions->getToolbar(), + 'toolbarHandlers' => count($this->quillOptions->toolbarHandlers) ? $this->quillOptions->toolbarHandlers : null, + ]); + } +} diff --git a/src/Dto/QuillOptions.php b/src/Dto/QuillOptions.php new file mode 100644 index 0000000..026542a --- /dev/null +++ b/src/Dto/QuillOptions.php @@ -0,0 +1,322 @@ +theme = $theme; + + return $this; + } + + public function toolbar(array $toolbar): self + { + $this->toolbar = $toolbar; + + return $this; + } + + public function usingFonts(bool|array $fonts): self + { + $this->font = $fonts; + + return $this; + } + + public function hideSize(): self + { + $this->size = false; + + return $this; + } + + public function hideBold(): self + { + $this->bold = false; + + return $this; + } + + public function hideItalic(): self + { + $this->italic = false; + + return $this; + } + + public function hideUnderline(): self + { + $this->underline = false; + + return $this; + } + + public function hideStrike(): self + { + $this->strike = false; + + return $this; + } + + public function hideFontStyles(): self + { + $this->bold = false; + $this->italic = false; + $this->underline = false; + $this->strike = false; + + return $this; + } + + public function hideColor(): self + { + $this->color = false; + + return $this; + } + + public function usingColors(array $colors): self + { + $this->color = $colors; + + return $this; + } + + public function hideBackground(): self + { + $this->background = false; + + return $this; + } + + public function usingBackground(array $colors): self + { + $this->background = $colors; + + return $this; + } + + public function hideScripts(): self + { + $this->scripts = false; + + return $this; + } + + public function hideCodeBlock(): self + { + $this->codeBlock = false; + + return $this; + } + + public function hideBlockQuote(): self + { + $this->blockQuote = false; + + return $this; + } + + public function hideOrderedList(): self + { + $this->orderedList = false; + + return $this; + } + + public function hideUnOrderedList(): self + { + $this->unOrderedList = false; + + return $this; + } + + public function hideIndentText(): self + { + $this->indentText = false; + + return $this; + } + + public function hideLists(): self + { + $this->orderedList = false; + $this->unOrderedList = false; + $this->indentText = false; + + return $this; + } + + public function hideLink(): self + { + $this->link = false; + + return $this; + } + + public function showImage(): self + { + $this->image = true; + + return $this; + } + + public function hideClearFormatting(): self + { + $this->clearFormatting = false; + + return $this; + } + + public function withToolbarButton(string $key, $handler, $options = null): self + { + $this->toolbarHandlers[$key] = $handler; + + $button = is_array($options) ? [$key => $options] : $key; + $this->customToolbarButtons[] = $button; + + return $this; + } + + public function getToolbar(): array + { + if (is_array($this->toolbar)) { + return $this->toolbar; + } + + return array_values(array_filter([ + $this->fontToolbar(), + $this->fontStyleToolbar(), + $this->colorToolbar(), + $this->scripts ? [['script' => 'super'], ['script' => 'sub']] : null, + $this->quoteToolbar(), + $this->listToolbar(), + $this->linkToolbar(), + $this->clearFormatting ? ['clean'] : null, + $this->customToolbarButtons, + ])); + } + + private function fontToolbar(): array + { + $toolbar = []; + + if ($this->font === true || is_array($this->font)) { + $toolbar[] = ['font' => is_array($this->font) ? $this->font : []]; + } + + if ($this->size) { + $toolbar[] = ['size' => []]; + } + + return $toolbar; + } + + private function fontStyleToolbar(): array + { + return array_keys(array_filter([ + 'bold' => $this->bold, + 'italic' => $this->italic, + 'underline' => $this->underline, + 'strike' => $this->strike, + ])); + } + + private function colorToolbar(): array + { + $toolbar = []; + + if ($this->color === true || is_array($this->color)) { + $toolbar[] = ['color' => is_array($this->color) ? $this->color : []]; + } + + if ($this->background === true || is_array($this->background)) { + $toolbar[] = ['background' => is_array($this->background) ? $this->background : []]; + } + + return $toolbar; + } + + private function quoteToolbar(): array + { + $toolbar = []; + + if ($this->codeBlock) { + $toolbar[] = 'code-block'; + } + + if ($this->blockQuote) { + $toolbar[] = 'blockquote'; + } + + return $toolbar; + } + + private function listToolbar(): array + { + $toolbar = []; + + if ($this->orderedList) { + $toolbar[] = ['list' => 'ordered']; + } + + if ($this->unOrderedList) { + $toolbar[] = ['list' => 'bullet']; + } + + if ($this->indentText) { + $toolbar[] = ['indent' => '-1']; + $toolbar[] = ['indent' => '+1']; + } + + return $toolbar; + } + + private function linkToolbar(): array + { + $toolbar = []; + + if ($this->link) { + $toolbar[] = 'link'; + } + + if ($this->image) { + $toolbar[] = 'image'; + } + + return $toolbar; + } +}