You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

215 lines
21KB

  1. (self["webpackChunk"] = self["webpackChunk"] || []).push([["app-frontend"],{
  2. /***/ "./assets/app/frontend/app/app.common.js":
  3. /*!***********************************************!*\
  4. !*** ./assets/app/frontend/app/app.common.js ***!
  5. \***********************************************/
  6. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  7. "use strict";
  8. __webpack_require__.r(__webpack_exports__);
  9. /* harmony import */ var _app_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app.scss */ "./assets/app/frontend/app/app.scss");
  10. /* harmony import */ var _app_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app.js */ "./assets/app/frontend/app/app.js");
  11. /*
  12. * Welcome to your app's main JavaScript file!
  13. *
  14. * We recommend including the built version of this JavaScript file
  15. * (and its CSS file) in your base layout (base.html.twig).
  16. */
  17. // any CSS you import will output into a single css file (app.css in this case)
  18. // start the Stimulus application
  19. //import './bootstrap';
  20. /***/ }),
  21. /***/ "./assets/app/frontend/app/app.js":
  22. /*!****************************************!*\
  23. !*** ./assets/app/frontend/app/app.js ***!
  24. \****************************************/
  25. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  26. "use strict";
  27. __webpack_require__.r(__webpack_exports__);
  28. /* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js");
  29. /* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(bootstrap__WEBPACK_IMPORTED_MODULE_0__);
  30. /* harmony import */ var _js_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../js/script */ "./assets/app/frontend/js/script.js");
  31. /* harmony import */ var _js_script__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_js_script__WEBPACK_IMPORTED_MODULE_1__);
  32. // import "../js/bulle"; // importer dans carto-int.html.twig
  33. /***/ }),
  34. /***/ "./assets/app/frontend/js/script.js":
  35. /*!******************************************!*\
  36. !*** ./assets/app/frontend/js/script.js ***!
  37. \******************************************/
  38. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  39. __webpack_require__(/*! core-js/modules/es.array.for-each.js */ "./node_modules/core-js/modules/es.array.for-each.js");
  40. __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
  41. __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
  42. __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
  43. __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
  44. $(document).ready(function () {
  45. scrollMenu();
  46. menuToggle();
  47. closeMenu();
  48. manageFormContact();
  49. manageFormSearch();
  50. manageFormIndiv();
  51. initialisePopovers();
  52. });
  53. function initialisePopovers() {
  54. $('[data-toggle="popover"]').popover({
  55. html: true,
  56. container: '.map',
  57. placement: 'top'
  58. });
  59. }
  60. function manageFormIndiv() {
  61. document.querySelectorAll('.add_item_link').forEach(function (btn) {
  62. return btn.addEventListener("click", addFormToCollection);
  63. });
  64. }
  65. var addFormToCollection = function addFormToCollection(e) {
  66. var collectionHolder = document.querySelector('.' + e.currentTarget.dataset.collectionHolderClass);
  67. var item = document.createElement('li');
  68. item.innerHTML = collectionHolder.dataset.prototype.replace(/__name__/g, collectionHolder.dataset.index);
  69. collectionHolder.appendChild(item);
  70. collectionHolder.dataset.index++;
  71. if (collectionHolder.dataset.index >= 6) {
  72. e.currentTarget.style.visibility = 'hidden';
  73. } // add a delete link to the new form
  74. addFormDeleteLink(item, e.currentTarget);
  75. };
  76. var addFormDeleteLink = function addFormDeleteLink(formLi, currentTarget) {
  77. var collectionHolder = document.querySelector('.' + currentTarget.dataset.collectionHolderClass);
  78. var removeFormButton = document.createElement('button');
  79. removeFormButton.classList.add('button-green', 'button-remove');
  80. removeFormButton.innerText = 'Supprimer';
  81. formLi.append(removeFormButton);
  82. removeFormButton.addEventListener('click', function (e) {
  83. collectionHolder.dataset.index--;
  84. if (collectionHolder.dataset.index <= 6) {
  85. currentTarget.style.visibility = 'visible';
  86. }
  87. e.preventDefault();
  88. formLi.remove();
  89. });
  90. };
  91. function menuToggle() {
  92. var box = $('.menu-content');
  93. var button = $('.toggle');
  94. button.on('click', function () {
  95. box.toggle('slow');
  96. });
  97. }
  98. function closeMenu() {
  99. var box = $('.menu-content');
  100. $('.row-menu a').on('click', function () {
  101. box.toggle('slow');
  102. });
  103. }
  104. function scrollMenu() {
  105. $('a[href*="#"]:not([href="#"])').click(function () {
  106. var target = $(this.hash);
  107. $('html,body').stop().animate({
  108. scrollTop: target.offset().top - 122
  109. }, 'linear');
  110. });
  111. if (location.hash) {
  112. var id = $(location.hash);
  113. $('html,body').animate({
  114. scrollTop: id.offset().top - 122
  115. }, 'linear');
  116. }
  117. }
  118. function manageFormSearch() {
  119. $(".dropdown-search").on("change", "input[type='checkbox']", function () {
  120. $(this).closest("li").toggleClass("active", this.checked);
  121. });
  122. $(document).on('click', '.allow-focus', function (e) {
  123. e.stopPropagation();
  124. });
  125. $('.pagination a').click(function (e) {
  126. console.log(this.href.split('page=')[1]);
  127. $('.hidden-page').val(this.href.split('page=')[1]);
  128. $('.search-button').click();
  129. return false;
  130. });
  131. }
  132. function manageFormContact() {
  133. $('#contact_lccap').val('blop');
  134. $('#contact-form-btn').on('click', function () {
  135. if (checkFormValidity('#contact-form')) {
  136. $('#contact-form').fadeOut(200);
  137. $form = $('#contact-form');
  138. $.ajax({
  139. url: $form.prop('action'),
  140. method: $form.prop('method'),
  141. data: $form.serialize(),
  142. dataType: "json",
  143. success: function success(response) {
  144. $('#contact-form').html('<p class="success-post">Merci pour votre message, nous vous r&eacute;pondrons dans les plus brefs d&eacute;lais.</p>');
  145. $('#contact-form').fadeIn(500);
  146. }
  147. });
  148. }
  149. });
  150. }
  151. function checkFormValidity(formId) {
  152. if (!document.getElementById(formId.substr(1)).checkValidity()) {
  153. document.getElementById(formId.substr(1)).reportValidity();
  154. return false;
  155. } else {
  156. return true;
  157. }
  158. }
  159. /***/ }),
  160. /***/ "./assets/app/frontend/app/app.scss":
  161. /*!******************************************!*\
  162. !*** ./assets/app/frontend/app/app.scss ***!
  163. \******************************************/
  164. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  165. "use strict";
  166. __webpack_require__.r(__webpack_exports__);
  167. // extracted by mini-css-extract-plugin
  168. /***/ })
  169. },
  170. /******/ __webpack_require__ => { // webpackRuntimeModules
  171. /******/ "use strict";
  172. /******/
  173. /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
  174. /******/ __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_jquery_src_jquery_js","vendors-node_modules_core-js_modules_es_string_split_js-node_modules_popper_js_dist_esm_popper_js","vendors-node_modules_bootstrap_dist_js_bootstrap_js-node_modules_core-js_internals_object-def-7fa577"], () => (__webpack_exec__("./assets/app/frontend/app/app.common.js")));
  175. /******/ var __webpack_exports__ = __webpack_require__.O();
  176. /******/ }
  177. ]);
  178. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Zyb250ZW5kL2FwcC9hcHAuY29tbW9uLmpzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAvZnJvbnRlbmQvYXBwL2FwcC5qcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Zyb250ZW5kL2pzL3NjcmlwdC5qcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwL2Zyb250ZW5kL2FwcC9hcHAuc2NzcyJdLCJuYW1lcyI6WyIkIiwiZG9jdW1lbnQiLCJyZWFkeSIsInNjcm9sbE1lbnUiLCJtZW51VG9nZ2xlIiwiY2xvc2VNZW51IiwibWFuYWdlRm9ybUNvbnRhY3QiLCJtYW5hZ2VGb3JtU2VhcmNoIiwibWFuYWdlRm9ybUluZGl2IiwiaW5pdGlhbGlzZVBvcG92ZXJzIiwicG9wb3ZlciIsImh0bWwiLCJjb250YWluZXIiLCJwbGFjZW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsImJ0biIsImFkZEV2ZW50TGlzdGVuZXIiLCJhZGRGb3JtVG9Db2xsZWN0aW9uIiwiZSIsImNvbGxlY3Rpb25Ib2xkZXIiLCJxdWVyeVNlbGVjdG9yIiwiY3VycmVudFRhcmdldCIsImRhdGFzZXQiLCJjb2xsZWN0aW9uSG9sZGVyQ2xhc3MiLCJpdGVtIiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsInByb3RvdHlwZSIsInJlcGxhY2UiLCJpbmRleCIsImFwcGVuZENoaWxkIiwic3R5bGUiLCJ2aXNpYmlsaXR5IiwiYWRkRm9ybURlbGV0ZUxpbmsiLCJmb3JtTGkiLCJyZW1vdmVGb3JtQnV0dG9uIiwiY2xhc3NMaXN0IiwiYWRkIiwiaW5uZXJUZXh0IiwiYXBwZW5kIiwicHJldmVudERlZmF1bHQiLCJyZW1vdmUiLCJib3giLCJidXR0b24iLCJvbiIsInRvZ2dsZSIsImNsaWNrIiwidGFyZ2V0IiwiaGFzaCIsInN0b3AiLCJhbmltYXRlIiwic2Nyb2xsVG9wIiwib2Zmc2V0IiwidG9wIiwibG9jYXRpb24iLCJpZCIsImNsb3Nlc3QiLCJ0b2dnbGVDbGFzcyIsImNoZWNrZWQiLCJzdG9wUHJvcGFnYXRpb24iLCJjb25zb2xlIiwibG9nIiwiaHJlZiIsInNwbGl0IiwidmFsIiwiY2hlY2tGb3JtVmFsaWRpdHkiLCJmYWRlT3V0IiwiJGZvcm0iLCJhamF4IiwidXJsIiwicHJvcCIsIm1ldGhvZCIsImRhdGEiLCJzZXJpYWxpemUiLCJkYXRhVHlwZSIsInN1Y2Nlc3MiLCJyZXNwb25zZSIsImZhZGVJbiIsImZvcm1JZCIsImdldEVsZW1lbnRCeUlkIiwic3Vic3RyIiwiY2hlY2tWYWxpZGl0eSIsInJlcG9ydFZhbGlkaXR5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0NBR0E7QUFDQSx1Qjs7Ozs7Ozs7Ozs7Ozs7OztBQ1pBO0NBR0EsNkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDSEFBLENBQUMsQ0FBQ0MsUUFBRCxDQUFELENBQVlDLEtBQVosQ0FBa0IsWUFBWTtBQUMxQkMsWUFBVTtBQUNWQyxZQUFVO0FBQ1ZDLFdBQVM7QUFDVEMsbUJBQWlCO0FBQ2pCQyxrQkFBZ0I7QUFDaEJDLGlCQUFlO0FBQ2ZDLG9CQUFrQjtBQUNyQixDQVJEOztBQVVBLFNBQVNBLGtCQUFULEdBQThCO0FBQzFCVCxHQUFDLENBQUMseUJBQUQsQ0FBRCxDQUE2QlUsT0FBN0IsQ0FBcUM7QUFDakNDLFFBQUksRUFBRSxJQUQyQjtBQUVqQ0MsYUFBUyxFQUFFLE1BRnNCO0FBR2pDQyxhQUFTLEVBQUU7QUFIc0IsR0FBckM7QUFLSDs7QUFFRCxTQUFTTCxlQUFULEdBQTJCO0FBQ3ZCUCxVQUFRLENBQ0hhLGdCQURMLENBQ3NCLGdCQUR0QixFQUVLQyxPQUZMLENBRWEsVUFBQUMsR0FBRztBQUFBLFdBQUlBLEdBQUcsQ0FBQ0MsZ0JBQUosQ0FBcUIsT0FBckIsRUFBOEJDLG1CQUE5QixDQUFKO0FBQUEsR0FGaEI7QUFHSDs7QUFFRCxJQUFNQSxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQXNCLENBQUNDLENBQUQsRUFBTztBQUMvQixNQUFNQyxnQkFBZ0IsR0FBR25CLFFBQVEsQ0FBQ29CLGFBQVQsQ0FBdUIsTUFBTUYsQ0FBQyxDQUFDRyxhQUFGLENBQWdCQyxPQUFoQixDQUF3QkMscUJBQXJELENBQXpCO0FBQ0EsTUFBTUMsSUFBSSxHQUFHeEIsUUFBUSxDQUFDeUIsYUFBVCxDQUF1QixJQUF2QixDQUFiO0FBQ0FELE1BQUksQ0FBQ0UsU0FBTCxHQUFpQlAsZ0JBQWdCLENBQzVCRyxPQURZLENBRVpLLFNBRlksQ0FHWkMsT0FIWSxDQUlULFdBSlMsRUFLVFQsZ0JBQWdCLENBQUNHLE9BQWpCLENBQXlCTyxLQUxoQixDQUFqQjtBQVFBVixrQkFBZ0IsQ0FBQ1csV0FBakIsQ0FBNkJOLElBQTdCO0FBRUFMLGtCQUFnQixDQUFDRyxPQUFqQixDQUF5Qk8sS0FBekI7O0FBRUEsTUFBSVYsZ0JBQWdCLENBQUNHLE9BQWpCLENBQXlCTyxLQUF6QixJQUFrQyxDQUF0QyxFQUF5QztBQUNyQ1gsS0FBQyxDQUFDRyxhQUFGLENBQWdCVSxLQUFoQixDQUFzQkMsVUFBdEIsR0FBbUMsUUFBbkM7QUFDSCxHQWpCOEIsQ0FrQi9COzs7QUFDQUMsbUJBQWlCLENBQUNULElBQUQsRUFBT04sQ0FBQyxDQUFDRyxhQUFULENBQWpCO0FBQ0gsQ0FwQkQ7O0FBc0JBLElBQU1ZLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsTUFBRCxFQUFTYixhQUFULEVBQTJCO0FBQ2pELE1BQU1GLGdCQUFnQixHQUFHbkIsUUFBUSxDQUFDb0IsYUFBVCxDQUF1QixNQUFNQyxhQUFhLENBQUNDLE9BQWQsQ0FBc0JDLHFCQUFuRCxDQUF6QjtBQUNBLE1BQU1ZLGdCQUFnQixHQUFHbkMsUUFBUSxDQUFDeUIsYUFBVCxDQUF1QixRQUF2QixDQUF6QjtBQUNBVSxrQkFBZ0IsQ0FBQ0MsU0FBakIsQ0FBMkJDLEdBQTNCLENBQStCLGNBQS9CLEVBQStDLGVBQS9DO0FBQ0FGLGtCQUFnQixDQUFDRyxTQUFqQixHQUE2QixXQUE3QjtBQUVBSixRQUFNLENBQUNLLE1BQVAsQ0FBY0osZ0JBQWQ7QUFFQUEsa0JBQWdCLENBQUNuQixnQkFBakIsQ0FBa0MsT0FBbEMsRUFBMkMsVUFBQ0UsQ0FBRCxFQUFPO0FBQzlDQyxvQkFBZ0IsQ0FBQ0csT0FBakIsQ0FBeUJPLEtBQXpCOztBQUNBLFFBQUlWLGdCQUFnQixDQUFDRyxPQUFqQixDQUF5Qk8sS0FBekIsSUFBa0MsQ0FBdEMsRUFBeUM7QUFDckNSLG1CQUFhLENBQUNVLEtBQWQsQ0FBb0JDLFVBQXBCLEdBQWlDLFNBQWpDO0FBQ0g7O0FBQ0RkLEtBQUMsQ0FBQ3NCLGNBQUY7QUFDQU4sVUFBTSxDQUFDTyxNQUFQO0FBQ0gsR0FQRDtBQVFILENBaEJEOztBQWtCQSxTQUFTdEMsVUFBVCxHQUFzQjtBQUNsQixNQUFJdUMsR0FBRyxHQUFHM0MsQ0FBQyxDQUFDLGVBQUQsQ0FBWDtBQUNBLE1BQUk0QyxNQUFNLEdBQUc1QyxDQUFDLENBQUMsU0FBRCxDQUFkO0FBQ0E0QyxRQUFNLENBQUNDLEVBQVAsQ0FBVSxPQUFWLEVBQW1CLFlBQVk7QUFDM0JGLE9BQUcsQ0FBQ0csTUFBSixDQUFXLE1BQVg7QUFDSCxHQUZEO0FBR0g7O0FBRUQsU0FBU3pDLFNBQVQsR0FBcUI7QUFDakIsTUFBSXNDLEdBQUcsR0FBRzNDLENBQUMsQ0FBQyxlQUFELENBQVg7QUFDQUEsR0FBQyxDQUFDLGFBQUQsQ0FBRCxDQUFpQjZDLEVBQWpCLENBQW9CLE9BQXBCLEVBQTZCLFlBQVk7QUFDckNGLE9BQUcsQ0FBQ0csTUFBSixDQUFXLE1BQVg7QUFDSCxHQUZEO0FBR0g7O0FBRUQsU0FBUzNDLFVBQVQsR0FBc0I7QUFDbEJILEdBQUMsQ0FBQyw4QkFBRCxDQUFELENBQWtDK0MsS0FBbEMsQ0FBd0MsWUFBWTtBQUNoRCxRQUFJQyxNQUFNLEdBQUdoRCxDQUFDLENBQUMsS0FBS2lELElBQU4sQ0FBZDtBQUNBakQsS0FBQyxDQUFDLFdBQUQsQ0FBRCxDQUFla0QsSUFBZixHQUFzQkMsT0FBdEIsQ0FBOEI7QUFDMUJDLGVBQVMsRUFBRUosTUFBTSxDQUFDSyxNQUFQLEdBQWdCQyxHQUFoQixHQUFzQjtBQURQLEtBQTlCLEVBRUcsUUFGSDtBQUdILEdBTEQ7O0FBTUEsTUFBSUMsUUFBUSxDQUFDTixJQUFiLEVBQW1CO0FBQ2YsUUFBSU8sRUFBRSxHQUFHeEQsQ0FBQyxDQUFDdUQsUUFBUSxDQUFDTixJQUFWLENBQVY7QUFDQWpELEtBQUMsQ0FBQyxXQUFELENBQUQsQ0FBZW1ELE9BQWYsQ0FBdUI7QUFBQ0MsZUFBUyxFQUFFSSxFQUFFLENBQUNILE1BQUgsR0FBWUMsR0FBWixHQUFrQjtBQUE5QixLQUF2QixFQUEyRCxRQUEzRDtBQUNIO0FBQ0o7O0FBRUQsU0FBUy9DLGdCQUFULEdBQTRCO0FBQ3hCUCxHQUFDLENBQUMsa0JBQUQsQ0FBRCxDQUFzQjZDLEVBQXRCLENBQXlCLFFBQXpCLEVBQW1DLHdCQUFuQyxFQUE2RCxZQUFZO0FBQ3JFN0MsS0FBQyxDQUFDLElBQUQsQ0FBRCxDQUFReUQsT0FBUixDQUFnQixJQUFoQixFQUFzQkMsV0FBdEIsQ0FBa0MsUUFBbEMsRUFBNEMsS0FBS0MsT0FBakQ7QUFDSCxHQUZEO0FBSUEzRCxHQUFDLENBQUNDLFFBQUQsQ0FBRCxDQUFZNEMsRUFBWixDQUFlLE9BQWYsRUFBd0IsY0FBeEIsRUFBd0MsVUFBVTFCLENBQVYsRUFBYTtBQUNqREEsS0FBQyxDQUFDeUMsZUFBRjtBQUNILEdBRkQ7QUFJQTVELEdBQUMsQ0FBQyxlQUFELENBQUQsQ0FBbUIrQyxLQUFuQixDQUF5QixVQUFVNUIsQ0FBVixFQUFhO0FBQ2xDMEMsV0FBTyxDQUFDQyxHQUFSLENBQVksS0FBS0MsSUFBTCxDQUFVQyxLQUFWLENBQWdCLE9BQWhCLEVBQXlCLENBQXpCLENBQVo7QUFDQWhFLEtBQUMsQ0FBQyxjQUFELENBQUQsQ0FBa0JpRSxHQUFsQixDQUFzQixLQUFLRixJQUFMLENBQVVDLEtBQVYsQ0FBZ0IsT0FBaEIsRUFBeUIsQ0FBekIsQ0FBdEI7QUFDQWhFLEtBQUMsQ0FBQyxnQkFBRCxDQUFELENBQW9CK0MsS0FBcEI7QUFDQSxXQUFPLEtBQVA7QUFDSCxHQUxEO0FBTUg7O0FBRUQsU0FBU3pDLGlCQUFULEdBQTZCO0FBQ3pCTixHQUFDLENBQUMsZ0JBQUQsQ0FBRCxDQUFvQmlFLEdBQXBCLENBQXdCLE1BQXhCO0FBQ0FqRSxHQUFDLENBQUMsbUJBQUQsQ0FBRCxDQUF1QjZDLEVBQXZCLENBQTBCLE9BQTFCLEVBQW1DLFlBQVk7QUFDM0MsUUFBSXFCLGlCQUFpQixDQUFDLGVBQUQsQ0FBckIsRUFBd0M7QUFDcENsRSxPQUFDLENBQUMsZUFBRCxDQUFELENBQW1CbUUsT0FBbkIsQ0FBMkIsR0FBM0I7QUFDQUMsV0FBSyxHQUFHcEUsQ0FBQyxDQUFDLGVBQUQsQ0FBVDtBQUNBQSxPQUFDLENBQUNxRSxJQUFGLENBQU87QUFDSEMsV0FBRyxFQUFFRixLQUFLLENBQUNHLElBQU4sQ0FBVyxRQUFYLENBREY7QUFFSEMsY0FBTSxFQUFFSixLQUFLLENBQUNHLElBQU4sQ0FBVyxRQUFYLENBRkw7QUFHSEUsWUFBSSxFQUFFTCxLQUFLLENBQUNNLFNBQU4sRUFISDtBQUlIQyxnQkFBUSxFQUFFLE1BSlA7QUFLSEMsZUFBTyxFQUFFLGlCQUFVQyxRQUFWLEVBQW9CO0FBQ3pCN0UsV0FBQyxDQUFDLGVBQUQsQ0FBRCxDQUFtQlcsSUFBbkIsQ0FBd0Isc0hBQXhCO0FBQ0FYLFdBQUMsQ0FBQyxlQUFELENBQUQsQ0FBbUI4RSxNQUFuQixDQUEwQixHQUExQjtBQUNIO0FBUkUsT0FBUDtBQVVIO0FBQ0osR0FmRDtBQWdCSDs7QUFFRCxTQUFTWixpQkFBVCxDQUEyQmEsTUFBM0IsRUFBbUM7QUFDL0IsTUFBSSxDQUFDOUUsUUFBUSxDQUFDK0UsY0FBVCxDQUF3QkQsTUFBTSxDQUFDRSxNQUFQLENBQWMsQ0FBZCxDQUF4QixFQUEwQ0MsYUFBMUMsRUFBTCxFQUFnRTtBQUM1RGpGLFlBQVEsQ0FBQytFLGNBQVQsQ0FBd0JELE1BQU0sQ0FBQ0UsTUFBUCxDQUFjLENBQWQsQ0FBeEIsRUFBMENFLGNBQTFDO0FBQ0EsV0FBTyxLQUFQO0FBQ0gsR0FIRCxNQUdPO0FBQ0gsV0FBTyxJQUFQO0FBQ0g7QUFDSixDOzs7Ozs7Ozs7Ozs7QUN4SUQiLCJmaWxlIjoiYXBwLWZyb250ZW5kLjIxMjU0M2RkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFdlbGNvbWUgdG8geW91ciBhcHAncyBtYWluIEphdmFTY3JpcHQgZmlsZSFcbiAqXG4gKiBXZSByZWNvbW1lbmQgaW5jbHVkaW5nIHRoZSBidWlsdCB2ZXJzaW9uIG9mIHRoaXMgSmF2YVNjcmlwdCBmaWxlXG4gKiAoYW5kIGl0cyBDU1MgZmlsZSkgaW4geW91ciBiYXNlIGxheW91dCAoYmFzZS5odG1sLnR3aWcpLlxuICovXG5cbi8vIGFueSBDU1MgeW91IGltcG9ydCB3aWxsIG91dHB1dCBpbnRvIGEgc2luZ2xlIGNzcyBmaWxlIChhcHAuY3NzIGluIHRoaXMgY2FzZSlcbmltcG9ydCAnLi9hcHAuc2Nzcyc7XG5pbXBvcnQgJy4vYXBwLmpzJztcblxuLy8gc3RhcnQgdGhlIFN0aW11bHVzIGFwcGxpY2F0aW9uXG4vL2ltcG9ydCAnLi9ib290c3RyYXAnOyIsImltcG9ydCAnYm9vdHN0cmFwJztcblxuaW1wb3J0IFwiLi4vanMvc2NyaXB0XCI7XG4vLyBpbXBvcnQgXCIuLi9qcy9idWxsZVwiOyAvLyBpbXBvcnRlciBkYW5zIGNhcnRvLWludC5odG1sLnR3aWdcbiIsIiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHtcbiAgICBzY3JvbGxNZW51KCk7XG4gICAgbWVudVRvZ2dsZSgpO1xuICAgIGNsb3NlTWVudSgpO1xuICAgIG1hbmFnZUZvcm1Db250YWN0KCk7XG4gICAgbWFuYWdlRm9ybVNlYXJjaCgpO1xuICAgIG1hbmFnZUZvcm1JbmRpdigpO1xuICAgIGluaXRpYWxpc2VQb3BvdmVycygpO1xufSk7XG5cbmZ1bmN0aW9uIGluaXRpYWxpc2VQb3BvdmVycygpIHtcbiAgICAkKCdbZGF0YS10b2dnbGU9XCJwb3BvdmVyXCJdJykucG9wb3Zlcih7XG4gICAgICAgIGh0bWw6IHRydWUsXG4gICAgICAgIGNvbnRhaW5lcjogJy5tYXAnLFxuICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBtYW5hZ2VGb3JtSW5kaXYoKSB7XG4gICAgZG9jdW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5hZGRfaXRlbV9saW5rJylcbiAgICAgICAgLmZvckVhY2goYnRuID0+IGJ0bi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgYWRkRm9ybVRvQ29sbGVjdGlvbikpO1xufVxuXG5jb25zdCBhZGRGb3JtVG9Db2xsZWN0aW9uID0gKGUpID0+IHtcbiAgICBjb25zdCBjb2xsZWN0aW9uSG9sZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLicgKyBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5jb2xsZWN0aW9uSG9sZGVyQ2xhc3MpO1xuICAgIGNvbnN0IGl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpO1xuICAgIGl0ZW0uaW5uZXJIVE1MID0gY29sbGVjdGlvbkhvbGRlclxuICAgICAgICAuZGF0YXNldFxuICAgICAgICAucHJvdG90eXBlXG4gICAgICAgIC5yZXBsYWNlKFxuICAgICAgICAgICAgL19fbmFtZV9fL2csXG4gICAgICAgICAgICBjb2xsZWN0aW9uSG9sZGVyLmRhdGFzZXQuaW5kZXhcbiAgICAgICAgKTtcblxuICAgIGNvbGxlY3Rpb25Ib2xkZXIuYXBwZW5kQ2hpbGQoaXRlbSk7XG5cbiAgICBjb2xsZWN0aW9uSG9sZGVyLmRhdGFzZXQuaW5kZXgrKztcblxuICAgIGlmIChjb2xsZWN0aW9uSG9sZGVyLmRhdGFzZXQuaW5kZXggPj0gNikge1xuICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIH1cbiAgICAvLyBhZGQgYSBkZWxldGUgbGluayB0byB0aGUgbmV3IGZvcm1cbiAgICBhZGRGb3JtRGVsZXRlTGluayhpdGVtLCBlLmN1cnJlbnRUYXJnZXQpO1xufTtcblxuY29uc3QgYWRkRm9ybURlbGV0ZUxpbmsgPSAoZm9ybUxpLCBjdXJyZW50VGFyZ2V0KSA9PiB7XG4gICAgY29uc3QgY29sbGVjdGlvbkhvbGRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy4nICsgY3VycmVudFRhcmdldC5kYXRhc2V0LmNvbGxlY3Rpb25Ib2xkZXJDbGFzcyk7XG4gICAgY29uc3QgcmVtb3ZlRm9ybUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgcmVtb3ZlRm9ybUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdidXR0b24tZ3JlZW4nLCAnYnV0dG9uLXJlbW92ZScpXG4gICAgcmVtb3ZlRm9ybUJ1dHRvbi5pbm5lclRleHQgPSAnU3VwcHJpbWVyJ1xuXG4gICAgZm9ybUxpLmFwcGVuZChyZW1vdmVGb3JtQnV0dG9uKTtcblxuICAgIHJlbW92ZUZvcm1CdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgICBjb2xsZWN0aW9uSG9sZGVyLmRhdGFzZXQuaW5kZXgtLTtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb25Ib2xkZXIuZGF0YXNldC5pbmRleCA8PSA2KSB7XG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgIH1cbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGZvcm1MaS5yZW1vdmUoKTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gbWVudVRvZ2dsZSgpIHtcbiAgICB2YXIgYm94ID0gJCgnLm1lbnUtY29udGVudCcpO1xuICAgIHZhciBidXR0b24gPSAkKCcudG9nZ2xlJyk7XG4gICAgYnV0dG9uLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYm94LnRvZ2dsZSgnc2xvdycpO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBjbG9zZU1lbnUoKSB7XG4gICAgdmFyIGJveCA9ICQoJy5tZW51LWNvbnRlbnQnKTtcbiAgICAkKCcucm93LW1lbnUgYScpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYm94LnRvZ2dsZSgnc2xvdycpO1xuICAgIH0pXG59XG5cbmZ1bmN0aW9uIHNjcm9sbE1lbnUoKSB7XG4gICAgJCgnYVtocmVmKj1cIiNcIl06bm90KFtocmVmPVwiI1wiXSknKS5jbGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB0YXJnZXQgPSAkKHRoaXMuaGFzaCk7XG4gICAgICAgICQoJ2h0bWwsYm9keScpLnN0b3AoKS5hbmltYXRlKHtcbiAgICAgICAgICAgIHNjcm9sbFRvcDogdGFyZ2V0Lm9mZnNldCgpLnRvcCAtIDEyMlxuICAgICAgICB9LCAnbGluZWFyJyk7XG4gICAgfSk7XG4gICAgaWYgKGxvY2F0aW9uLmhhc2gpIHtcbiAgICAgICAgdmFyIGlkID0gJChsb2NhdGlvbi5oYXNoKTtcbiAgICAgICAgJCgnaHRtbCxib2R5JykuYW5pbWF0ZSh7c2Nyb2xsVG9wOiBpZC5vZmZzZXQoKS50b3AgLSAxMjJ9LCAnbGluZWFyJylcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1hbmFnZUZvcm1TZWFyY2goKSB7XG4gICAgJChcIi5kcm9wZG93bi1zZWFyY2hcIikub24oXCJjaGFuZ2VcIiwgXCJpbnB1dFt0eXBlPSdjaGVja2JveCddXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgJCh0aGlzKS5jbG9zZXN0KFwibGlcIikudG9nZ2xlQ2xhc3MoXCJhY3RpdmVcIiwgdGhpcy5jaGVja2VkKTtcbiAgICB9KTtcblxuICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcuYWxsb3ctZm9jdXMnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuXG4gICAgJCgnLnBhZ2luYXRpb24gYScpLmNsaWNrKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuaHJlZi5zcGxpdCgncGFnZT0nKVsxXSk7XG4gICAgICAgICQoJy5oaWRkZW4tcGFnZScpLnZhbCh0aGlzLmhyZWYuc3BsaXQoJ3BhZ2U9JylbMV0pO1xuICAgICAgICAkKCcuc2VhcmNoLWJ1dHRvbicpLmNsaWNrKCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gbWFuYWdlRm9ybUNvbnRhY3QoKSB7XG4gICAgJCgnI2NvbnRhY3RfbGNjYXAnKS52YWwoJ2Jsb3AnKTtcbiAgICAkKCcjY29udGFjdC1mb3JtLWJ0bicpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGNoZWNrRm9ybVZhbGlkaXR5KCcjY29udGFjdC1mb3JtJykpIHtcbiAgICAgICAgICAgICQoJyNjb250YWN0LWZvcm0nKS5mYWRlT3V0KDIwMCk7XG4gICAgICAgICAgICAkZm9ybSA9ICQoJyNjb250YWN0LWZvcm0nKTtcbiAgICAgICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICAgICAgdXJsOiAkZm9ybS5wcm9wKCdhY3Rpb24nKSxcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICRmb3JtLnByb3AoJ21ldGhvZCcpLFxuICAgICAgICAgICAgICAgIGRhdGE6ICRmb3JtLnNlcmlhbGl6ZSgpLFxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiBcImpzb25cIixcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgJCgnI2NvbnRhY3QtZm9ybScpLmh0bWwoJzxwIGNsYXNzPVwic3VjY2Vzcy1wb3N0XCI+TWVyY2kgcG91ciB2b3RyZSBtZXNzYWdlLCBub3VzIHZvdXMgciZlYWN1dGU7cG9uZHJvbnMgZGFucyBsZXMgcGx1cyBicmVmcyBkJmVhY3V0ZTtsYWlzLjwvcD4nKTtcbiAgICAgICAgICAgICAgICAgICAgJCgnI2NvbnRhY3QtZm9ybScpLmZhZGVJbig1MDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRm9ybVZhbGlkaXR5KGZvcm1JZCkge1xuICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZm9ybUlkLnN1YnN0cigxKSkuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGZvcm1JZC5zdWJzdHIoMSkpLnJlcG9ydFZhbGlkaXR5KClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn0iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiXSwic291cmNlUm9vdCI6IiJ9