|
- (self["webpackChunk"] = self["webpackChunk"] || []).push([["adminlte-index"],{
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/app.index.js":
- /*!**********************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/app.index.js ***!
- \**********************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.js */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.js");
- /* harmony import */ var _index_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_index_js__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.scss */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.scss");
-
-
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.js":
- /*!******************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.js ***!
- \******************************************************************************/
- /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
-
- __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js");
-
- __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
-
- __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js");
-
- __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
-
- __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
-
- __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
-
- __webpack_require__(/*! core-js/modules/es.array.index-of.js */ "./node_modules/core-js/modules/es.array.index-of.js");
-
- __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
-
- __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js");
-
- __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
-
- $(document).ready(function () {
- lcCrudIndexToggle();
- lcCrudIndexBatchActions();
- lcCrudIndexInitFilter();
- });
-
- function lcCrudIndexToggle() {
- var toggles = document.querySelectorAll('.custom-switch input[type="checkbox"]');
-
- for (i = 0; i < toggles.length; i++) {
- toggles[i].addEventListener('change', function () {
- var toggle = this;
- var newValue = this.checked;
- var oldValue = !newValue;
- var toggleUrl = this.closest('.custom-switch').dataset.url + "&newValue=" + newValue.toString();
- var toggleRequest = $.ajax({
- type: "POST",
- url: toggleUrl,
- data: {},
- dataType: 'json'
- });
- toggleRequest.done(function (response) {
- SovNotification.add('success', 'La propriété a bien été mise à jour.');
- });
- toggleRequest.fail(function () {
- toggle.checked = oldValue;
- toggle.disabled = true;
- toggle.closest('.checkbox-switch').classList.add('disabled');
- SovNotification.add('error', 'Une erreur est survenue.');
- });
- });
- }
- }
-
- function lcCrudIndexBatchActions() {
- var titleContent = $('.content-header-title > .title').html();
- $(document).on('click', '.deselect-batch-button', function () {
- $(this).closest('.content').find(':checkbox.form-batch-checkbox-all').prop('checked', false).trigger('change');
- });
- $(document).on('change', '.form-batch-checkbox-all', function () {
- $(this).closest('.content').find(':checkbox.form-batch-checkbox').prop('checked', $(this).prop('checked')).trigger('change');
- });
- $(document).on('change', '.form-batch-checkbox', function () {
- var $content = $(this).closest('.content-wrapper');
- var $input = $content.find(':hidden#batch_form_entityIds');
- var ids = $input.val() ? $input.val().split(',') : [];
- var id = $(this).val();
-
- if ($(this).prop('checked')) {
- $(this).closest('tr').addClass('selected-row');
-
- if (-1 === ids.indexOf(id)) {
- ids.push(id);
- }
- } else {
- $(this).closest('tr').removeClass('selected-row');
- ids = ids.filter(function (value) {
- return value !== id;
- });
- $content.find(':checkbox.form-batch-checkbox-all').prop('checked', false);
- }
-
- if (0 === ids.length) {
- $content.find('.global-actions').show();
- $content.find('.batch-actions').hide();
- $content.find('table').removeClass('table-batch');
- } else {
- $content.find('.batch-actions').show();
- $content.find('.global-actions').hide();
- $content.find('table').addClass('table-batch');
- }
-
- $input.val(ids.join(','));
- $content.find('.content-header-title > .title').html(0 === ids.length ? titleContent : '');
- });
- var modalTitle = $('#batch-action-confirmation-title');
- var titleContentWithPlaceholders = modalTitle.text();
- $('[data-action-batch]').on('click', function (event) {
- event.preventDefault();
- event.stopPropagation();
- var $actionElement = $(this);
- var actionName = $actionElement.attr('data-action-name');
- var selectedItems = $('input[type="checkbox"].form-batch-checkbox:checked');
- modalTitle.text(titleContentWithPlaceholders.replace('%action_name%', actionName).replace('%num_items%', selectedItems.length));
- $('#modal-batch-action').modal({
- backdrop: true,
- keyboard: true
- }).off('click', '#modal-batch-action-button').on('click', '#modal-batch-action-button', function () {
- $actionElement.unbind('click');
- $form = document.createElement('form');
- $form.setAttribute('action', $actionElement.attr('data-action-url'));
- $form.setAttribute('method', 'POST');
- $actionNameInput = document.createElement('input');
- $actionNameInput.setAttribute('type', 'hidden');
- $actionNameInput.setAttribute('name', 'batchActionName');
- $actionNameInput.setAttribute('value', $actionElement.attr('data-action-name'));
- $form.appendChild($actionNameInput);
- $entityFqcnInput = document.createElement('input');
- $entityFqcnInput.setAttribute('type', 'hidden');
- $entityFqcnInput.setAttribute('name', 'entityFqcn');
- $entityFqcnInput.setAttribute('value', $actionElement.attr('data-entity-fqcn'));
- $form.appendChild($entityFqcnInput);
- $actionUrlInput = document.createElement('input');
- $actionUrlInput.setAttribute('type', 'hidden');
- $actionUrlInput.setAttribute('name', 'batchActionUrl');
- $actionUrlInput.setAttribute('value', $actionElement.attr('data-action-url'));
- $form.appendChild($actionUrlInput);
- $csrfTokenInput = document.createElement('input');
- $csrfTokenInput.setAttribute('type', 'hidden');
- $csrfTokenInput.setAttribute('name', 'batchActionCsrfToken');
- $csrfTokenInput.setAttribute('value', $actionElement.attr('data-action-csrf-token'));
- $form.appendChild($csrfTokenInput);
- selectedItems.each(function (i, item) {
- $entityIdInput = document.createElement('input');
- $entityIdInput.setAttribute('type', 'hidden');
- $entityIdInput.setAttribute('name', "batchActionEntityIds[".concat(i, "]"));
- $entityIdInput.setAttribute('value', item.value);
- $form.appendChild($entityIdInput);
- });
- document.body.appendChild($form); //modalTitle.text(titleContentWithPlaceholders);
-
- $form.submit();
- });
- });
- }
-
- function lcCrudIndexInitFilter() {
- $('#filters_form_reset').val('');
- $('.lc-reset-filters').on('click', function (e) {
- //e.preventDefault();
- $(this).parents('.table-filters-line').find('select,input').val('').trigger('change');
- $('#filters_form_reset').val('clearAll');
- Tools.log($(this).prop('form'));
- $(this).prop('form').submit(); //$(this).parents('form').submit();
- });
- }
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.scss":
- /*!********************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/index.scss ***!
- \********************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- // extracted by mini-css-extract-plugin
-
-
- /***/ })
-
- },
- /******/ __webpack_require__ => { // webpackRuntimeModules
- /******/ "use strict";
- /******/
- /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
- /******/ __webpack_require__.O(0, ["vendors-node_modules_core-js_internals_export_js","vendors-node_modules_core-js_modules_es_string_replace_js","vendors-node_modules_core-js_modules_es_array_find_js-node_modules_core-js_modules_es_date_to-6fef76","vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-f7c72f"], () => (__webpack_exec__("../LaClicBundle/SovBundle/Resources/assets/app/adminlte/index/app.index.js")));
- /******/ var __webpack_exports__ = __webpack_require__.O();
- /******/ }
- ]);
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9pbmRleC9hcHAuaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9hcHAvYWRtaW5sdGUvaW5kZXgvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9hcHAvYWRtaW5sdGUvaW5kZXgvaW5kZXguc2NzcyJdLCJuYW1lcyI6WyIkIiwiZG9jdW1lbnQiLCJyZWFkeSIsImxjQ3J1ZEluZGV4VG9nZ2xlIiwibGNDcnVkSW5kZXhCYXRjaEFjdGlvbnMiLCJsY0NydWRJbmRleEluaXRGaWx0ZXIiLCJ0b2dnbGVzIiwicXVlcnlTZWxlY3RvckFsbCIsImkiLCJsZW5ndGgiLCJhZGRFdmVudExpc3RlbmVyIiwidG9nZ2xlIiwibmV3VmFsdWUiLCJjaGVja2VkIiwib2xkVmFsdWUiLCJ0b2dnbGVVcmwiLCJjbG9zZXN0IiwiZGF0YXNldCIsInVybCIsInRvU3RyaW5nIiwidG9nZ2xlUmVxdWVzdCIsImFqYXgiLCJ0eXBlIiwiZGF0YSIsImRhdGFUeXBlIiwiZG9uZSIsInJlc3BvbnNlIiwiU292Tm90aWZpY2F0aW9uIiwiYWRkIiwiZmFpbCIsImRpc2FibGVkIiwiY2xhc3NMaXN0IiwidGl0bGVDb250ZW50IiwiaHRtbCIsIm9uIiwiZmluZCIsInByb3AiLCJ0cmlnZ2VyIiwiJGNvbnRlbnQiLCIkaW5wdXQiLCJpZHMiLCJ2YWwiLCJzcGxpdCIsImlkIiwiYWRkQ2xhc3MiLCJpbmRleE9mIiwicHVzaCIsInJlbW92ZUNsYXNzIiwiZmlsdGVyIiwidmFsdWUiLCJzaG93IiwiaGlkZSIsImpvaW4iLCJtb2RhbFRpdGxlIiwidGl0bGVDb250ZW50V2l0aFBsYWNlaG9sZGVycyIsInRleHQiLCJldmVudCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiJGFjdGlvbkVsZW1lbnQiLCJhY3Rpb25OYW1lIiwiYXR0ciIsInNlbGVjdGVkSXRlbXMiLCJyZXBsYWNlIiwibW9kYWwiLCJiYWNrZHJvcCIsImtleWJvYXJkIiwib2ZmIiwidW5iaW5kIiwiJGZvcm0iLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiJGFjdGlvbk5hbWVJbnB1dCIsImFwcGVuZENoaWxkIiwiJGVudGl0eUZxY25JbnB1dCIsIiRhY3Rpb25VcmxJbnB1dCIsIiRjc3JmVG9rZW5JbnB1dCIsImVhY2giLCJpdGVtIiwiJGVudGl0eUlkSW5wdXQiLCJib2R5Iiwic3VibWl0IiwiZSIsInBhcmVudHMiLCJUb29scyIsImxvZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDQ0FBLENBQUMsQ0FBQ0MsUUFBRCxDQUFELENBQVlDLEtBQVosQ0FBa0IsWUFBVztBQUN6QkMsbUJBQWlCO0FBQ2pCQyx5QkFBdUI7QUFDdkJDLHVCQUFxQjtBQUN4QixDQUpEOztBQU1BLFNBQVNGLGlCQUFULEdBQTZCO0FBQ3pCLE1BQU1HLE9BQU8sR0FBR0wsUUFBUSxDQUFDTSxnQkFBVCxDQUEwQix1Q0FBMUIsQ0FBaEI7O0FBQ0EsT0FBS0MsQ0FBQyxHQUFHLENBQVQsRUFBWUEsQ0FBQyxHQUFHRixPQUFPLENBQUNHLE1BQXhCLEVBQWdDRCxDQUFDLEVBQWpDLEVBQXFDO0FBQ2pDRixXQUFPLENBQUNFLENBQUQsQ0FBUCxDQUFXRSxnQkFBWCxDQUE0QixRQUE1QixFQUFzQyxZQUFZO0FBQzlDLFVBQU1DLE1BQU0sR0FBRyxJQUFmO0FBQ0EsVUFBTUMsUUFBUSxHQUFHLEtBQUtDLE9BQXRCO0FBQ0EsVUFBTUMsUUFBUSxHQUFHLENBQUNGLFFBQWxCO0FBQ0EsVUFBTUcsU0FBUyxHQUFHLEtBQUtDLE9BQUwsQ0FBYSxnQkFBYixFQUErQkMsT0FBL0IsQ0FBdUNDLEdBQXZDLEdBQTZDLFlB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LENBTTVDO0FBQ0gsR0FQRDtBQVNILEM7Ozs7Ozs7Ozs7OztBQ3JKRCIsImZpbGUiOiJhZG1pbmx0ZS1pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0ICcuL2luZGV4LmpzJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnIiwiXG5cbiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkge1xuICAgIGxjQ3J1ZEluZGV4VG9nZ2xlKCkgO1xuICAgIGxjQ3J1ZEluZGV4QmF0Y2hBY3Rpb25zKCkgO1xuICAgIGxjQ3J1ZEluZGV4SW5pdEZpbHRlcigpO1xufSkgO1xuXG5mdW5jdGlvbiBsY0NydWRJbmRleFRvZ2dsZSgpIHtcbiAgICBjb25zdCB0b2dnbGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmN1c3RvbS1zd2l0Y2ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJyk7XG4gICAgZm9yIChpID0gMDsgaSA8IHRvZ2dsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdG9nZ2xlc1tpXS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zdCB0b2dnbGUgPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmNoZWNrZWQ7XG4gICAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9ICFuZXdWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHRvZ2dsZVVybCA9IHRoaXMuY2xvc2VzdCgnLmN1c3RvbS1zd2l0Y2gnKS5kYXRhc2V0LnVybCArIFwiJm5ld1ZhbHVlPVwiICsgbmV3VmFsdWUudG9TdHJpbmcoKTtcblxuICAgICAgICAgICAgbGV0IHRvZ2dsZVJlcXVlc3QgPSAkLmFqYXgoe3R5cGU6IFwiUE9TVFwiLCB1cmw6IHRvZ2dsZVVybCwgZGF0YToge30sIGRhdGFUeXBlOiAnanNvbid9KTtcblxuICAgICAgICAgICAgdG9nZ2xlUmVxdWVzdC5kb25lKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIFNvdk5vdGlmaWNhdGlvbi5hZGQoJ3N1Y2Nlc3MnLCAnTGEgcHJvcHJpw6l0w6kgYSBiaWVuIMOpdMOpIG1pc2Ugw6Agam91ci4nKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0b2dnbGVSZXF1ZXN0LmZhaWwoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRvZ2dsZS5jaGVja2VkID0gb2xkVmFsdWU7XG4gICAgICAgICAgICAgICAgdG9nZ2xlLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0b2dnbGUuY2xvc2VzdCgnLmNoZWNrYm94LXN3aXRjaCcpLmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgICAgICAgU292Tm90aWZpY2F0aW9uLmFkZCgnZXJyb3InLCAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUuJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBsY0NydWRJbmRleEJhdGNoQWN0aW9ucygpIHtcbiAgICBjb25zdCB0aXRsZUNvbnRlbnQgPSAkKCcuY29udGVudC1oZWFkZXItdGl0bGUgPiAudGl0bGUnKS5odG1sKCk7XG4gICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgJy5kZXNlbGVjdC1iYXRjaC1idXR0b24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICQodGhpcykuY2xvc2VzdCgnLmNvbnRlbnQnKS5maW5kKCc6Y2hlY2tib3guZm9ybS1iYXRjaC1jaGVja2JveC1hbGwnKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgIH0pO1xuICAgICQoZG9jdW1lbnQpLm9uKCdjaGFuZ2UnLCAnLmZvcm0tYmF0Y2gtY2hlY2tib3gtYWxsJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJy5jb250ZW50JykuZmluZCgnOmNoZWNrYm94LmZvcm0tYmF0Y2gtY2hlY2tib3gnKS5wcm9wKCdjaGVja2VkJywgJCh0aGlzKS5wcm9wKCdjaGVja2VkJykpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgIH0pO1xuICAgICQoZG9jdW1lbnQpLm9uKCdjaGFuZ2UnLCAnLmZvcm0tYmF0Y2gtY2hlY2tib3gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0ICRjb250ZW50ID0gJCh0aGlzKS5jbG9zZXN0KCcuY29udGVudC13cmFwcGVyJyk7XG4gICAgICAgIGxldCAkaW5wdXQgPSAkY29udGVudC5maW5kKCc6aGlkZGVuI2JhdGNoX2Zvcm1fZW50aXR5SWRzJyk7XG4gICAgICAgIGxldCBpZHMgPSAkaW5wdXQudmFsKCkgPyAkaW5wdXQudmFsKCkuc3BsaXQoJywnKSA6IFtdO1xuICAgICAgICBjb25zdCBpZCA9ICQodGhpcykudmFsKCk7XG5cbiAgICAgICAgaWYgKCQodGhpcykucHJvcCgnY2hlY2tlZCcpKSB7XG4gICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykuYWRkQ2xhc3MoJ3NlbGVjdGVkLXJvdycpO1xuICAgICAgICAgICAgaWYgKC0xID09PSBpZHMuaW5kZXhPZihpZCkpIHtcbiAgICAgICAgICAgICAgICBpZHMucHVzaChpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkLXJvdycpO1xuICAgICAgICAgICAgaWRzID0gaWRzLmZpbHRlcihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IGlkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICRjb250ZW50LmZpbmQoJzpjaGVja2JveC5mb3JtLWJhdGNoLWNoZWNrYm94LWFsbCcpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoMCA9PT0gaWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgJGNvbnRlbnQuZmluZCgnLmdsb2JhbC1hY3Rpb25zJykuc2hvdygpO1xuICAgICAgICAgICAgJGNvbnRlbnQuZmluZCgnLmJhdGNoLWFjdGlvbnMnKS5oaWRlKCk7XG4gICAgICAgICAgICAkY29udGVudC5maW5kKCd0YWJsZScpLnJlbW92ZUNsYXNzKCd0YWJsZS1iYXRjaCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJGNvbnRlbnQuZmluZCgnLmJhdGNoLWFjdGlvbnMnKS5zaG93KCk7XG4gICAgICAgICAgICAkY29udGVudC5maW5kKCcuZ2xvYmFsLWFjdGlvbnMnKS5oaWRlKCk7XG4gICAgICAgICAgICAkY29udGVudC5maW5kKCd0YWJsZScpLmFkZENsYXNzKCd0YWJsZS1iYXRjaCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJGlucHV0LnZhbChpZHMuam9pbignLCcpKTtcbiAgICAgICAgJGNvbnRlbnQuZmluZCgnLmNvbnRlbnQtaGVhZGVyLXRpdGxlID4gLnRpdGxlJykuaHRtbCgwID09PSBpZHMubGVuZ3RoID8gdGl0bGVDb250ZW50IDogJycpO1xuICAgIH0pO1xuXG4gICAgbGV0IG1vZGFsVGl0bGUgPSAkKCcjYmF0Y2gtYWN0aW9uLWNvbmZpcm1hdGlvbi10aXRsZScpO1xuICAgIGNvbnN0IHRpdGxlQ29udGVudFdpdGhQbGFjZWhvbGRlcnMgPSBtb2RhbFRpdGxlLnRleHQoKTtcblxuICAgICQoJ1tkYXRhLWFjdGlvbi1iYXRjaF0nKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGxldCAkYWN0aW9uRWxlbWVudCA9ICQodGhpcyk7XG5cbiAgICAgICAgY29uc3QgYWN0aW9uTmFtZSA9ICRhY3Rpb25FbGVtZW50LmF0dHIoJ2RhdGEtYWN0aW9uLW5hbWUnKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9ICQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXS5mb3JtLWJhdGNoLWNoZWNrYm94OmNoZWNrZWQnKTtcbiAgICAgICAgbW9kYWxUaXRsZS50ZXh0KHRpdGxlQ29udGVudFdpdGhQbGFjZWhvbGRlcnNcbiAgICAgICAgICAgIC5yZXBsYWNlKCclYWN0aW9uX25hbWUlJywgYWN0aW9uTmFtZSlcbiAgICAgICAgICAgIC5yZXBsYWNlKCclbnVtX2l0ZW1zJScsIHNlbGVjdGVkSXRlbXMubGVuZ3RoKSk7XG5cbiAgICAgICAgJCgnI21vZGFsLWJhdGNoLWFjdGlvbicpLm1vZGFsKHtiYWNrZHJvcDogdHJ1ZSwga2V5Ym9hcmQ6IHRydWV9KVxuICAgICAgICAgICAgLm9mZignY2xpY2snLCAnI21vZGFsLWJhdGNoLWFjdGlvbi1idXR0b24nKVxuICAgICAgICAgICAgLm9uKCdjbGljaycsICcjbW9kYWwtYmF0Y2gtYWN0aW9uLWJ1dHRvbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAkYWN0aW9uRWxlbWVudC51bmJpbmQoJ2NsaWNrJyk7XG5cbiAgICAgICAgICAgICAgICAkZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTtcbiAgICAgICAgICAgICAgICAkZm9ybS5zZXRBdHRyaWJ1dGUoJ2FjdGlvbicsICRhY3Rpb25FbGVtZW50LmF0dHIoJ2RhdGEtYWN0aW9uLXVybCcpKTtcbiAgICAgICAgICAgICAgICAkZm9ybS5zZXRBdHRyaWJ1dGUoJ21ldGhvZCcsICdQT1NUJyk7XG5cbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsICdiYXRjaEFjdGlvbk5hbWUnKTtcbiAgICAgICAgICAgICAgICAkYWN0aW9uTmFtZUlucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCAkYWN0aW9uRWxlbWVudC5hdHRyKCdkYXRhLWFjdGlvbi1uYW1lJykpO1xuICAgICAgICAgICAgICAgICRmb3JtLmFwcGVuZENoaWxkKCRhY3Rpb25OYW1lSW5wdXQpO1xuXG4gICAgICAgICAgICAgICAgJGVudGl0eUZxY25JbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgICAgICAgICAgJGVudGl0eUZxY25JbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgJGVudGl0eUZxY25JbnB1dC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnZW50aXR5RnFjbicpO1xuICAgICAgICAgICAgICAgICRlbnRpdHlGcWNuSW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsICRhY3Rpb25FbGVtZW50LmF0dHIoJ2RhdGEtZW50aXR5LWZxY24nKSk7XG4gICAgICAgICAgICAgICAgJGZvcm0uYXBwZW5kQ2hpbGQoJGVudGl0eUZxY25JbnB1dCk7XG5cbiAgICAgICAgICAgICAgICAkYWN0aW9uVXJsSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgICAgICRhY3Rpb25VcmxJbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgJGFjdGlvblVybElucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsICdiYXRjaEFjdGlvblVybCcpO1xuICAgICAgICAgICAgICAgICRhY3Rpb25VcmxJbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJGFjdGlvbkVsZW1lbnQuYXR0cignZGF0YS1hY3Rpb24tdXJsJykpO1xuICAgICAgICAgICAgICAgICRmb3JtLmFwcGVuZENoaWxkKCRhY3Rpb25VcmxJbnB1dCk7XG5cbiAgICAgICAgICAgICAgICAkY3NyZlRva2VuSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgICAgICAgICRjc3JmVG9rZW5JbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgJGNzcmZUb2tlbklucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsICdiYXRjaEFjdGlvbkNzcmZUb2tlbicpO1xuICAgICAgICAgICAgICAgICRjc3JmVG9rZW5JbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJGFjdGlvbkVsZW1lbnQuYXR0cignZGF0YS1hY3Rpb24tY3NyZi10b2tlbicpKTtcbiAgICAgICAgICAgICAgICAkZm9ybS5hcHBlbmRDaGlsZCgkY3NyZlRva2VuSW5wdXQpO1xuXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5lYWNoKChpLCBpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICRlbnRpdHlJZElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgJGVudGl0eUlkSW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgICAgICAkZW50aXR5SWRJbnB1dC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBgYmF0Y2hBY3Rpb25FbnRpdHlJZHNbJHtpfV1gKTtcbiAgICAgICAgICAgICAgICAgICAgJGVudGl0eUlkSW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIGl0ZW0udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAkZm9ybS5hcHBlbmRDaGlsZCgkZW50aXR5SWRJbnB1dCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKCRmb3JtKTtcblxuICAgICAgICAgICAgICAgIC8vbW9kYWxUaXRsZS50ZXh0KHRpdGxlQ29udGVudFdpdGhQbGFjZWhvbGRlcnMpO1xuICAgICAgICAgICAgICAgICRmb3JtLnN1Ym1pdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGxjQ3J1ZEluZGV4SW5pdEZpbHRlcigpIHtcbiAgICAkKCcjZmlsdGVyc19mb3JtX3Jlc2V0JykudmFsKCcnKTtcblxuICAgICQoJy5sYy1yZXNldC1maWx0ZXJzJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgLy9lLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICQodGhpcykucGFyZW50cygnLnRhYmxlLWZpbHRlcnMtbGluZScpLmZpbmQoJ3NlbGVjdCxpbnB1dCcpLnZhbCgnJykudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICQoJyNmaWx0ZXJzX2Zvcm1fcmVzZXQnKS52YWwoJ2NsZWFyQWxsJyk7XG4gICAgICAgIFRvb2xzLmxvZygkKHRoaXMpLnByb3AoJ2Zvcm0nKSk7XG4gICAgICAgICQodGhpcykucHJvcCgnZm9ybScpLnN1Ym1pdCgpO1xuICAgICAgICAvLyQodGhpcykucGFyZW50cygnZm9ybScpLnN1Ym1pdCgpO1xuICAgIH0pXG5cbn0iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiXSwic291cmNlUm9vdCI6IiJ9
|