PluginProbe
Booking Calendar / 11.8.4
Booking Calendar v11.8.4
11.8.4 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 All 204 releases
← All changes | includes/_feedback_deactivation/_out/feedback.js +56 -9 11.111.8.4 View file →
@@ -31,17 +31,54 @@
31 31 $('#wpbc_deactivate-feedback-popup-wrapper').on('click', '.close-deactivate-feedback-popup', function () {
32 32 $('#wpbc_deactivate-feedback-popup-wrapper').removeClass('active');
33 33 });
34 34 $('input.wpbc_deactivate-feedback-input').on('click', function () {
35 - if (jQuery("form.wpbc_deactivate-feedback-form").find('input[name="reason_slug"]:checked').length) {
36 - jQuery('.wpbc_deactivate-feedback-popup-form-more-details').show();
37 - jQuery('.wpbc_deactivate-feedback-popup-form-footer .skip').hide();
38 - } else {
39 - jQuery('.wpbc_deactivate-feedback-popup-form-more-details').hide();
40 - jQuery('.wpbc_deactivate-feedback-popup-form-footer .skip').show();
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'));
41 40 }
42 41 });
43 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 + },
44 81 send_data: function (form) {
45 82 var reason_slug = form.find('input[name="reason_slug"]:checked').map(function () {
46 83 return jQuery(this).val();
47 84 }).get().join(' | ');
@@ -48,8 +85,11 @@
48 85 if (0 === jQuery("form.wpbc_deactivate-feedback-form").find('input[name="reason_slug"]:checked').length) {
49 86 alert("Please select at least one option from the list");
50 87 return;
51 88 }
89 + if (!this.validate_more_details(form)) {
90 + return;
91 + }
52 92 if (form.find("button.submit").hasClass("button-disabled")) {
53 93 return;
54 94 }
55 95 var reason_text = '';
@@ -75,12 +115,19 @@
75 115 type: "post",
76 116 beforeSend: function () {
77 117 form.find("button.submit").addClass("button-disabled button updating-message");
78 118 }
79 - }).done(function () {
80 - window.location = form.find("a.skip").attr("href");
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);
81 128 });
82 129 }
83 130 };
84 131 wpbc_deactivation_feedback.init();
85 132 });
86 -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvX2ZlZWRiYWNrX2RlYWN0aXZhdGlvbi9fb3V0L2ZlZWRiYWNrLmpzIiwibmFtZXMiOlsialF1ZXJ5IiwiJCIsIndwYmNfZGVhY3RpdmF0aW9uX2ZlZWRiYWNrIiwiaW5pdCIsImV2ZW50X2luaXQiLCJfdGhhdCIsImRvY3VtZW50IiwiYm9keSIsIm9uIiwiZSIsInByZXZlbnREZWZhdWx0IiwiYWRkQ2xhc3MiLCJjbGljayIsImV2ZW50IiwiJHRhcmdldCIsInRhcmdldCIsImNsb3Nlc3QiLCJsZW5ndGgiLCJyZW1vdmVDbGFzcyIsInNlbmRfZGF0YSIsImZpbmQiLCJzaG93IiwiaGlkZSIsImZvcm0iLCJyZWFzb25fc2x1ZyIsIm1hcCIsInZhbCIsImdldCIsImpvaW4iLCJhbGVydCIsImhhc0NsYXNzIiwicmVhc29uX3RleHQiLCJyZWFzb25fdGV4dF9lbCIsImRhdGEiLCJ2YWx1ZXNfYXJyIiwiZWFjaCIsInNlcmlhbGl6ZUFycmF5IiwiaSIsImZpZWxkIiwibmFtZSIsInZhbHVlIiwiYWpheCIsInVybCIsIndwYmNfcGx1Z2luc19wYXJhbXMiLCJhamF4X3VybCIsInR5cGUiLCJiZWZvcmVTZW5kIiwiZG9uZSIsIndpbmRvdyIsImxvY2F0aW9uIiwiYXR0ciJdLCJzb3VyY2VzIjpbImluY2x1ZGVzL19mZWVkYmFja19kZWFjdGl2YXRpb24vX3NyYy9mZWVkYmFjay5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogZ2xvYmFsIHdwYmNfcGx1Z2luc19wYXJhbXNcclxuICovXHJcbmpRdWVyeShcclxuXHRmdW5jdGlvbiAoJCkge1xyXG5cdFx0dmFyIHdwYmNfZGVhY3RpdmF0aW9uX2ZlZWRiYWNrID0ge1xyXG5cdFx0XHRpbml0OiBmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0dGhpcy5ldmVudF9pbml0KCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGV2ZW50X2luaXQ6IGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHR2YXIgX3RoYXQgPSB0aGlzO1xyXG5cclxuXHRcdFx0XHQkKCBkb2N1bWVudC5ib2R5ICkub24oXHJcblx0XHRcdFx0XHRcImNsaWNrXCIsXHJcblx0XHRcdFx0XHQndHJbZGF0YS1wbHVnaW49XCJib29raW5nL3dwZGV2LWJvb2tpbmcucGhwXCJdIHNwYW4uZGVhY3RpdmF0ZSBhJyxcclxuXHRcdFx0XHRcdGZ1bmN0aW9uIChlKSB7XHJcblx0XHRcdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHRcdFx0XHRcdFx0JCggXCIjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXJcIiApLmFkZENsYXNzKCAnYWN0aXZlJyApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoIGRvY3VtZW50LmJvZHkgKS5vbihcclxuXHRcdFx0XHRcdFwiY2xpY2tcIixcclxuXHRcdFx0XHRcdCd0cltkYXRhLXBsdWdpbj1cImJvb2tpbmctY2FsZW5kYXItY29tL2Jvb2tpbmctY2FsZW5kYXItY29tLnBocFwiXSBzcGFuLmRlYWN0aXZhdGUgYScsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoZSkge1xyXG5cdFx0XHRcdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdFx0XHRcdCQoICcjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXInICkuYWRkQ2xhc3MoICdhY3RpdmUnICk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHJcblx0XHRcdFx0JCggXCIjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXJcIiApLmNsaWNrKFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKGV2ZW50KSB7XHJcblx0XHRcdFx0XHRcdHZhciAkdGFyZ2V0ID0gJCggZXZlbnQudGFyZ2V0ICk7XHJcblx0XHRcdFx0XHRcdGlmICggISAkdGFyZ2V0LmNsb3Nlc3QoIFwiLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC1pbm5lclwiICkubGVuZ3RoICkge1xyXG5cdFx0XHRcdFx0XHRcdCQoIFwiI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyXCIgKS5yZW1vdmVDbGFzcyhcclxuXHRcdFx0XHRcdFx0XHRcdFwiYWN0aXZlXCJcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHJcblx0XHRcdFx0JCggXCJmb3JtLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1mb3JtXCIgKS5vbihcclxuXHRcdFx0XHRcdCdzdWJtaXQnLFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKGUpIHtcclxuXHRcdFx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0XHRcdFx0XHRfdGhhdC5zZW5kX2RhdGEoICQoIHRoaXMgKSApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoICcjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXInICkub24oXHJcblx0XHRcdFx0XHQnY2xpY2snLFxyXG5cdFx0XHRcdFx0Jy5jbG9zZS1kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwJyxcclxuXHRcdFx0XHRcdGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRcdFx0JCggJyN3cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stcG9wdXAtd3JhcHBlcicgKS5yZW1vdmVDbGFzcyggJ2FjdGl2ZScgKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQkKCAnaW5wdXQud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLWlucHV0JyApLm9uKFxyXG5cdFx0XHRcdFx0J2NsaWNrJyxcclxuXHRcdFx0XHRcdGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCBqUXVlcnkoIFwiZm9ybS53cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stZm9ybVwiICkuZmluZCggJ2lucHV0W25hbWU9XCJyZWFzb25fc2x1Z1wiXTpjaGVja2VkJyApLmxlbmd0aCApIHtcclxuXHRcdFx0XHRcdFx0XHRqUXVlcnkoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tbW9yZS1kZXRhaWxzJyApLnNob3coKTtcclxuXHRcdFx0XHRcdFx0XHRqUXVlcnkoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tZm9vdGVyIC5za2lwJyApLmhpZGUoKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRqUXVlcnkoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tbW9yZS1kZXRhaWxzJyApLmhpZGUoKTtcclxuXHRcdFx0XHRcdFx0XHRqUXVlcnkoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tZm9vdGVyIC5za2lwJyApLnNob3coKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlbmRfZGF0YTogZnVuY3Rpb24gKGZvcm0pIHtcclxuXHRcdFx0XHR2YXIgcmVhc29uX3NsdWcgPSBmb3JtLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5tYXAoXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBqUXVlcnkoIHRoaXMgKS52YWwoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpLmdldCgpLmpvaW4oICcgfCAnICk7XHJcblxyXG5cdFx0XHRcdGlmICggMCA9PT0galF1ZXJ5KCBcImZvcm0ud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLWZvcm1cIiApLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5sZW5ndGggKSB7XHJcblx0XHRcdFx0XHRhbGVydCggXCJQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSBvcHRpb24gZnJvbSB0aGUgbGlzdFwiICk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpZiAoIGZvcm0uZmluZCggXCJidXR0b24uc3VibWl0XCIgKS5oYXNDbGFzcyggXCJidXR0b24tZGlzYWJsZWRcIiApICkge1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dmFyIHJlYXNvbl90ZXh0ICAgID0gJyc7XHJcblx0XHRcdFx0dmFyIHJlYXNvbl90ZXh0X2VsID0gZm9ybS5maW5kKFxyXG5cdFx0XHRcdFx0J2lucHV0W25hbWU9XCJyZWFzb25fJyArIHJlYXNvbl9zbHVnICsgJ1wiXSdcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHRpZiAocmVhc29uX3RleHRfZWwubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdFx0cmVhc29uX3RleHQgPSByZWFzb25fdGV4dF9lbC52YWwoKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHZhciBkYXRhID0ge1xyXG5cdFx0XHRcdFx0cmVhc29uX3NsdWc6IFwidXNlcl9yZWdpc3RyYXRpb25fZGVhY3RpdmF0aW9uX25vdGljZVwiLFxyXG5cdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdGRhdGFbXCJyZWFzb25fXCIgKyByZWFzb25fc2x1Z10gPSByZWFzb25fdGV4dDtcclxuXHJcblx0XHRcdFx0dmFyIHZhbHVlc19hcnIgPSB7fTtcclxuXHRcdFx0XHRqUXVlcnkuZWFjaChcclxuXHRcdFx0XHRcdGZvcm0uc2VyaWFsaXplQXJyYXkoKSxcclxuXHRcdFx0XHRcdGZ1bmN0aW9uIChpLCBmaWVsZCkge1xyXG5cdFx0XHRcdFx0XHRpZiAoICd1bmRlZmluZWQnID09PSB0eXBlb2YgKHZhbHVlc19hcnJbZmllbGQubmFtZV0pICkge1xyXG5cdFx0XHRcdFx0XHRcdHZhbHVlc19hcnJbZmllbGQubmFtZV0gPSBmaWVsZC52YWx1ZTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR2YWx1ZXNfYXJyW2ZpZWxkLm5hbWVdICs9ICcgfCAnICsgZmllbGQudmFsdWU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQkLmFqYXgoXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHVybCAgICAgICA6IHdwYmNfcGx1Z2luc19wYXJhbXMuYWpheF91cmwsXHJcblx0XHRcdFx0XHRcdGRhdGEgICAgICA6IHZhbHVlc19hcnIsXHJcblx0XHRcdFx0XHRcdHR5cGUgICAgICA6IFwicG9zdFwiLFxyXG5cdFx0XHRcdFx0XHRiZWZvcmVTZW5kOiBmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdFx0Zm9ybS5maW5kKCBcImJ1dHRvbi5zdWJtaXRcIiApLmFkZENsYXNzKFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJidXR0b24tZGlzYWJsZWQgYnV0dG9uIHVwZGF0aW5nLW1lc3NhZ2VcIlxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KS5kb25lKFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRcdFx0XHR3aW5kb3cubG9jYXRpb24gPSBmb3JtLmZpbmQoIFwiYS5za2lwXCIgKS5hdHRyKCBcImhyZWZcIiApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHR9O1xyXG5cclxuXHRcdHdwYmNfZGVhY3RpdmF0aW9uX2ZlZWRiYWNrLmluaXQoKTtcclxuXHR9XHJcbik7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0E7QUFDQUEsTUFBTSxDQUNMLFVBQVVDLENBQUMsRUFBRTtFQUNaLElBQUlDLDBCQUEwQixHQUFHO0lBQ2hDQyxJQUFJLEVBQUUsU0FBQUEsQ0FBQSxFQUFZO01BQ2pCLElBQUksQ0FBQ0MsVUFBVSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNEQSxVQUFVLEVBQUUsU0FBQUEsQ0FB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QixDQUFDLENBQUNVLFFBQVEsQ0FBRSxpQkFBa0IsQ0FBQyxFQUFHO1FBQ2pFO01BQ0Q7TUFFQSxJQUFJQyxXQUFXLEdBQU0sRUFBRTtNQUN2QixJQUFJQyxjQUFjLEdBQUdULElBQUksQ0FBQ0gsSUFBSSxDQUM3QixxQkFBcUIsR0FBR0ksV0FBVyxHQUFHLElBQ3ZDLENBQUM7TUFFRCxJQUFJUSxjQUFjLENBQUNmLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDOUJjLFdBQVcsR0FBR0MsY0FBYyxDQUFDTixHQUFHLENBQUMsQ0FBQztNQUNuQztNQUVBLElBQUlPLElBQUksR0FBRztRQUNWVCxXQUFXLEVBQUU7TUFDZCxDQUFDO01BRURTLElBQUksQ0FBQyxTQUFTLEdBQUdULFdBQVcsQ0FBQyxHQUFHTyxXQUFXO01BRTNDLElBQUlHLFVBQVUsR0FBRyxDQUFDLENBQUM7TUFDbkJsQyxNQUFNLENBQUNtQyxJQUFJLENBQ1ZaLElBQUksQ0FBQ2EsY0FBYyxDQUFDLENBQUMsRUFDckIsVUFBVUMsQ0FBQyxFQUFFQyxLQUFLLEVBQUU7UUFDbkIsSUFBSyxXQUFXLEtBQUssT0FBUUosVUFBVSxDQUFDSSxLQUFLLENBQUNDLElBQUksQ0FBRSxFQUFHO1VBQ3RETCxVQUFVLENBQUNJLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLEdBQUdELEtBQUssQ0FBQ0UsS0FBSztRQUNyQyxDQUFDLE1BQU07VUFDTk4sVUFBVSxDQUFDSSxLQUFLLENBQUNDLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBR0QsS0FBSyxDQUFDRSxLQUFLO1FBQzlDO01BQ0QsQ0FDRCxDQUFDO01BRUR2QyxDQUFDLENBQUN3QyxJQUFJLENBQ0w7UUFDQ0MsR0FBRyxFQUFTQyxtQkFBbUIsQ0FBQ0MsUUFBUTtRQUN4Q1gsSUFBSSxFQUFRQyxVQUFVO1FBQ3RCVyxJQUFJLEVBQVEsTUFBTTtRQUNsQkMsVUFBVSxFQUFFLFNBQUFBLENBQUEsRUFBWTtVQUN2QnZCLElBQUksQ0FBQ0gsSUFBSSxDQUFFLGVBQWdCLENBQUMsQ0FBQ1QsUUFBUSxDQUNwQyx5Q0FDRCxDQUFDO1FBQ0Y7TUFDRCxDQUNELENBQUMsQ0FBQ29DLElBQUksQ0FDTCxZQUFZO1FBQ1hDLE1BQU0sQ0FBQ0MsUUFBUSxHQUFHMUIsSUFBSSxDQUFDSCxJQUFJLENBQUUsUUFBUyxDQUFDLENBQUM4QixJQUFJLENBQUUsTUFBTyxDQUFDO01BQ3ZELENBQ0QsQ0FBQztJQUNGO0VBQ0QsQ0FBQztFQUVEaEQsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
133 +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvX2ZlZWRiYWNrX2RlYWN0aXZhdGlvbi9fb3V0L2ZlZWRiYWNrLmpzIiwibmFtZXMiOlsialF1ZXJ5IiwiJCIsIndwYmNfZGVhY3RpdmF0aW9uX2ZlZWRiYWNrIiwiaW5pdCIsImV2ZW50X2luaXQiLCJfdGhhdCIsImRvY3VtZW50IiwiYm9keSIsIm9uIiwiZSIsInByZXZlbnREZWZhdWx0IiwiYWRkQ2xhc3MiLCJjbGljayIsImV2ZW50IiwiJHRhcmdldCIsInRhcmdldCIsImNsb3Nlc3QiLCJsZW5ndGgiLCJyZW1vdmVDbGFzcyIsInNlbmRfZGF0YSIsInNldF9tb3JlX2RldGFpbHNfc3RhdGUiLCJ0cmltIiwidmFsIiwiY2xlYXJfbW9yZV9kZXRhaWxzX2Vycm9yIiwiZm9ybSIsImhhc19zZWxlY3RlZF9yZWFzb24iLCJmaW5kIiwiZGV0YWlsc193cmFwIiwiZGV0YWlsc19maWVsZCIsInNob3ciLCJwcm9wIiwiaGlkZSIsImF0dHIiLCJzaG93X21vcmVfZGV0YWlsc19lcnJvciIsIm1lc3NhZ2UiLCJ0ZXh0IiwidHJpZ2dlciIsInZhbGlkYXRlX21vcmVfZGV0YWlscyIsIndwYmNfcGx1Z2luc19wYXJhbXMiLCJtb3JlX2RldGFpbHNfcmVxdWlyZWRfdGV4dCIsImlzIiwiZW5hYmxlX3N1Ym1pdCIsInJlYXNvbl9zbHVnIiwibWFwIiwiZ2V0Iiwiam9pbiIsImFsZXJ0IiwiaGFzQ2xhc3MiLCJyZWFzb25fdGV4dCIsInJlYXNvbl90ZXh0X2VsIiwiZGF0YSIsInZhbHVlc19hcnIiLCJlYWNoIiwic2VyaWFsaXplQXJyYXkiLCJpIiwiZmllbGQiLCJuYW1lIiwidmFsdWUiLCJhamF4IiwidXJsIiwiYWpheF91cmwiLCJ0eXBlIiwiYmVmb3JlU2VuZCIsImRvbmUiLCJyZXNwb25zZSIsInN1Y2Nlc3MiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImZhaWwiXSwic291cmNlcyI6WyJpbmNsdWRlcy9fZmVlZGJhY2tfZGVhY3RpdmF0aW9uL19zcmMvZmVlZGJhY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIGdsb2JhbCB3cGJjX3BsdWdpbnNfcGFyYW1zXHJcbiAqL1xyXG5qUXVlcnkoXHJcblx0ZnVuY3Rpb24gKCQpIHtcclxuXHRcdHZhciB3cGJjX2RlYWN0aXZhdGlvbl9mZWVkYmFjayA9IHtcclxuXHRcdFx0aW5pdDogZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRcdHRoaXMuZXZlbnRfaW5pdCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRldmVudF9pbml0OiBmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0dmFyIF90aGF0ID0gdGhpcztcclxuXHJcblx0XHRcdFx0JCggZG9jdW1lbnQuYm9keSApLm9uKFxyXG5cdFx0XHRcdFx0XCJjbGlja1wiLFxyXG5cdFx0XHRcdFx0J3RyW2RhdGEtcGx1Z2luPVwiYm9va2luZy93cGRldi1ib29raW5nLnBocFwiXSBzcGFuLmRlYWN0aXZhdGUgYScsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoZSkge1xyXG5cdFx0XHRcdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdFx0XHRcdCQoIFwiI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyXCIgKS5hZGRDbGFzcyggJ2FjdGl2ZScgKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQkKCBkb2N1bWVudC5ib2R5ICkub24oXHJcblx0XHRcdFx0XHRcImNsaWNrXCIsXHJcblx0XHRcdFx0XHQndHJbZGF0YS1wbHVnaW49XCJib29raW5nLWNhbGVuZGFyLWNvbS9ib29raW5nLWNhbGVuZGFyLWNvbS5waHBcIl0gc3Bhbi5kZWFjdGl2YXRlIGEnLFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKGUpIHtcclxuXHRcdFx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0XHRcdFx0XHQkKCAnI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyJyApLmFkZENsYXNzKCAnYWN0aXZlJyApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoIFwiI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyXCIgKS5jbGljayhcclxuXHRcdFx0XHRcdGZ1bmN0aW9uIChldmVudCkge1xyXG5cdFx0XHRcdFx0XHR2YXIgJHRhcmdldCA9ICQoIGV2ZW50LnRhcmdldCApO1xyXG5cdFx0XHRcdFx0XHRpZiAoICEgJHRhcmdldC5jbG9zZXN0KCBcIi53cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stcG9wdXAtaW5uZXJcIiApLmxlbmd0aCApIHtcclxuXHRcdFx0XHRcdFx0XHQkKCBcIiN3cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stcG9wdXAtd3JhcHBlclwiICkucmVtb3ZlQ2xhc3MoXHJcblx0XHRcdFx0XHRcdFx0XHRcImFjdGl2ZVwiXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoIFwiZm9ybS53cGJjX2RlYWN0aXZhdGUtZmVlZGJhY2stZm9ybVwiICkub24oXHJcblx0XHRcdFx0XHQnc3VibWl0JyxcclxuXHRcdFx0XHRcdGZ1bmN0aW9uIChlKSB7XHJcblx0XHRcdFx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHRcdFx0XHRcdFx0X3RoYXQuc2VuZF9kYXRhKCAkKCB0aGlzICkgKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQkKCAnI3dwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC13cmFwcGVyJyApLm9uKFxyXG5cdFx0XHRcdFx0J2NsaWNrJyxcclxuXHRcdFx0XHRcdCcuY2xvc2UtZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cCcsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdCQoICcjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXInICkucmVtb3ZlQ2xhc3MoICdhY3RpdmUnICk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHJcblx0XHRcdFx0JCggJ2lucHV0LndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1pbnB1dCcgKS5vbihcclxuXHRcdFx0XHRcdCdjbGljaycsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdF90aGF0LnNldF9tb3JlX2RldGFpbHNfc3RhdGUoIGpRdWVyeSggXCJmb3JtLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1mb3JtXCIgKSApO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQoICcjd3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLXdyYXBwZXInICkub24oXHJcblx0XHRcdFx0XHQnaW5wdXQnLFxyXG5cdFx0XHRcdFx0Jy5mZWVkYmFjay10ZXh0YXJlYScsXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdGlmICggJycgIT09IGpRdWVyeS50cmltKCBqUXVlcnkoIHRoaXMgKS52YWwoKSApICkge1xyXG5cdFx0XHRcdFx0XHRcdF90aGF0LmNsZWFyX21vcmVfZGV0YWlsc19lcnJvciggalF1ZXJ5KCB0aGlzICkuY2xvc2VzdCggJ2Zvcm0ud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLWZvcm0nICkgKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNldF9tb3JlX2RldGFpbHNfc3RhdGU6IGZ1bmN0aW9uIChmb3JtKSB7XHJcblx0XHRcdFx0dmFyIGhhc19zZWxlY3RlZF9yZWFzb24gPSBmb3JtLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5sZW5ndGggPiAwO1xyXG5cdFx0XHRcdHZhciBkZXRhaWxzX3dyYXAgICAgICAgID0gZm9ybS5maW5kKCAnLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC1mb3JtLW1vcmUtZGV0YWlscycgKTtcclxuXHRcdFx0XHR2YXIgZGV0YWlsc19maWVsZCAgICAgICA9IGRldGFpbHNfd3JhcC5maW5kKCAnLmZlZWRiYWNrLXRleHRhcmVhJyApO1xyXG5cclxuXHRcdFx0XHRpZiAoIGhhc19zZWxlY3RlZF9yZWFzb24gKSB7XHJcblx0XHRcdFx0XHRkZXRhaWxzX3dyYXAuc2hvdygpO1xyXG5cdFx0XHRcdFx0ZGV0YWlsc19maWVsZC5wcm9wKCAncmVxdWlyZWQnLCB0cnVlICk7XHJcblx0XHRcdFx0XHRmb3JtLmZpbmQoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tZm9vdGVyIC5za2lwJyApLmhpZGUoKTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0ZGV0YWlsc193cmFwLmhpZGUoKTtcclxuXHRcdFx0XHRcdGRldGFpbHNfZmllbGQucHJvcCggJ3JlcXVpcmVkJywgZmFsc2UgKS52YWwoICcnICk7XHJcblx0XHRcdFx0XHRmb3JtLmZpbmQoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLXBvcHVwLWZvcm0tZm9vdGVyIC5za2lwJyApLnNob3coKTtcclxuXHRcdFx0XHRcdHRoaXMuY2xlYXJfbW9yZV9kZXRhaWxzX2Vycm9yKCBmb3JtICk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbGVhcl9tb3JlX2RldGFpbHNfZXJyb3I6IGZ1bmN0aW9uIChmb3JtKSB7XHJcblx0XHRcdFx0Zm9ybS5maW5kKCAnLmZlZWRiYWNrLXRleHRhcmVhJyApLmF0dHIoICdhcmlhLWludmFsaWQnLCAnZmFsc2UnICk7XHJcblx0XHRcdFx0Zm9ybS5maW5kKCAnLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1tb3JlLWRldGFpbHMtZXJyb3InICkuaGlkZSgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaG93X21vcmVfZGV0YWlsc19lcnJvcjogZnVuY3Rpb24gKGZvcm0sIG1lc3NhZ2UpIHtcclxuXHRcdFx0XHR2YXIgZGV0YWlsc19maWVsZCA9IGZvcm0uZmluZCggJy5mZWVkYmFjay10ZXh0YXJlYScgKTtcclxuXHRcdFx0XHRmb3JtLmZpbmQoICcud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLW1vcmUtZGV0YWlscy1lcnJvcicgKS50ZXh0KCBtZXNzYWdlICkuc2hvdygpO1xyXG5cdFx0XHRcdGRldGFpbHNfZmllbGQuYXR0ciggJ2FyaWEtaW52YWxpZCcsICd0cnVlJyApLnRyaWdnZXIoICdmb2N1cycgKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dmFsaWRhdGVfbW9yZV9kZXRhaWxzOiBmdW5jdGlvbiAoZm9ybSkge1xyXG5cdFx0XHRcdHZhciBkZXRhaWxzX3dyYXAgID0gZm9ybS5maW5kKCAnLndwYmNfZGVhY3RpdmF0ZS1mZWVkYmFjay1wb3B1cC1mb3JtLW1vcmUtZGV0YWlscycgKTtcclxuXHRcdFx0XHR2YXIgZGV0YWlsc19maWVsZCA9IGRldGFpbHNfd3JhcC5maW5kKCAnLmZlZWRiYWNrLXRleHRhcmVhJyApO1xyXG5cdFx0XHRcdHZhciBtZXNzYWdlICAgICAgID0gKFxyXG5cdFx0XHRcdFx0J3VuZGVmaW5lZCcgIT09IHR5cGVvZiB3cGJjX3BsdWdpbnNfcGFyYW1zICYmXHJcblx0XHRcdFx0XHQndW5kZWZpbmVkJyAhPT0gdHlwZW9mIHdwYmNfcGx1Z2luc19wYXJhbXMubW9yZV9kZXRhaWxzX3JlcXVpcmVkX3RleHRcclxuXHRcdFx0XHRcdCkgPyB3cGJjX3BsdWdpbnNfcGFyYW1zLm1vcmVfZGV0YWlsc19yZXF1aXJlZF90ZXh0IDogJ1BsZWFzZSBzaGFyZSBtb3JlIGRldGFpbHMgYmVmb3JlIHN1Ym1pdHRpbmcuJztcclxuXHJcblx0XHRcdFx0aWYgKCBkZXRhaWxzX3dyYXAuaXMoICc6dmlzaWJsZScgKSAmJiAnJyA9PT0galF1ZXJ5LnRyaW0oIGRldGFpbHNfZmllbGQudmFsKCkgKSApIHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd19tb3JlX2RldGFpbHNfZXJyb3IoIGZvcm0sIG1lc3NhZ2UgKTtcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHRoaXMuY2xlYXJfbW9yZV9kZXRhaWxzX2Vycm9yKCBmb3JtICk7XHJcblx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGVuYWJsZV9zdWJtaXQ6IGZ1bmN0aW9uIChmb3JtKSB7XHJcblx0XHRcdFx0Zm9ybS5maW5kKCBcImJ1dHRvbi5zdWJtaXRcIiApLnJlbW92ZUNsYXNzKCBcImJ1dHRvbi1kaXNhYmxlZCBidXR0b24gdXBkYXRpbmctbWVzc2FnZVwiICk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlbmRfZGF0YTogZnVuY3Rpb24gKGZvcm0pIHtcclxuXHRcdFx0XHR2YXIgcmVhc29uX3NsdWcgPSBmb3JtLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5tYXAoXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBqUXVlcnkoIHRoaXMgKS52YWwoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpLmdldCgpLmpvaW4oICcgfCAnICk7XHJcblxyXG5cdFx0XHRcdGlmICggMCA9PT0galF1ZXJ5KCBcImZvcm0ud3BiY19kZWFjdGl2YXRlLWZlZWRiYWNrLWZvcm1cIiApLmZpbmQoICdpbnB1dFtuYW1lPVwicmVhc29uX3NsdWdcIl06Y2hlY2tlZCcgKS5sZW5ndGggKSB7XHJcblx0XHRcdFx0XHRhbGVydCggXCJQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSBvcHRpb24gZnJvbSB0aGUgbGlzdFwiICk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpZiAoICEgdGhpcy52YWxpZGF0ZV9tb3JlX2RldGFpbHMoIGZvcm0gKSApIHtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmICggZm9ybS5maW5kKCBcImJ1dHRvbi5zdWJtaXRcIiApLmhhc0NsYXNzKCBcImJ1dHRvbi1kaXNhYmxlZFwiICkgKSB7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR2YXIgcmVhc29uX3RleHQgICAgPSAnJztcclxuXHRcdFx0XHR2YXIgcmVhc29uX3RleHRfZWwgPSBmb3JtLmZpbmQoXHJcblx0XHRcdFx0XHQnaW5wdXRbbmFtZT1cInJlYXNvbl8nICsgcmVhc29uX3NsdWcgKyAnXCJdJ1xyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdGlmIChyZWFzb25fdGV4dF9lbC5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRyZWFzb25fdGV4dCA9IHJlYXNvbl90ZXh0X2VsLnZhbCgpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dmFyIGRhdGEgPSB7XHJcblx0XHRcdFx0XHRyZWFzb25fc2x1ZzogXCJ1c2VyX3JlZ2lzdHJhdGlvbl9kZWFjdGl2YXRpb25fbm90aWNlXCIsXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0ZGF0YVtcInJlYXNvbl9cIiArIHJlYXNvbl9zbHVnXSA9IHJlYXNvbl90ZXh0O1xyXG5cclxuXHRcdFx0XHR2YXIgdmFsdWVzX2FyciA9IHt9O1xyXG5cdFx0XHRcdGpRdWVyeS5lYWNoKFxyXG5cdFx0XHRcdFx0Zm9ybS5zZXJpYWxpemVBcnJheSgpLFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKGksIGZpZWxkKSB7XHJcblx0XHRcdFx0XHRcdGlmICggJ3VuZGVmaW5lZCcgPT09IHR5cGVvZiAodmFsdWVzX2FycltmaWVsZC5uYW1lXSkgKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFsdWVzX2FycltmaWVsZC5uYW1lXSA9IGZpZWxkLnZhbHVlO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHZhbHVlc19hcnJbZmllbGQubmFtZV0gKz0gJyB8ICcgKyBmaWVsZC52YWx1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdCQuYWpheChcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dXJsICAgICAgIDogd3BiY19wbHVnaW5zX3BhcmFtcy5hamF4X3VybCxcclxuXHRcdFx0XHRcdFx0ZGF0YSAgICAgIDogdmFsdWVzX2FycixcclxuXHRcdFx0XHRcdFx0dHlwZSAgICAgIDogXCJwb3N0XCIsXHJcblx0XHRcdFx0XHRcdGJlZm9yZVNlbmQ6IGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRcdFx0XHRmb3JtLmZpbmQoIFwiYnV0dG9uLnN1Ym1pdFwiICkuYWRkQ2xhc3MoXHJcblx0XHRcdFx0XHRcdFx0XHRcImJ1dHRvbi1kaXNhYmxlZCBidXR0b24gdXBkYXRpbmctbWVzc2FnZVwiXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpLmRvbmUoXHJcblx0XHRcdFx0XHRmdW5jdGlvbiAocmVzcG9uc2UpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCByZXNwb25zZSAmJiByZXNwb25zZS5zdWNjZXNzICkge1xyXG5cdFx0XHRcdFx0XHRcdHdpbmRvdy5sb2NhdGlvbiA9IGZvcm0uZmluZCggXCJhLnNraXBcIiApLmF0dHIoIFwiaHJlZlwiICk7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRfdGhhdC5lbmFibGVfc3VibWl0KCBmb3JtICk7XHJcblx0XHRcdFx0XHRcdF90aGF0LnNob3dfbW9yZV9kZXRhaWxzX2Vycm9yKFxyXG5cdFx0XHRcdFx0XHRcdGZvcm0sXHJcblx0XHRcdFx0XHRcdFx0cmVzcG9uc2UgJiYgcmVzcG9uc2UuZGF0YSAmJiByZXNwb25zZS5kYXRhLm1lc3NhZ2UgPyByZXNwb25zZS5kYXRhLm1lc3NhZ2UgOiAnUGxlYXNlIHNoYXJlIG1vcmUgZGV0YWlscyBiZWZvcmUgc3VibWl0dGluZy4nXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KS5mYWlsKFxyXG5cdFx0XHRcdFx0ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRcdFx0XHRfdGhhdC5lbmFibGVfc3VibWl0KCBmb3JtICk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSxcclxuXHRcdH07XHJcblxyXG5cdFx0d3BiY19kZWFjdGl2YXRpb25fZmVlZGJhY2suaW5pdCgpO1xyXG5cdH1cclxuKTtcclxuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBQSxNQUFNLENBQ0wsVUFBVUMsQ0FBQyxFQUFFO0VBQ1osSUFBSUMsMEJBQTBCLEdBQUc7SUFDaENDLElBQUksRUFBRSxTQUFBQSxDQUFBLEVBQVk7TUFDakIsSUFBSSxDQUFDQyxVQUFVLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0RBLFVBQVUsRUFBRSxTQUFBQSxDQUFBLEVBQVk7TUFDdkIsSUFBSUMsS0FBSyxHQUFHLElBQUk7TUFFaEJKLENBQUMsQ0FBRUssUUFBUSxDQUFDQyxJQUFLLENBQUMsQ0FBQ0MsRUFBRSxDQUNwQixPQUFPLEVBQ1AsK0RBQStELEVBQy9ELFVBQVVDLENBQUMsRUFBRTtRQUNaQSxDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xCVCxDQUFDLENBQUUseUNBQTBDLENBQUMsQ0FBQ1UsUUFBUSxDQUFFLFFBQVMsQ0FBQztNQUNwRSxDQUNELENBQUM7TUFFRFYsQ0FBQyxDQUFFSyxRQUFRLENBQUNDLElBQUssQ0FBQyxDQUFDQyxFQUFFLENBQ3BCLE9BQU8sRUFDUCxtRkFBbUYsRUFDbkYsVUFBVUMsQ0FBQyxFQUFFO1FBQ1pBLENBQUMsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7UUFDbEJULENBQUMsQ0FBRSx5Q0FBMEMsQ0FBQyxDQUFDVSxRQUFRLENBQUUsUUFBUyxDQUFDO01BQ3BFLENBQ0QsQ0FBQztNQUVEVixDQUFDLENBQUUseUNBQTBDLENBQUMsQ0FBQ1csS0FBSyxDQUNuRCxVQUFVQyxLQUFLLEVBQUU7UUFDaEIsSUFBSUMsT0FBTyxHQUFHYixDQUFDLENBQUVZLEtBQUssQ0FBQ0UsTUFBTyxDQUFDO1FBQy9CLElBQUssQ0FBRUQsT0FBTyxDQUFDRSxPQUFPLENBQUUsdUNBQXdDLENBQUMsQ0FBQ0MsTUFBTSxFQUFHO1VBQzFFaEIsQ0FBQyxDQUFFLHlDQUEwQyxDQUFDLENBQUNpQixXQUFXLENBQ3pELFFBQ0QsQ0FBQztRQUNGO01BQ0QsQ0FDRCxDQUFDO01BRURqQixDQUFDLENBQUUsb0NBQXFDLENBQUMsQ0FBQ08sRUFBRSxDQUMzQyxRQUFRLEVBQ1IsVUFBVUMsQ0FBQyxFQUFFO1FBQ1pBLENBQUMsQ0FBQ0MsY0FBYyxDQUFDLENBQUM7UUFDbEJMLEtBQUssQ0FBQ2MsU0FBUyxDQUFFbEIsQ0FBQyxDQUFFLElBQUssQ0FBRSxDQUFDO01BQzdCLENBQ0QsQ0FBQztNQUVEQSxDQUFDLENBQUUseUNBQTBDLENBQUMsQ0FBQ08sRUFBRSxDQUNoRCxPQUFPLEVBQ1Asa0NBQWtDLEVBQ2xDLFlBQVk7UUFDWFAsQ0FBQyxDQUFFLHlDQUEwQyxDQUFDLENBQUNpQixXQUFXLENBQUUsUUFBUyxDQUFDO01BQ3ZFLENBQ0QsQ0FBQztNQUVEakIsQ0FBQyxDQUFFLHNDQUF1QyxDQUFDLENBQUNPLEVBQUUsQ0FDN0MsT0FBTyxFQUNQLFlBQVk7UUFDWEgsS0FBSyxDQUFDZSxzQkFBc0IsQ0FBRXBCLE1BQU0sQ0FBRSxvQ0FBcUMsQ0FBRSxDQUFDO01BQy9FLENBQ0QsQ0FBQztNQUVEQyxDQUFDLENBQUUseUNBQTBDLENBQUMsQ0FBQ08sRUFBRSxDQUNoRCxPQUFPLEVBQ1Asb0JBQW9CLEVBQ3BCLFlBQVk7UUFDWCxJQUFLLEVBQUUsS0FBS1IsTUFBTSxDQUFDcUIsSUFBSSxDQUFFckIsTUFBTSxDQUFFLElBQUssQ0FBQyxDQUFDc0IsR0FBRyxDQUFDLENBQUUsQ0FBQyxFQUFHO1VBQ2pEakIsS0FBSyxDQUFDa0Isd0JBQXdCLENBQUV2QixNQUFNLENBQUUsSUFBSyxDQUFDLENBQUNnQixPQUFPLENBQUUsb0NBQXFDLENBQUUsQ0FBQztRQUNqRztNQUNELENBQ0QsQ0FBQztJQUNGLENBQUM7SUFDREksc0JBQXNCLEVBQUUsU0FBQUEsQ0FBVUksSUFBSSxFQUFFO01BQ3ZDLElBQUlDLG1CQUFtQixHQUFHRCxJQUFJLENBQUNFLElBQUksQ0FBRSxtQ0FBb0MsQ0FBQyxDQUFDVCxNQUFNLEdBQUcsQ0FBQztNQUNyRixJQUFJVSxZQUFZLEdBQVVILElBQUksQ0FBQ0UsSUFBSSxDQUFFLG1EQUFvRCxDQUFDO01BQzFGLElBQUlFLGFBQWEsR0FBU0QsWUFBWSxDQUFDRCxJQUFJLENBQUUsb0JBQXFCLENBQUM7TUFFbkUsSUFBS0QsbUJBQW1CLEVBQUc7UUFDMUJFLFlBQVksQ0FBQ0UsSUFBSSxDQUFDLENBQUM7UUFDbkJELGFBQWEsQ0FBQ0UsSUFBSSxDQUFFLFVBQVUsRUFBRSxJQUFLLENBQUM7UUFDdENOLElBQUksQ0FBQ0UsSUFBSSxDQUFFLG1EQUFvRCxDQUFDLENBQUNLLElBQUksQ0FBQyxDQUFDO01BQ3hFLENBQUMsTUFBTTtRQUNOSixZQUFZLENBQUNJLElBQUksQ0FBQyxDQUFDO1FBQ25CSCxhQUFhLENBQUNFLElBQUksQ0FBRSxVQUFVLEVBQUUsS0FBTSxDQUFDLENBQUNSLEdBQUcsQ0FBRSxFQUFHLENBQUM7UUFDakRFLElBQUksQ0FBQ0UsSUFBSSxDQUFFLG1EQUFvRCxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQ04sd0JBQXdCLENBQUVDLElBQUssQ0FBQztNQUN0QztJQUNELENBQUM7SUFDREQsd0JBQXdCLEVBQUUsU0FBQUEsQ0FBVUMsSUFBSSxFQUFFO01BQ3pDQSxJQUFJLENBQUNFLElBQUksQ0FBRSxvQkFBcUIsQ0FBQyxDQUFDTSxJQUFJLENBQUUsY0FBYyxFQUFFLE9BQVEsQ0FBQztNQUNqRVIsSUFBSSxDQUFDRSxJQUFJLENBQUUsOENBQStDLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNERSx1QkFBdUIsRUFBRSxTQUFBQSxDQUFVVCxJQUFJLEVBQUVVLE9BQU8sRUFBRTtNQUNqRCxJQUFJTixhQUFhLEdBQUdKLElBQUksQ0FBQ0UsSUFBSSxDQUFFLG9CQUFxQixDQUFDO01BQ3JERixJQUFJLENBQUNFLElBQUksQ0FBRSw4Q0FBK0MsQ0FBQyxDQUFDUyxJQUFJLENBQUVELE9BQVEsQ0FBQyxDQUFDTCxJQUFJLENBQUMsQ0FBQztNQUNsRkQsYUFBYSxDQUFDSSxJQUFJLENBQUUsY0FBYyxFQUFFLE1BQU8sQ0FBQyxDQUFDSSxPQUFPLENBQUUsT0FBUSxDQUFDO0lBQ2hFLENBQUM7SUFDREMscUJBQXFCLEVBQUUsU0FBQUEsQ0FBVWIsSUFBSSxFQUFFO01BQ3RDLElBQUlHLFlBQVksR0FBSUgsSUFBSSxDQUFDRSxJQUFJLENBQUUsbURBQW9ELENBQUM7TUFDcEYsSUFBSUUsYUFBYSxHQUFHRCxZQUFZLENBQUNELElBQUksQ0FBRSxvQkFBcUIsQ0FBQztNQUM3RCxJQUFJUSxPQUFPLEdBQ1YsV0FBVyxLQUFLLE9BQU9JLG1CQUFtQixJQUMxQyxXQUFXLEtBQUssT0FBT0EsbUJBQW1CLENBQUNDLDBCQUEwQixHQUNqRUQsbUJBQW1CLENBQUNDLDBCQUEwQixHQUFHLDhDQUE4QztNQUVwRyxJQUFLWixZQUFZLENBQUNhLEVBQUUsQ0FBRSxVQUFXLENBQUMsSUFBSSxFQUFFLEtBQUt4QyxNQUFNLENBQUNxQixJQUFJLENBQUVPLGFBQWEsQ0FBQ04sR0FBRyxDQUFDLENBQUUsQ0FBQyxFQUFHO1FBQ2pGLElBQUksQ0FBQ1csdUJBQXVCLENBQUVULElBQUksRUFBRVUsT0FBUSxDQUFDO1FBQzdDLE9BQU8sS0FBSztNQUNiO01BRUEsSUFBSSxDQUFDWCx3QkFBd0IsQ0FBRUMsSUFBSyxDQUFDO01BQ3JDLE9BQU8sSUFBSTtJQUNaLENBQUM7SUFDRGlCLGFBQWEsRUFBRSxTQUFBQSxDQUFVakIsSUFBSSxFQUFFO01BQzlCQSxJQUFJLENBQUNFLElBQUksQ0FBRSxlQUFnQixDQUFDLENBQUNSLFdBQVcsQ0FBRSx5Q0FBMEMsQ0FBQztJQUN0RixDQUFDO0lBQ0RDLFNBQVMsRUFBRSxTQUFBQSxDQUFVSyxJQUFJLEVBQUU7TUFDMUIsSUFBSWtCLFdBQVcsR0FBR2xCLElBQUksQ0FBQ0UsSUFBSSxDQUFFLG1DQUFvQyxDQUFDLENBQUNpQixHQUFHLENBQ3JFLFlBQVk7UUFDWCxPQUFPM0MsTUFBTSxDQUFFLElBQUssQ0FBQyxDQUFDc0IsR0FBRyxDQUFDLENBQUM7TUFDNUIsQ0FDRCxDQUFDLENBQUNzQixHQUFHLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUUsS0FBTSxDQUFDO01BRXJCLElBQUssQ0FBQyxLQUFLN0MsTUFBTSxDQUFFLG9DQUFxQyxDQUFDLENBQUMwQixJQUFJLENBQUUsbUNBQW9DLENBQUMsQ0FBQ1QsTUFBTSxFQUFHO1FBQzlHNkIsS0FBSyxDQUFFLGlEQUFrRCxDQUFDO1FBQzFEO01BQ0Q7TUFFQSxJQUFLLENBQUUsSUFBSSxDQUFDVCxxQkFBcUIsQ0FBRWIsSUFBSyxDQUFDLEVBQUc7UUFDM0M7TUFDRDtNQUVBLElBQUtBLElBQUksQ0FBQ0UsSUFBSSxDQUFFLGVBQWdCLENBQUMsQ0FBQ3FCLFFBQVEsQ0FBRSxpQkFBa0IsQ0FBQyxFQUFHO1FBQ2pFO01BQ0Q7TUFFQSxJQUFJQyxXQUFXLEdBQU0sRUFBRTtNQUN2QixJQUFJQyxjQUFjLEdBQUd6QixJQUFJLENBQUNFLElBQUksQ0FDN0IscUJBQXFCLEdBQUdnQixXQUFXLEdBQUcsSUFDdkMsQ0FBQztNQUVELElBQUlPLGNBQWMsQ0FBQ2hDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDOUIrQixXQUFXLEdBQUdDLGNBQWMsQ0FBQzNCLEdBQUcsQ0FBQyxDQUFDO01BQ25DO01BRUEsSUFBSTRCLElBQUksR0FBRztRQUNWUixXQUFXLEVBQUU7TUFDZCxDQUFDO01BRURRLElBQUksQ0FBQyxTQUFTLEdBQUdSLFdBQVcsQ0FBQyxHQUFHTSxXQUFXO01BRTNDLElBQUlHLFVBQVUsR0FBRyxDQUFDLENBQUM7TUFDbkJuRCxNQUFNLENBQUNvRCxJQUFJLENBQ1Y1QixJQUFJLENBQUM2QixjQUFjLENBQUMsQ0FBQyxFQUNyQixVQUFVQyxDQUFDLEVBQUVDLEtBQUssRUFBRTtRQUNuQixJQUFLLFdBQVcsS0FBSyxPQUFRSixVQUFVLENBQUNJLEtBQUssQ0FBQ0MsSUFBSSxDQUFFLEVBQUc7VUFDdERMLFVBQVUsQ0FBQ0ksS0FBSyxDQUFDQyxJQUFJLENBQUMsR0FBR0QsS0FBSyxDQUFDRSxLQUFLO1FBQ3JDLENBQUMsTUFBTTtVQUNOTixVQUFVLENBQUNJLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHRCxLQUFLLENBQUNFLEtBQUs7UUFDOUM7TUFDRCxDQUNELENBQUM7TUFFRHhELENBQUMsQ0FBQ3lELElBQUksQ0FDTDtRQUNDQyxHQUFHLEVBQVNyQixtQkFBbUIsQ0FBQ3NCLFFBQVE7UUFDeENWLElBQUksRUFBUUMsVUFBVTtRQUN0QlUsSUFBSSxFQUFRLE1BQU07UUFDbEJDLFVBQVUsRUFBRSxTQUFBQSxDQUFBLEVBQVk7VUFDdkJ0QyxJQUFJLENBQUNFLElBQUksQ0FBRSxlQUFnQixDQUFDLENBQUNmLFFBQVEsQ0FDcEMseUNBQ0QsQ0FBQztRQUNGO01BQ0QsQ0FDRCxDQUFDLENBQUNvRCxJQUFJLENBQ0wsVUFBVUMsUUFBUSxFQUFFO1FBQ25CLElBQUtBLFFBQVEsSUFBSUEsUUFBUSxDQUFDQyxPQUFPLEVBQUc7VUFDbkNDLE1BQU0sQ0FBQ0MsUUFBUSxHQUFHM0MsSUFBSSxDQUFDRSxJQUFJLENBQUUsUUFBUyxDQUFDLENBQUNNLElBQUksQ0FBRSxNQUFPLENBQUM7VUFDdEQ7UUFDRDtRQUVBM0IsS0FBSyxDQUFDb0MsYUFBYSxDQUFFakIsSUFBSyxDQUFDO1FBQzNCbkIsS0FBSyxDQUFDNEIsdUJBQXVCLENBQzVCVCxJQUFJLEVBQ0p3QyxRQUFRLElBQUlBLFFBQVEsQ0FBQ2QsSUFBSSxJQUFJYyxRQUFRLENBQUNkLElBQUksQ0FBQ2hCLE9BQU8sR0FBRzhCLFFBQVEsQ0FBQ2QsSUFBSSxDQUFDaEIsT0FBTyxHQUFHLDhDQUM5RSxDQUFDO01BQ0YsQ0FDRCxDQUFDLENBQUNrQyxJQUFJLENBQ0wsWUFBWTtRQUNYL0QsS0FBSyxDQUFDb0MsYUFBYSxDQUFFakIsSUFBSyxDQUFDO01BQzVCLENBQ0QsQ0FBQztJQUNGO0VBQ0QsQ0FBQztFQUVEdEIsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQ0QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==