PluginProbe
Booking Calendar / 11.4.3
Booking Calendar v11.4.3
11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 10.11 10.11.2 All 203 releases
booking / includes / _feedback_deactivation / _out / feedback.js

feedback.js in Booking Calendar 11.4.3, at includes/_feedback_deactivation/_out/feedback.js

134 lines 23.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 "use strict";
2
3 /**
4 * global wpbc_plugins_params
5 */
6 jQuery(function ($) {
7 var wpbc_deactivation_feedback = {
8 init: function () {
9 this.event_init();
10 },
11 event_init: function () {
12 var _that = this;
13 $(document.body).on("click", 'tr[data-plugin="booking/wpdev-booking.php"] span.deactivate a', function (e) {
14 e.preventDefault();
15 $("#wpbc_deactivate-feedback-popup-wrapper").addClass('active');
16 });
17 $(document.body).on("click", 'tr[data-plugin="booking-calendar-com/booking-calendar-com.php"] span.deactivate a', function (e) {
18 e.preventDefault();
19 $('#wpbc_deactivate-feedback-popup-wrapper').addClass('active');
20 });
21 $("#wpbc_deactivate-feedback-popup-wrapper").click(function (event) {
22 var $target = $(event.target);
23 if (!$target.closest(".wpbc_deactivate-feedback-popup-inner").length) {
24 $("#wpbc_deactivate-feedback-popup-wrapper").removeClass("active");
25 }
26 });
27 $("form.wpbc_deactivate-feedback-form").on('submit', function (e) {
28 e.preventDefault();
29 _that.send_data($(this));
30 });
31 $('#wpbc_deactivate-feedback-popup-wrapper').on('click', '.close-deactivate-feedback-popup', function () {
32 $('#wpbc_deactivate-feedback-popup-wrapper').removeClass('active');
33 });
34 $('input.wpbc_deactivate-feedback-input').on('click', function () {
35 _that.set_more_details_state(jQuery("form.wpbc_deactivate-feedback-form"));
36 });
37 $('#wpbc_deactivate-feedback-popup-wrapper').on('input', '.feedback-textarea', function () {
38 if ('' !== jQuery.trim(jQuery(this).val())) {
39 _that.clear_more_details_error(jQuery(this).closest('form.wpbc_deactivate-feedback-form'));
40 }
41 });
42 },
43 set_more_details_state: function (form) {
44 var has_selected_reason = form.find('input[name="reason_slug"]:checked').length > 0;
45 var details_wrap = form.find('.wpbc_deactivate-feedback-popup-form-more-details');
46 var details_field = details_wrap.find('.feedback-textarea');
47 if (has_selected_reason) {
48 details_wrap.show();
49 details_field.prop('required', true);
50 form.find('.wpbc_deactivate-feedback-popup-form-footer .skip').hide();
51 } else {
52 details_wrap.hide();
53 details_field.prop('required', false).val('');
54 form.find('.wpbc_deactivate-feedback-popup-form-footer .skip').show();
55 this.clear_more_details_error(form);
56 }
57 },
58 clear_more_details_error: function (form) {
59 form.find('.feedback-textarea').attr('aria-invalid', 'false');
60 form.find('.wpbc_deactivate-feedback-more-details-error').hide();
61 },
62 show_more_details_error: function (form, message) {
63 var details_field = form.find('.feedback-textarea');
64 form.find('.wpbc_deactivate-feedback-more-details-error').text(message).show();
65 details_field.attr('aria-invalid', 'true').trigger('focus');
66 },
67 validate_more_details: function (form) {
68 var details_wrap = form.find('.wpbc_deactivate-feedback-popup-form-more-details');
69 var details_field = details_wrap.find('.feedback-textarea');
70 var message = 'undefined' !== typeof wpbc_plugins_params && 'undefined' !== typeof wpbc_plugins_params.more_details_required_text ? wpbc_plugins_params.more_details_required_text : 'Please share more details before submitting.';
71 if (details_wrap.is(':visible') && '' === jQuery.trim(details_field.val())) {
72 this.show_more_details_error(form, message);
73 return false;
74 }
75 this.clear_more_details_error(form);
76 return true;
77 },
78 enable_submit: function (form) {
79 form.find("button.submit").removeClass("button-disabled button updating-message");
80 },
81 send_data: function (form) {
82 var reason_slug = form.find('input[name="reason_slug"]:checked').map(function () {
83 return jQuery(this).val();
84 }).get().join(' | ');
85 if (0 === jQuery("form.wpbc_deactivate-feedback-form").find('input[name="reason_slug"]:checked').length) {
86 alert("Please select at least one option from the list");
87 return;
88 }
89 if (!this.validate_more_details(form)) {
90 return;
91 }
92 if (form.find("button.submit").hasClass("button-disabled")) {
93 return;
94 }
95 var reason_text = '';
96 var reason_text_el = form.find('input[name="reason_' + reason_slug + '"]');
97 if (reason_text_el.length > 0) {
98 reason_text = reason_text_el.val();
99 }
100 var data = {
101 reason_slug: "user_registration_deactivation_notice"
102 };
103 data["reason_" + reason_slug] = reason_text;
104 var values_arr = {};
105 jQuery.each(form.serializeArray(), function (i, field) {
106 if ('undefined' === typeof values_arr[field.name]) {
107 values_arr[field.name] = field.value;
108 } else {
109 values_arr[field.name] += ' | ' + field.value;
110 }
111 });
112 $.ajax({
113 url: wpbc_plugins_params.ajax_url,
114 data: values_arr,
115 type: "post",
116 beforeSend: function () {
117 form.find("button.submit").addClass("button-disabled button updating-message");
118 }
119 }).done(function (response) {
120 if (response && response.success) {
121 window.location = form.find("a.skip").attr("href");
122 return;
123 }
124 _that.enable_submit(form);
125 _that.show_more_details_error(form, response && response.data && response.data.message ? response.data.message : 'Please share more details before submitting.');
126 }).fail(function () {
127 _that.enable_submit(form);
128 });
129 }
130 };
131 wpbc_deactivation_feedback.init();
132 });
133 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvX2ZlZWRiYWNrX2RlYWN0aXZhdGlvbi9fb3V0L2ZlZWRiYWNrLmpzIiwibmFtZXMiOlsialF1ZXJ5IiwiJCIsIndwYmNfZGVhY3RpdmF0aW9uX2ZlZWRiYWNrIiwiaW5pdCIsImV2ZW50X2luaXQiLCJfdGhhdCIsImRvY3VtZW50IiwiYm9keSIsIm9uIiwiZSIsInByZXZlbnREZWZhdWx0IiwiYWRkQ2xhc3MiLCJjbGljayIsImV2ZW50IiwiJHRhcmdldCIsInRhcmdldCIsImNsb3Nlc3QiLCJsZW5ndGgiLCJyZW1vdmVDbGFzcyIsInNlbmRfZGF0YSIsInNldF9tb3JlX2RldGFpbHNfc3RhdGUiLCJ0cmltIiwidmFsIiwiY2xlYXJfbW9yZV9kZXRhaWxzX2Vycm9yIiwiZm9ybSIsImhhc19zZWxlY3RlZF9yZWFzb24iLCJmaW5kIiwiZGV0YWlsc193cmFwIiwiZGV0YWlsc19maWVsZCIsInNob3ciLCJwcm9wIiwiaGlkZSIsImF0dHIiLCJzaG93X21vcmVfZGV0YWlsc19lcnJvciIsIm1lc3NhZ2UiLCJ0ZXh0IiwidHJpZ2dlciIsInZhbGlkYXRlX21vcmVfZGV0YWlscyIsIndwYmNfcGx1Z2luc19wYXJhbXMiLCJtb3JlX2RldGFpbHNfcmVxdWlyZWRfdGV4dCIsImlzIiwiZW5hYmxlX3N1Ym1pdCIsInJlYXNvbl9zbHVnIiwibWFwIiwiZ2V0Iiwiam9pbiIsImFsZXJ0IiwiaGFzQ2xhc3MiLCJyZWFzb25fdGV4dCIsInJlYXNvbl90ZXh0X2VsIiwiZGF0YSIsInZhbHVlc19hcnIiLCJlYWNoIiwic2VyaWFsaXplQXJyYXkiLCJpIiwiZmllbGQiLCJuYW1lIiwidmFsdWUiLCJhamF4IiwidXJsIiwiYWpheF91cmwiLCJ0eXBlIiwiYmVmb3JlU2VuZCIsImRvbmUiLCJyZXNwb25zZSIsInN1Y2Nlc3MiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImZhaWwiXSwic291cmNlcyI6WyJpbmNsdWRlcy9fZmVlZGJhY2tfZGVhY3RpdmF0aW9uL19zcmMvZmVlZGJhY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIGdsb2JhbCB3cGJjX3BsdWdpbnNfcGFyYW1zXHJcbiAqL1xyXG5qUXVlcnkoXHJcblx0ZnVuY3Rpb24gKCQpIHtcclxuXHRcdHZhciB3cGJjX2RlYWN0aXZhdGlvbl9mZWVkYmFjayA9IHtcclxuXHRcdFx0aW5pdDogZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRcdHRoaXMuZXZlbnRfaW5pdCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRldmVudF9pbml0OiBmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0dmFyIF90aGF0ID0gdGhpcztcclxuXHJcblx0XHRcdFx0JCggZG9jdW1lbnQuYm9keSApLm9uKFxyXG5cdFx0XHRcdFx0XCJjbGlja1wiLFxyXG5cdFx0XHRcdFx0J3RyW2RhdGEtcGx1Z2luPVwiYm9va2luZy93cGRldi1ib29raW5nLnBocFwiXSBzcGFuLmRlYWN0aXZhdGUgYScsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoZSkge1xyXG5cdFx0XHRcdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdFx0XHRcdCQoIFwiI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyXCIgKS5hZGRDbGFzcyggJ2FjdGl2ZScgKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQkKCBkb2N1bWVudC5ib2R5ICkub24oXHJcblx0XHRcdFx0XHRcImNsaWNrXCIsXHJcblx0XHRcdFx0XHQndHJbZGF0YS1wbHVnaW49XCJib29raW5nLWNhbGVuZGFyLWNvbS9ib29raW5nLWNhbGVuZGFyLWNvbS5waHBcIl0gc3Bhbi5kZWFjdGl2YXRlIGEnLFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKGUpIHtcclxuXHRcdFx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0XHRcdFx0XHQkKCAnI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyJyApLmFkZENsYXNzKCAnYWN0aXZlJyApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoIFwiI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyXCIgKS5jbGljayhcclxuXHRcdFx0XHRcdGZ1bmN0aW9uIChldmVudCkge1xyXG5cdFx0XHRcdFx0XHR2YXIgJHRhcmdldCA9ICQoIGV2ZW50LnRhcmdldCApO1xyXG5cdFx0XHRcdFx0XHRpZiAoICEgJHRhcmdldC5jbG9zZXN0KCBcIi53cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stcG9wdXAtaW5uZXJcIiApLmxlbmd0aCApIHtcclxuXHRcdFx0XHRcdFx0XHQkKCBcIiN3cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stcG9wdXAtd3JhcHBlclwiICkucmVtb3ZlQ2xhc3MoXHJcblx0XHRcdFx0XHRcdFx0XHRcImFjdGl2ZVwiXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoIFwiZm9ybS53cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stZm9ybVwiICkub24oXHJcblx0XHRcdFx0XHQnc3VibWl0JyxcclxuXHRcdFx0XHRcdGZ1bmN0aW9uIChlKSB7XHJcblx0XHRcdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHRcdFx0XHRcdFx0X3RoYXQuc2VuZF9kYXRhKCAkKCB0aGlzICkgKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQkKCAnI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyJyApLm9uKFxyXG5cdFx0XHRcdFx0J2NsaWNrJyxcclxuXHRcdFx0XHRcdCcuY2xvc2UtZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cCcsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdCQoICcjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXInICkucmVtb3ZlQ2xhc3MoICdhY3RpdmUnICk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHJcblx0XHRcdFx0JCggJ2lucHV0LndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1pbnB1dCcgKS5vbihcclxuXHRcdFx0XHRcdCdjbGljaycsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdF90aGF0LnNldF9tb3JlX2RldGFpbHNfc3RhdGUoIGpRdWVyeSggXCJmb3JtLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1mb3JtXCIgKSApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoICcjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXInICkub24oXHJcblx0XHRcdFx0XHQnaW5wdXQnLFxyXG5cdFx0XHRcdFx0Jy5mZWVkYmFjay10ZXh0YXJlYScsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdGlmICggJycgIT09IGpRdWVyeS50cmltKCBqUXVlcnkoIHRoaXMgKS52YWwoKSApICkge1xyXG5cdFx0XHRcdFx0XHRcdF90aGF0LmNsZWFyX21vcmVfZGV0YWlsc19lcnJvciggalF1ZXJ5KCB0aGlzICkuY2xvc2VzdCggJ2Zvcm0ud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLWZvcm0nICkgKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNldF9tb3JlX2RldGFpbHNfc3RhdGU6IGZ1bmN0aW9uIChmb3JtKSB7XHJcblx0XHRcdFx0dmFyIGhhc19zZWxlY3RlZF9yZWFzb24gPSBmb3JtLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5sZW5ndGggPiAwO1xyXG5cdFx0XHRcdHZhciBkZXRhaWxzX3dyYXAgICAgICAgID0gZm9ybS5maW5kKCAnLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC1mb3JtLW1vcmUtZGV0YWlscycgKTtcclxuXHRcdFx0XHR2YXIgZGV0YWlsc19maWVsZCAgICAgICA9IGRldGFpbHNfd3JhcC5maW5kKCAnLmZlZWRiYWNrLXRleHRhcmVhJyApO1xyXG5cclxuXHRcdFx0XHRpZiAoIGhhc19zZWxlY3RlZF9yZWFzb24gKSB7XHJcblx0XHRcdFx0XHRkZXRhaWxzX3dyYXAuc2hvdygpO1xyXG5cdFx0XHRcdFx0ZGV0YWlsc19maWVsZC5wcm9wKCAncmVxdWlyZWQnLCB0cnVlICk7XHJcblx0XHRcdFx0XHRmb3JtLmZpbmQoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tZm9vdGVyIC5za2lwJyApLmhpZGUoKTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0ZGV0YWlsc193cmFwLmhpZGUoKTtcclxuXHRcdFx0XHRcdGRldGFpbHNfZmllbGQucHJvcCggJ3JlcXVpcmVkJywgZmFsc2UgKS52YWwoICcnICk7XHJcblx0XHRcdFx0XHRmb3JtLmZpbmQoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tZm9vdGVyIC5za2lwJyApLnNob3coKTtcclxuXHRcdFx0XHRcdHRoaXMuY2xlYXJfbW9yZV9kZXRhaWxzX2Vycm9yKCBmb3JtICk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbGVhcl9tb3JlX2RldGFpbHNfZXJyb3I6IGZ1bmN0aW9uIChmb3JtKSB7XHJcblx0XHRcdFx0Zm9ybS5maW5kKCAnLmZlZWRiYWNrLXRleHRhcmVhJyApLmF0dHIoICdhcmlhLWludmFsaWQnLCAnZmFsc2UnICk7XHJcblx0XHRcdFx0Zm9ybS5maW5kKCAnLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1tb3JlLWRldGFpbHMtZXJyb3InICkuaGlkZSgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaG93X21vcmVfZGV0YWlsc19lcnJvcjogZnVuY3Rpb24gKGZvcm0sIG1lc3NhZ2UpIHtcclxuXHRcdFx0XHR2YXIgZGV0YWlsc19maWVsZCA9IGZvcm0uZmluZCggJy5mZWVkYmFjay10ZXh0YXJlYScgKTtcclxuXHRcdFx0XHRmb3JtLmZpbmQoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLW1vcmUtZGV0YWlscy1lcnJvcicgKS50ZXh0KCBtZXNzYWdlICkuc2hvdygpO1xyXG5cdFx0XHRcdGRldGFpbHNfZmllbGQuYXR0ciggJ2FyaWEtaW52YWxpZCcsICd0cnVlJyApLnRyaWdnZXIoICdmb2N1cycgKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dmFsaWRhdGVfbW9yZV9kZXRhaWxzOiBmdW5jdGlvbiAoZm9ybSkge1xyXG5cdFx0XHRcdHZhciBkZXRhaWxzX3dyYXAgID0gZm9ybS5maW5kKCAnLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC1mb3JtLW1vcmUtZGV0YWlscycgKTtcclxuXHRcdFx0XHR2YXIgZGV0YWlsc19maWVsZCA9IGRldGFpbHNfd3JhcC5maW5kKCAnLmZlZWRiYWNrLXRleHRhcmVhJyApO1xyXG5cdFx0XHRcdHZhciBtZXNzYWdlICAgICAgID0gKFxyXG5cdFx0XHRcdFx0J3VuZGVmaW5lZCcgIT09IHR5cGVvZiB3cGJjX3BsdWdpbnNfcGFyYW1zICYmXHJcblx0XHRcdFx0XHQndW5kZWZpbmVkJyAhPT0gdHlwZW9mIHdwYmNfcGx1Z2luc19wYXJhbXMubW9yZV9kZXRhaWxzX3JlcXVpcmVkX3RleHRcclxuXHRcdFx0XHRcdCkgPyB3cGJjX3BsdWdpbnNfcGFyYW1zLm1vcmVfZGV0YWlsc19yZXF1aXJlZF90ZXh0IDogJ1BsZWFzZSBzaGFyZSBtb3JlIGRldGFpbHMgYmVmb3JlIHN1Ym1pdHRpbmcuJztcclxuXHJcblx0XHRcdFx0aWYgKCBkZXRhaWxzX3dyYXAuaXMoICc6dmlzaWJsZScgKSAmJiAnJyA9PT0galF1ZXJ5LnRyaW0oIGRldGFpbHNfZmllbGQudmFsKCkgKSApIHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd19tb3JlX2RldGFpbHNfZXJyb3IoIGZvcm0sIG1lc3NhZ2UgKTtcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRoaXMuY2xlYXJfbW9yZV9kZXRhaWxzX2Vycm9yKCBmb3JtICk7XHJcblx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGVuYWJsZV9zdWJtaXQ6IGZ1bmN0aW9uIChmb3JtKSB7XHJcblx0XHRcdFx0Zm9ybS5maW5kKCBcImJ1dHRvbi5zdWJtaXRcIiApLnJlbW92ZUNsYXNzKCBcImJ1dHRvbi1kaXNhYmxlZCBidXR0b24gdXBkYXRpbmctbWVzc2FnZVwiICk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlbmRfZGF0YTogZnVuY3Rpb24gKGZvcm0pIHtcclxuXHRcdFx0XHR2YXIgcmVhc29uX3NsdWcgPSBmb3JtLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5tYXAoXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBqUXVlcnkoIHRoaXMgKS52YWwoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpLmdldCgpLmpvaW4oICcgfCAnICk7XHJcblxyXG5cdFx0XHRcdGlmICggMCA9PT0galF1ZXJ5KCBcImZvcm0ud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLWZvcm1cIiApLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5sZW5ndGggKSB7XHJcblx0XHRcdFx0XHRhbGVydCggXCJQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSBvcHRpb24gZnJvbSB0aGUgbGlzdFwiICk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpZiAoICEgdGhpcy52YWxpZGF0ZV9tb3JlX2RldGFpbHMoIGZvcm0gKSApIHtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmICggZm9ybS5maW5kKCBcImJ1dHRvbi5zdWJtaXRcIiApLmhhc0NsYXNzKCBcImJ1dHRvbi1kaXNhYmxlZFwiICkgKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR2YXIgcmVhc29uX3RleHQgICAgPSAnJztcclxuXHRcdFx0XHR2YXIgcmVhc29uX3RleHRfZWwgPSBmb3JtLmZpbmQoXHJcblx0XHRcdFx0XHQnaW5wdXRbbmFtZT1cInJlYXNvbl8nICsgcmVhc29uX3NsdWcgKyAnXCJdJ1xyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdGlmIChyZWFzb25fdGV4dF9lbC5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRyZWFzb25fdGV4dCA9IHJlYXNvbl90ZXh0X2VsLnZhbCgpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dmFyIGRhdGEgPSB7XHJcblx0XHRcdFx0XHRyZWFzb25fc2x1ZzogXCJ1c2VyX3JlZ2lzdHJhdGlvbl9kZWFjdGl2YXRpb25fbm90aWNlXCIsXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0ZGF0YVtcInJlYXNvbl9cIiArIHJlYXNvbl9zbHVnXSA9IHJlYXNvbl90ZXh0O1xyXG5cclxuXHRcdFx0XHR2YXIgdmFsdWVzX2FyciA9IHt9O1xyXG5cdFx0XHRcdGpRdWVyeS5lYWNoKFxyXG5cdFx0XHRcdFx0Zm9ybS5zZXJpYWxpemVBcnJheSgpLFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKGksIGZpZWxkKSB7XHJcblx0XHRcdFx0XHRcdGlmICggJ3VuZGVmaW5lZCcgPT09IHR5cGVvZiAodmFsdWVzX2FycltmaWVsZC5uYW1lXSkgKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFsdWVzX2FycltmaWVsZC5uYW1lXSA9IGZpZWxkLnZhbHVlO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHZhbHVlc19hcnJbZmllbGQubmFtZV0gKz0gJyB8ICcgKyBmaWVsZC52YWx1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQuYWpheChcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dXJsICAgICAgIDogd3BiY19wbHVnaW5zX3BhcmFtcy5hamF4X3VybCxcclxuXHRcdFx0XHRcdFx0ZGF0YSAgICAgIDogdmFsdWVzX2FycixcclxuXHRcdFx0XHRcdFx0dHlwZSAgICAgIDogXCJwb3N0XCIsXHJcblx0XHRcdFx0XHRcdGJlZm9yZVNlbmQ6IGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRcdFx0XHRmb3JtLmZpbmQoIFwiYnV0dG9uLnN1Ym1pdFwiICkuYWRkQ2xhc3MoXHJcblx0XHRcdFx0XHRcdFx0XHRcImJ1dHRvbi1kaXNhYmxlZCBidXR0b24gdXBkYXRpbmctbWVzc2FnZVwiXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpLmRvbmUoXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAocmVzcG9uc2UpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCByZXNwb25zZSAmJiByZXNwb25zZS5zdWNjZXNzICkge1xyXG5cdFx0XHRcdFx0XHRcdHdpbmRvdy5sb2NhdGlvbiA9IGZvcm0uZmluZCggXCJhLnNraXBcIiApLmF0dHIoIFwiaHJlZlwiICk7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRfdGhhdC5lbmFibGVfc3VibWl0KCBmb3JtICk7XHJcblx0XHRcdFx0XHRcdF90aGF0LnNob3dfbW9yZV9kZXRhaWxzX2Vycm9yKFxyXG5cdFx0XHRcdFx0XHRcdGZvcm0sXHJcblx0XHRcdFx0XHRcdFx0cmVzcG9uc2UgJiYgcmVzcG9uc2UuZGF0YSAmJiByZXNwb25zZS5kYXRhLm1lc3NhZ2UgPyByZXNwb25zZS5kYXRhLm1lc3NhZ2UgOiAnUGxlYXNlIHNoYXJlIG1vcmUgZGV0YWlscyBiZWZvcmUgc3VibWl0dGluZy4nXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KS5mYWlsKFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRcdFx0XHRfdGhhdC5lbmFibGVfc3VibWl0KCBmb3JtICk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSxcclxuXHRcdH07XHJcblxyXG5cdFx0d3BiY19kZWFjdGl2YXRpb25fZmVlZGJhY2suaW5pdCgpO1xyXG5cdH1cclxuKTtcclxuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQ0wsVUFBVUMsQ0FBQyxFQUFFO0VBQ1osSUFBSUMsMEJBQTBCLEdBQUc7SUFDaENDLElBQUksRUFBRSxTQUFBQSxDQUFBLEVBQVk7TUFDakIsSUFBSSxDQUFDQyxVQUFVLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0RBLFVBQVUsRUFBRSxTQUFBQSxDQUFBLEVBQVk7TUFDdkIsSUFBSUMsS0FBSyxHQUFHLElBQUk7TUFFaEJKLENBQUMsQ0FBRUssUUFBUSxDQUFDQyxJQUFLLENBQUMsQ0FBQ0MsRUFBRSxDQUNwQixPQUFPLEVBQ1AsK0RBQStELEVBQy9ELFVBQVVDLENBQUMsRUFBRTtRQUNaQSxDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCVCxDQUFDLENBQUUseUNBQTBDLENBQUMsQ0FBQ1UsUUFBUSxDQUFFLFFBQVMsQ0FBQztNQUNwRSxDQUNELENBQUM7TUFFRFYsQ0FBQyxDQUFFSyxRQUFRLENBQUNDLElBQUssQ0FBQyxDQUFDQyxFQUFFLENBQ3BCLE9BQU8sRUFDUCxtRkFBbUYsRUFDbkYsVUFBVUMsQ0FBQyxFQUFFO1FBQ1pBLENBQUMsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7UUFDbEJULENBQUMsQ0FBRSx5Q0FBMEMsQ0FBQyxDQUFDVSxRQUFRLENBQUUsUUFBUyxDQUFDO01BQ3BFLENBQ0QsQ0FBQztNQUVEVixDQUFDLENBQUUseUNBQTBDLENBQUMsQ0FBQ1csS0FB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Q1Y1QixJQUFJLENBQUM2QixjQUFjLENBQUMsQ0FBQyxFQUNyQixVQUFVQyxDQUFDLEVBQUVDLEtBQUssRUFBRTtRQUNuQixJQUFLLFdBQVcsS0FBSyxPQUFRSixVQUFVLENBQUNJLEtBQUssQ0FBQ0MsSUFBSSxDQUFFLEVBQUc7VUFDdERMLFVBQVUsQ0FBQ0ksS0FBSyxDQUFDQyxJQUFJLENBQUMsR0FBR0QsS0FBSyxDQUFDRSxLQUFLO1FBQ3JDLENBQUMsTUFBTTtVQUNOTixVQUFVLENBQUNJLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHRCxLQUFLLENBQUNFLEtBQUs7UUFDOUM7TUFDRCxDQUNELENBQUM7TUFFRHhELENBQUMsQ0FBQ3lELElBQUksQ0FDTDtRQUNDQyxHQUFHLEVBQVNyQixtQkFBbUIsQ0FBQ3NCLFFBQVE7UUFDeENWLElBQUksRUFBUUMsVUFBVTtRQUN0QlUsSUFBSSxFQUFRLE1BQU07UUFDbEJDLFVBQVUsRUFBRSxTQUFBQSxDQUFBLEVBQVk7VUFDdkJ0QyxJQUFJLENBQUNFLElBQUksQ0FBRSxlQUFnQixDQUFDLENBQUNmLFFBQVEsQ0FDcEMseUNBQ0QsQ0FBQztRQUNGO01BQ0QsQ0FDRCxDQUFDLENBQUNvRCxJQUFJLENBQ0wsVUFBVUMsUUFBUSxFQUFFO1FBQ25CLElBQUtBLFFBQVEsSUFBSUEsUUFBUSxDQUFDQyxPQUFPLEVBQUc7VUFDbkNDLE1BQU0sQ0FBQ0MsUUFBUSxHQUFHM0MsSUFBSSxDQUFDRSxJQUFJLENBQUUsUUFBUyxDQUFDLENBQUNNLElBQUksQ0FBRSxNQUFPLENBQUM7VUFDdEQ7UUFDRDtRQUVBM0IsS0FBSyxDQUFDb0MsYUFBYSxDQUFFakIsSUFBSyxDQUFDO1FBQzNCbkIsS0FBSyxDQUFDNEIsdUJBQXVCLENBQzVCVCxJQUFJLEVBQ0p3QyxRQUFRLElBQUlBLFFBQVEsQ0FBQ2QsSUFBSSxJQUFJYyxRQUFRLENBQUNkLElBQUksQ0FBQ2hCLE9BQU8sR0FBRzhCLFFBQVEsQ0FBQ2QsSUFBSSxDQUFDaEIsT0FBTyxHQUFHLDhDQUM5RSxDQUFDO01BQ0YsQ0FDRCxDQUFDLENBQUNrQyxJQUFJLENBQ0wsWUFBWTtRQUNYL0QsS0FBSyxDQUFDb0MsYUFBYSxDQUFFakIsSUFBSyxDQUFDO01BQzVCLENBQ0QsQ0FBQztJQUNGO0VBQ0QsQ0FBQztFQUVEdEIsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
134