PluginProbe
Booking Calendar / 11.9
Booking Calendar v11.9
11.9 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 All 205 releases
← All changes | includes/_toolbar_ui/_out/toolbar_ui.js +16 -21 10.1.3 → 11.9 View file →
@@ -1,5 +1,6 @@
1 1 "use strict";
2 +
2 3 /**
3 4 * Encode HTML text to safe HTML entities
4 5 *
5 6 * Replace all characters in the given range (unicode 00A0 - 9999, as well as ampersand, greater & less than)
@@ -7,9 +8,8 @@
7 8 *
8 9 * @param rawStr
9 10 * @returns {*}
10 11 */
11 -
12 12 function wpbc_get_safe_html_text(rawStr) {
13 13 var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function (i) {
14 14 return '&#' + i.charCodeAt(0) + ';';
15 15 });
@@ -14,84 +14,79 @@
14 14 return '&#' + i.charCodeAt(0) + ';';
15 15 });
16 16 return encodedStr;
17 17 }
18 +
18 19 /**
19 20 * Change Value and Title of dropdown after clicking on Apply button
20 21 *
21 22 * @param params Example: { 'dropdown_id': 'wh_booking_date', 'dropdown_radio_name': 'ui_wh_booking_date_radio' }
22 23 */
23 -
24 -
25 24 function wpbc_ui_dropdown_apply_click(params) {
26 25 // Get input values of all elements in LI section, where RADIO was selected
27 26 var filter_ui_dates_arr = jQuery('input[name="' + params['dropdown_radio_name'] + '"]:checked').parents('li').find(':input').map(function () {
28 27 return wpbc_get_safe_html_text(jQuery(this).val());
29 28 }).get();
30 -
31 29 if (0 !== filter_ui_dates_arr.length) {
32 30 // Continue only if radio button was selected, and we are having value
31 +
33 32 // Get titles of all elements in LI section, where RADIO was selected
34 33 var filter_ui_titles_arr = jQuery('input[name="' + params['dropdown_radio_name'] + '"]:checked').parents('li').find(':input').map(function () {
35 34 if ('text' == jQuery(this).prop('type')) {
36 35 return jQuery(this).val();
37 36 }
38 -
39 37 if ('selectbox-one' == jQuery(this).prop('type') || 'select-one' == jQuery(this).prop('type')) {
40 38 return jQuery(this).find(':selected').text();
41 39 }
42 -
43 40 if ('radio' == jQuery(this).prop('type') || 'checkbox' == jQuery(this).prop('type')) {
44 41 var input_selected = jQuery(this).filter(':checked').next('.wpbc_ui_control_label').html();
45 -
46 42 if (undefined == input_selected) {
47 43 input_selected = jQuery(this).filter(':checked').prev('.wpbc_ui_control_label').html();
48 44 }
49 -
50 45 return undefined !== input_selected ? input_selected : '';
51 46 }
52 -
53 47 return jQuery(this).val();
54 - }).get(); // Update Value to dropdown input hidden elements. Such value stringify.
48 + }).get();
55 49
56 - jQuery('#' + params['dropdown_id']).val(JSON.stringify(filter_ui_dates_arr)); // Generate change action, for ability to send Ajax request
50 + // Update Value to dropdown input hidden elements. Such value stringify.
51 + jQuery('#' + params['dropdown_id']).val(JSON.stringify(filter_ui_dates_arr));
57 52
58 - jQuery('#' + params['dropdown_id']).trigger('change'); // Get Label of selected Radio button
53 + // Generate change action, for ability to send Ajax request
54 + jQuery('#' + params['dropdown_id']).trigger('change');
59 55
60 - var filter_ui_dates_title = jQuery('input[name="' + params['dropdown_radio_name'] + '"]:checked').next('.wpbc_ui_control_label').html() + ': '; // Remove selected value of radio button from beginning, we will use Label title instead
56 + // Get Label of selected Radio button
57 + var filter_ui_dates_title = jQuery('input[name="' + params['dropdown_radio_name'] + '"]:checked').next('.wpbc_ui_control_label').html() + ': ';
61 58
62 - filter_ui_titles_arr.shift(); // Update Title in dropdown
59 + // Remove selected value of radio button from beginning, we will use Label title instead
60 + filter_ui_titles_arr.shift();
63 61
62 + // Update Title in dropdown
64 63 var encoded_html_text = wpbc_get_safe_html_text(filter_ui_dates_title + filter_ui_titles_arr.join(' - '));
65 64 jQuery('#' + params['dropdown_id'] + '_selector .wpbc_selected_in_dropdown').html(encoded_html_text);
66 65 }
67 -
68 66 jQuery('#' + params['dropdown_id'] + '_container').hide();
69 67 }
68 +
70 69 /**
71 70 * Close dropdown after clicking on Close button
72 71 *
73 72 * @param dropdown_id ID of dropdown
74 73 */
75 -
76 -
77 74 function wpbc_ui_dropdown_close_click(dropdown_id) {
78 75 jQuery('#' + dropdown_id + '_container').hide();
79 76 }
77 +
80 78 /**
81 79 * Simple option click on dropdown
82 80 *
83 81 * @param params Example: { 'dropdown_id': 'wh_booking_date', 'is_this_simple_list': true, 'value': '5', '_this': this }
84 82 */
85 -
86 -
87 83 function wpbc_ui_dropdown_simple_click(params) {
88 84 jQuery('#' + params['dropdown_id'] + '_selector .wpbc_selected_in_dropdown').html(jQuery(params['_this']).html());
89 85 jQuery('#' + params['dropdown_id']).val(JSON.stringify([params['value']]));
90 86 jQuery('#' + params['dropdown_id'] + '_container li input[type=checkbox],' + '#' + params['dropdown_id'] + '_container li input[type=radio]').prop('checked', false);
91 87 jQuery('#' + params['dropdown_id']).trigger('change');
92 -
93 88 if (!params['is_this_simple_list']) {
94 89 jQuery('#' + params['dropdown_id'] + '_container').hide();
95 90 }
96 91 }
97 -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluY2x1ZGVzL190b29sYmFyX3VpL19zcmMvdG9vbGJhcl91aS5qcyJdLCJuYW1lcyI6WyJ3cGJjX2dldF9zYWZlX2h0bWxfdGV4dCIsInJhd1N0ciIsImVuY29kZWRTdHIiLCJyZXBsYWNlIiwiaSIsImNoYXJDb2RlQXQiLCJ3cGJjX3VpX2Ryb3Bkb3duX2FwcGx5X2NsaWNrIiwicGFyYW1zIiwiZmlsdGVyX3VpX2RhdGVzX2FyciIsImpRdWVyeSIsInBhcmVudHMiLCJmaW5kIiwibWFwIiwidmFsIiwiZ2V0IiwibGVuZ3RoIiwiZmlsdGVyX3VpX3RpdGxlc19hcnIiLCJwcm9wIiwidGV4dCIsImlucHV0X3NlbGVjdGVkIiwiZmlsdGVyIiwibmV4dCIsImh0bWwiLCJ1bmRlZmluZWQiLCJwcmV2IiwiSlNPTiIsInN0cmluZ2lmeSIsInRyaWdnZXIiLCJmaWx0ZXJfdWlfZGF0ZXNfdGl0bGUiLCJzaGlmdCIsImVuY29kZWRfaHRtbF90ZXh0Iiwiam9pbiIsImhpZGUiLCJ3cGJjX3VpX2Ryb3Bkb3duX2Nsb3NlX2NsaWNrIiwiZHJvcGRvd25faWQiLCJ3cGJjX3VpX2Ryb3Bkb3duX3NpbXBsZV9jbGljayJdLCJtYXBwaW5ncyI6IkFBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsU0FBU0EsdUJBQVQsQ0FBa0NDLE1BQWxDLEVBQTBDO0FBRXpDLE1BQUlDLFVBQVUsR0FBR0QsTUFBTSxDQUFDRSxPQUFQLENBQWdCLHNCQUFoQixFQUF3QyxVQUFXQyxDQUFYLEVBQWM7QUFDdEUsV0FBTyxPQUFPQSxDQUFDLENBQUNDLFVBQUYsQ0FBYyxDQUFkLENBQVAsR0FBMkIsR0FBbEM7QUFDQSxHQUZnQixDQUFqQjtBQUlBLFNBQU9ILFVBQVA7QUFDQTtBQUdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNJLDRCQUFULENBQXVDQyxNQUF2QyxFQUErQztBQUU5QztBQUNBLE1BQUlDLG1CQUFtQixHQUFHQyxN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QUVBLE1BQUssQ0FBRXBCLE1BQU0sQ0FBRSxxQkFBRixDQUFiLEVBQXdDO0FBQ3ZDRSxJQUFBQSxNQUFNLENBQUUsTUFBTUYsTUFBTSxDQUFFLGFBQUYsQ0FBWixHQUFnQyxZQUFsQyxDQUFOLENBQXVEeUIsSUFBdkQ7QUFDQTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5cclxuLyoqXHJcbiAqIEVuY29kZSBIVE1MIHRleHQgdG8gc2FmZSBIVE1MIGVudGl0aWVzXHJcbiAqXHJcbiAqIFJlcGxhY2UgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIGdpdmVuIHJhbmdlICh1bmljb2RlIDAwQTAgLSA5OTk5LCBhcyB3ZWxsIGFzIGFtcGVyc2FuZCwgZ3JlYXRlciAmIGxlc3MgdGhhbilcclxuICogd2l0aCB0aGVpciBodG1sIGVudGl0eSBlcXVpdmFsZW50cywgd2hpY2ggaXMgc2ltcGx5ICYjbm5uOyB3aGVyZSBubm4gaXMgdGhlIHVuaWNvZGUgdmFsdWUgd2UgZ2V0IGZyb20gY2hhckNvZGVBdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmF3U3RyXHJcbiAqIEByZXR1cm5zIHsqfVxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19nZXRfc2FmZV9odG1sX3RleHQoIHJhd1N0ciApe1xyXG5cclxuXHR2YXIgZW5jb2RlZFN0ciA9IHJhd1N0ci5yZXBsYWNlKCAvW1xcdTAwQTAtXFx1OTk5OTw+XFwmXS9nLCBmdW5jdGlvbiAoIGkgKXtcclxuXHRcdHJldHVybiAnJiMnICsgaS5jaGFyQ29kZUF0KCAwICkgKyAnOyc7XHJcblx0fSApO1xyXG5cclxuXHRyZXR1cm4gZW5jb2RlZFN0cjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDaGFuZ2UgVmFsdWUgYW5kIFRpdGxlIG9mIGRyb3Bkb3duIGFmdGVyIGNsaWNraW5nIG9uIEFwcGx5IGJ1dHRvblxyXG4gKlxyXG4gKiBAcGFyYW0gcGFyYW1zXHRFeGFtcGxlOiB7ICdkcm9wZG93bl9pZCc6ICd3aF9ib29raW5nX2RhdGUnLCAnZHJvcGRvd25fcmFkaW9fbmFtZSc6ICd1aV93aF9ib29raW5nX2RhdGVfcmFkaW8nIH1cclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfdWlfZHJvcGRvd25fYXBwbHlfY2xpY2soIHBhcmFtcyApe1xyXG5cclxuXHQvLyBHZXQgaW5wdXQgdmFsdWVzIG9mIGFsbCBlbGVtZW50cyBpbiBMSSBzZWN0aW9uLCAgd2hlcmUgUkFESU8gd2FzIHNlbGVjdGVkXHJcblx0dmFyIGZpbHRlcl91aV9kYXRlc19hcnIgPSBqUXVlcnkoICdpbnB1dFtuYW1lPVwiJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX3JhZGlvX25hbWUnIF0gKyAnXCJdOmNoZWNrZWQnIClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQucGFyZW50cyggJ2xpJyApLmZpbmQoICc6aW5wdXQnIClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQubWFwKCBmdW5jdGlvbiAoKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cGJjX2dldF9zYWZlX2h0bWxfdGV4dCggalF1ZXJ5KCB0aGlzICkudmFsKCkgKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9ICkuZ2V0KCk7XHJcblxyXG5cdGlmICggMCAhPT0gZmlsdGVyX3VpX2RhdGVzX2Fyci5sZW5ndGggKXsgIC8vIENvbnRpbnVlIG9ubHkgaWYgcmFkaW8gYnV0dG9uICB3YXMgc2VsZWN0ZWQsIGFuZCB3ZSBhcmUgaGF2aW5nIHZhbHVlXHJcblxyXG5cdFx0Ly8gR2V0IHRpdGxlcyBvZiBhbGwgZWxlbWVudHMgaW4gTEkgc2VjdGlvbiwgIHdoZXJlIFJBRElPIHdhcyBzZWxlY3RlZFxyXG5cdFx0dmFyIGZpbHRlcl91aV90aXRsZXNfYXJyID0galF1ZXJ5KCAnaW5wdXRbbmFtZT1cIicgKyBwYXJhbXNbICdkcm9wZG93bl9yYWRpb19uYW1lJyBdICsgJ1wiXTpjaGVja2VkJyApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ICBcdC5wYXJlbnRzKCAnbGknICkuZmluZCggJzppbnB1dCcgKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lm1hcCggZnVuY3Rpb24gKCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICggJ3RleHQnID09IGpRdWVyeSggdGhpcyApLnByb3AoICd0eXBlJyApICl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGpRdWVyeSggdGhpcyApLnZhbCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICggKCAnc2VsZWN0Ym94LW9uZScgPT0galF1ZXJ5KCB0aGlzICkucHJvcCggJ3R5cGUnICkgKSB8fCAoICdzZWxlY3Qtb25lJyA9PSBqUXVlcnkoIHRoaXMgKS5wcm9wKCAndHlwZScgKSApICl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGpRdWVyeSggdGhpcyApLmZpbmQoICc6c2VsZWN0ZWQnICkudGV4dCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCggJ3JhZGlvJyA9PSBqUXVlcnkoIHRoaXMgKS5wcm9wKCAndHlwZScgKSApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0IHx8ICggJ2NoZWNrYm94JyA9PSBqUXVlcnkoIHRoaXMgKS5wcm9wKCAndHlwZScgKSApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGlucHV0X3NlbGVjdGVkID0galF1ZXJ5KCB0aGlzICkuZmlsdGVyKCc6Y2hlY2tlZCcpLm5leHQoICcud3BiY191aV9jb250cm9sX2xhYmVsJyApLmh0bWwoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIHVuZGVmaW5lZCA9PSBpbnB1dF9zZWxlY3RlZCApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlucHV0X3NlbGVjdGVkID0galF1ZXJ5KCB0aGlzICkuZmlsdGVyKCc6Y2hlY2tlZCcpLnByZXYoICcud3BiY191aV9jb250cm9sX2xhYmVsJyApLmh0bWwoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuICggdW5kZWZpbmVkICE9PSBpbnB1dF9zZWxlY3RlZCApID8gaW5wdXRfc2VsZWN0ZWQgOiAnJztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGpRdWVyeSggdGhpcyApLnZhbCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSApLmdldCgpO1xyXG5cclxuXHRcdC8vIFVwZGF0ZSBWYWx1ZSB0byAgZHJvcGRvd24gaW5wdXQgaGlkZGVuIGVsZW1lbnRzLiBTdWNoICB2YWx1ZSBzdHJpbmdpZnkuXHJcblx0XHRqUXVlcnkoICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICkudmFsKCBKU09OLnN0cmluZ2lmeSggZmlsdGVyX3VpX2RhdGVzX2FyciApICk7XHJcblxyXG5cdFx0Ly8gR2VuZXJhdGUgY2hhbmdlIGFjdGlvbiwgIGZvciBhYmlsaXR5IHRvICBzZW5kIEFqYXggcmVxdWVzdFxyXG5cdFx0alF1ZXJ5KCAnIycgKyBwYXJhbXNbICdkcm9wZG93bl9pZCcgXSApLnRyaWdnZXIoICdjaGFuZ2UnICk7XHJcblxyXG5cdFx0Ly8gR2V0IExhYmVsIG9mIHNlbGVjdGVkIFJhZGlvIGJ1dHRvblxyXG5cdFx0dmFyIGZpbHRlcl91aV9kYXRlc190aXRsZSA9IGpRdWVyeSggJ2lucHV0W25hbWU9XCInICsgcGFyYW1zWyAnZHJvcGRvd25fcmFkaW9fbmFtZScgXSArICdcIl06Y2hlY2tlZCcgKS5uZXh0KCAnLndwYmNfdWlfY29udHJvbF9sYWJlbCcgKS5odG1sKCkgKyAnOiAnO1xyXG5cclxuXHRcdC8vIFJlbW92ZSBzZWxlY3RlZCB2YWx1ZSBvZiByYWRpbyBidXR0b24gZnJvbSBiZWdpbm5pbmcsIHdlIHdpbGwgdXNlIExhYmVsIHRpdGxlIGluc3RlYWRcclxuXHRcdGZpbHRlcl91aV90aXRsZXNfYXJyLnNoaWZ0KCk7XHJcblxyXG5cdFx0Ly8gVXBkYXRlIFRpdGxlIGluIGRyb3Bkb3duXHJcblx0XHR2YXIgZW5jb2RlZF9odG1sX3RleHQgPSB3cGJjX2dldF9zYWZlX2h0bWxfdGV4dCggZmlsdGVyX3VpX2RhdGVzX3RpdGxlICsgZmlsdGVyX3VpX3RpdGxlc19hcnIuam9pbiggJyAtICcgKSApO1xyXG5cdFx0alF1ZXJ5KCAnIycgKyBwYXJhbXNbICdkcm9wZG93bl9pZCcgXSArICdfc2VsZWN0b3IgLndwYmNfc2VsZWN0ZWRfaW5fZHJvcGRvd24nICkuaHRtbCggZW5jb2RlZF9odG1sX3RleHQgKTtcclxuXHR9XHJcblxyXG5cdGpRdWVyeSggJyMnICsgcGFyYW1zWyAnZHJvcGRvd25faWQnIF0gKyAnX2NvbnRhaW5lcicgKS5oaWRlKCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ2xvc2UgZHJvcGRvd24gYWZ0ZXIgY2xpY2tpbmcgb24gQ2xvc2UgYnV0dG9uXHJcbiAqXHJcbiAqIEBwYXJhbSBkcm9wZG93bl9pZFx0SUQgb2YgZHJvcGRvd25cclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfdWlfZHJvcGRvd25fY2xvc2VfY2xpY2soIGRyb3Bkb3duX2lkICl7XHJcblxyXG5cdGpRdWVyeSggJyMnICsgZHJvcGRvd25faWQgKyAnX2NvbnRhaW5lcicgKS5oaWRlKCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2ltcGxlIG9wdGlvbiBjbGljayBvbiBkcm9wZG93blxyXG4gKlxyXG4gKiBAcGFyYW0gcGFyYW1zXHRFeGFtcGxlOiB7ICdkcm9wZG93bl9pZCc6ICd3aF9ib29raW5nX2RhdGUnLCAnaXNfdGhpc19zaW1wbGVfbGlzdCc6IHRydWUsICd2YWx1ZSc6ICc1JywgJ190aGlzJzogdGhpcyB9XHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX3VpX2Ryb3Bkb3duX3NpbXBsZV9jbGljayggcGFyYW1zICl7XHJcblxyXG5cdGpRdWVyeSggJyMnICsgcGFyYW1zWyAnZHJvcGRvd25faWQnIF0gKyAnX3NlbGVjdG9yIC53cGJjX3NlbGVjdGVkX2luX2Ryb3Bkb3duJyApLmh0bWwoIGpRdWVyeSggcGFyYW1zWyAnX3RoaXMnIF0gKS5odG1sKCkgKTtcclxuXHJcblx0alF1ZXJ5KCAnIycgKyBwYXJhbXNbICdkcm9wZG93bl9pZCcgXSApLnZhbCggSlNPTi5zdHJpbmdpZnkoIFtwYXJhbXNbICd2YWx1ZScgXV0gKSApO1xyXG5cclxuXHRqUXVlcnkoICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICsgJ19jb250YWluZXIgbGkgaW5wdXRbdHlwZT1jaGVja2JveF0sJ1xyXG5cdFx0ICArICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICsgJ19jb250YWluZXIgbGkgaW5wdXRbdHlwZT1yYWRpb10nICkucHJvcCggJ2NoZWNrZWQnLCBmYWxzZSApO1xyXG5cclxuXHRqUXVlcnkoICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICkudHJpZ2dlciggJ2NoYW5nZScgKTtcclxuXHJcblx0aWYgKCAhIHBhcmFtc1sgJ2lzX3RoaXNfc2ltcGxlX2xpc3QnIF0gKXtcclxuXHRcdGpRdWVyeSggJyMnICsgcGFyYW1zWyAnZHJvcGRvd25faWQnIF0gKyAnX2NvbnRhaW5lcicgKS5oaWRlKCk7XHJcblx0fVxyXG59Il0sImZpbGUiOiJpbmNsdWRlcy9fdG9vbGJhcl91aS9fb3V0L3Rvb2xiYXJfdWkuanMifQ==
92 +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvX3Rvb2xiYXJfdWkvX291dC90b29sYmFyX3VpLmpzIiwibmFtZXMiOlsid3BiY19nZXRfc2FmZV9odG1sX3RleHQiLCJyYXdTdHIiLCJlbmNvZGVkU3RyIiwicmVwbGFjZSIsImkiLCJjaGFyQ29kZUF0Iiwid3BiY191aV9kcm9wZG93bl9hcHBseV9jbGljayIsInBhcmFtcyIsImZpbHRlcl91aV9kYXRlc19hcnIiLCJqUXVlcnkiLCJwYXJlbnRzIiwiZmluZCIsIm1hcCIsInZhbCIsImdldCIsImxlbmd0aCIsImZpbHRlcl91aV90aXRsZXNfYXJyIiwicHJvcCIsInRleHQiLCJpbnB1dF9zZWxlY3RlZCIsImZpbHRlciIsIm5leHQiLCJodG1sIiwidW5kZWZpbmVkIiwicHJldiIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0cmlnZ2VyIiwiZmlsdGVyX3VpX2RhdGVzX3RpdGxlIiwic2hpZnQiLCJlbmNvZGVkX2h0bWxfdGV4dCIsImpvaW4iLCJoaWRlIiwid3BiY191aV9kcm9wZG93bl9jbG9zZV9jbGljayIsImRyb3Bkb3duX2lkIiwid3BiY191aV9kcm9wZG93bl9zaW1wbGVfY2xpY2siXSwic291cmNlcyI6WyJpbmNsdWRlcy9fdG9vbGJhcl91aS9fc3JjL3Rvb2xiYXJfdWkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5cclxuLyoqXHJcbiAqIEVuY29kZSBIVE1MIHRleHQgdG8gc2FmZSBIVE1MIGVudGl0aWVzXHJcbiAqXHJcbiAqIFJlcGxhY2UgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIGdpdmVuIHJhbmdlICh1bmljb2RlIDAwQTAgLSA5OTk5LCBhcyB3ZWxsIGFzIGFtcGVyc2FuZCwgZ3JlYXRlciAmIGxlc3MgdGhhbilcclxuICogd2l0aCB0aGVpciBodG1sIGVudGl0eSBlcXVpdmFsZW50cywgd2hpY2ggaXMgc2ltcGx5ICYjbm5uOyB3aGVyZSBubm4gaXMgdGhlIHVuaWNvZGUgdmFsdWUgd2UgZ2V0IGZyb20gY2hhckNvZGVBdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmF3U3RyXHJcbiAqIEByZXR1cm5zIHsqfVxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19nZXRfc2FmZV9odG1sX3RleHQoIHJhd1N0ciApe1xyXG5cclxuXHR2YXIgZW5jb2RlZFN0ciA9IHJhd1N0ci5yZXBsYWNlKCAvW1xcdTAwQTAtXFx1OTk5OTw+XFwmXS9nLCBmdW5jdGlvbiAoIGkgKXtcclxuXHRcdHJldHVybiAnJiMnICsgaS5jaGFyQ29kZUF0KCAwICkgKyAnOyc7XHJcblx0fSApO1xyXG5cclxuXHRyZXR1cm4gZW5jb2RlZFN0cjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDaGFuZ2UgVmFsdWUgYW5kIFRpdGxlIG9mIGRyb3Bkb3duIGFmdGVyIGNsaWNraW5nIG9uIEFwcGx5IGJ1dHRvblxyXG4gKlxyXG4gKiBAcGFyYW0gcGFyYW1zXHRFeGFtcGxlOiB7ICdkcm9wZG93bl9pZCc6ICd3aF9ib29raW5nX2RhdGUnLCAnZHJvcGRvd25fcmFkaW9fbmFtZSc6ICd1aV93aF9ib29raW5nX2RhdGVfcmFkaW8nIH1cclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfdWlfZHJvcGRvd25fYXBwbHlfY2xpY2soIHBhcmFtcyApe1xyXG5cclxuXHQvLyBHZXQgaW5wdXQgdmFsdWVzIG9mIGFsbCBlbGVtZW50cyBpbiBMSSBzZWN0aW9uLCAgd2hlcmUgUkFESU8gd2FzIHNlbGVjdGVkXHJcblx0dmFyIGZpbHRlcl91aV9kYXRlc19hcnIgPSBqUXVlcnkoICdpbnB1dFtuYW1lPVwiJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX3JhZGlvX25hbWUnIF0gKyAnXCJdOmNoZWNrZWQnIClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQucGFyZW50cyggJ2xpJyApLmZpbmQoICc6aW5wdXQnIClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQubWFwKCBmdW5jdGlvbiAoKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cGJjX2dldF9zYWZlX2h0bWxfdGV4dCggalF1ZXJ5KCB0aGlzICkudmFsKCkgKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9ICkuZ2V0KCk7XHJcblxyXG5cdGlmICggMCAhPT0gZmlsdGVyX3VpX2RhdGVzX2Fyci5sZW5ndGggKXsgIC8vIENvbnRpbnVlIG9ubHkgaWYgcmFkaW8gYnV0dG9uICB3YXMgc2VsZWN0ZWQsIGFuZCB3ZSBhcmUgaGF2aW5nIHZhbHVlXHJcblxyXG5cdFx0Ly8gR2V0IHRpdGxlcyBvZiBhbGwgZWxlbWVudHMgaW4gTEkgc2VjdGlvbiwgIHdoZXJlIFJBRElPIHdhcyBzZWxlY3RlZFxyXG5cdFx0dmFyIGZpbHRlcl91aV90aXRsZXNfYXJyID0galF1ZXJ5KCAnaW5wdXRbbmFtZT1cIicgKyBwYXJhbXNbICdkcm9wZG93bl9yYWRpb19uYW1lJyBdICsgJ1wiXTpjaGVja2VkJyApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ICBcdC5wYXJlbnRzKCAnbGknICkuZmluZCggJzppbnB1dCcgKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lm1hcCggZnVuY3Rpb24gKCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICggJ3RleHQnID09IGpRdWVyeSggdGhpcyApLnByb3AoICd0eXBlJyApICl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGpRdWVyeSggdGhpcyApLnZhbCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICggKCAnc2VsZWN0Ym94LW9uZScgPT0galF1ZXJ5KCB0aGlzICkucHJvcCggJ3R5cGUnICkgKSB8fCAoICdzZWxlY3Qtb25lJyA9PSBqUXVlcnkoIHRoaXMgKS5wcm9wKCAndHlwZScgKSApICl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGpRdWVyeSggdGhpcyApLmZpbmQoICc6c2VsZWN0ZWQnICkudGV4dCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCggJ3JhZGlvJyA9PSBqUXVlcnkoIHRoaXMgKS5wcm9wKCAndHlwZScgKSApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0IHx8ICggJ2NoZWNrYm94JyA9PSBqUXVlcnkoIHRoaXMgKS5wcm9wKCAndHlwZScgKSApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGlucHV0X3NlbGVjdGVkID0galF1ZXJ5KCB0aGlzICkuZmlsdGVyKCc6Y2hlY2tlZCcpLm5leHQoICcud3BiY191aV9jb250cm9sX2xhYmVsJyApLmh0bWwoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIHVuZGVmaW5lZCA9PSBpbnB1dF9zZWxlY3RlZCApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlucHV0X3NlbGVjdGVkID0galF1ZXJ5KCB0aGlzICkuZmlsdGVyKCc6Y2hlY2tlZCcpLnByZXYoICcud3BiY191aV9jb250cm9sX2xhYmVsJyApLmh0bWwoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuICggdW5kZWZpbmVkICE9PSBpbnB1dF9zZWxlY3RlZCApID8gaW5wdXRfc2VsZWN0ZWQgOiAnJztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGpRdWVyeSggdGhpcyApLnZhbCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSApLmdldCgpO1xyXG5cclxuXHRcdC8vIFVwZGF0ZSBWYWx1ZSB0byAgZHJvcGRvd24gaW5wdXQgaGlkZGVuIGVsZW1lbnRzLiBTdWNoICB2YWx1ZSBzdHJpbmdpZnkuXHJcblx0XHRqUXVlcnkoICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICkudmFsKCBKU09OLnN0cmluZ2lmeSggZmlsdGVyX3VpX2RhdGVzX2FyciApICk7XHJcblxyXG5cdFx0Ly8gR2VuZXJhdGUgY2hhbmdlIGFjdGlvbiwgIGZvciBhYmlsaXR5IHRvICBzZW5kIEFqYXggcmVxdWVzdFxyXG5cdFx0alF1ZXJ5KCAnIycgKyBwYXJhbXNbICdkcm9wZG93bl9pZCcgXSApLnRyaWdnZXIoICdjaGFuZ2UnICk7XHJcblxyXG5cdFx0Ly8gR2V0IExhYmVsIG9mIHNlbGVjdGVkIFJhZGlvIGJ1dHRvblxyXG5cdFx0dmFyIGZpbHRlcl91aV9kYXRlc190aXRsZSA9IGpRdWVyeSggJ2lucHV0W25hbWU9XCInICsgcGFyYW1zWyAnZHJvcGRvd25fcmFkaW9fbmFtZScgXSArICdcIl06Y2hlY2tlZCcgKS5uZXh0KCAnLndwYmNfdWlfY29udHJvbF9sYWJlbCcgKS5odG1sKCkgKyAnOiAnO1xyXG5cclxuXHRcdC8vIFJlbW92ZSBzZWxlY3RlZCB2YWx1ZSBvZiByYWRpbyBidXR0b24gZnJvbSBiZWdpbm5pbmcsIHdlIHdpbGwgdXNlIExhYmVsIHRpdGxlIGluc3RlYWRcclxuXHRcdGZpbHRlcl91aV90aXRsZXNfYXJyLnNoaWZ0KCk7XHJcblxyXG5cdFx0Ly8gVXBkYXRlIFRpdGxlIGluIGRyb3Bkb3duXHJcblx0XHR2YXIgZW5jb2RlZF9odG1sX3RleHQgPSB3cGJjX2dldF9zYWZlX2h0bWxfdGV4dCggZmlsdGVyX3VpX2RhdGVzX3RpdGxlICsgZmlsdGVyX3VpX3RpdGxlc19hcnIuam9pbiggJyAtICcgKSApO1xyXG5cdFx0alF1ZXJ5KCAnIycgKyBwYXJhbXNbICdkcm9wZG93bl9pZCcgXSArICdfc2VsZWN0b3IgLndwYmNfc2VsZWN0ZWRfaW5fZHJvcGRvd24nICkuaHRtbCggZW5jb2RlZF9odG1sX3RleHQgKTtcclxuXHR9XHJcblxyXG5cdGpRdWVyeSggJyMnICsgcGFyYW1zWyAnZHJvcGRvd25faWQnIF0gKyAnX2NvbnRhaW5lcicgKS5oaWRlKCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ2xvc2UgZHJvcGRvd24gYWZ0ZXIgY2xpY2tpbmcgb24gQ2xvc2UgYnV0dG9uXHJcbiAqXHJcbiAqIEBwYXJhbSBkcm9wZG93bl9pZFx0SUQgb2YgZHJvcGRvd25cclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfdWlfZHJvcGRvd25fY2xvc2VfY2xpY2soIGRyb3Bkb3duX2lkICl7XHJcblxyXG5cdGpRdWVyeSggJyMnICsgZHJvcGRvd25faWQgKyAnX2NvbnRhaW5lcicgKS5oaWRlKCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2ltcGxlIG9wdGlvbiBjbGljayBvbiBkcm9wZG93blxyXG4gKlxyXG4gKiBAcGFyYW0gcGFyYW1zXHRFeGFtcGxlOiB7ICdkcm9wZG93bl9pZCc6ICd3aF9ib29raW5nX2RhdGUnLCAnaXNfdGhpc19zaW1wbGVfbGlzdCc6IHRydWUsICd2YWx1ZSc6ICc1JywgJ190aGlzJzogdGhpcyB9XHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX3VpX2Ryb3Bkb3duX3NpbXBsZV9jbGljayggcGFyYW1zICl7XHJcblxyXG5cdGpRdWVyeSggJyMnICsgcGFyYW1zWyAnZHJvcGRvd25faWQnIF0gKyAnX3NlbGVjdG9yIC53cGJjX3NlbGVjdGVkX2luX2Ryb3Bkb3duJyApLmh0bWwoIGpRdWVyeSggcGFyYW1zWyAnX3RoaXMnIF0gKS5odG1sKCkgKTtcclxuXHJcblx0alF1ZXJ5KCAnIycgKyBwYXJhbXNbICdkcm9wZG93bl9pZCcgXSApLnZhbCggSlNPTi5zdHJpbmdpZnkoIFtwYXJhbXNbICd2YWx1ZScgXV0gKSApO1xyXG5cclxuXHRqUXVlcnkoICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICsgJ19jb250YWluZXIgbGkgaW5wdXRbdHlwZT1jaGVja2JveF0sJ1xyXG5cdFx0ICArICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICsgJ19jb250YWluZXIgbGkgaW5wdXRbdHlwZT1yYWRpb10nICkucHJvcCggJ2NoZWNrZWQnLCBmYWxzZSApO1xyXG5cclxuXHRqUXVlcnkoICcjJyArIHBhcmFtc1sgJ2Ryb3Bkb3duX2lkJyBdICkudHJpZ2dlciggJ2NoYW5nZScgKTtcclxuXHJcblx0aWYgKCAhIHBhcmFtc1sgJ2lzX3RoaXNfc2ltcGxlX2xpc3QnIF0gKXtcclxuXHRcdGpRdWVyeSggJyMnICsgcGFyYW1zWyAnZHJvcGRvd25faWQnIF0gKyAnX2NvbnRhaW5lcicgKS5oaWRlKCk7XHJcblx0fVxyXG59Il0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUdaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLHVCQUF1QkEsQ0FBRUMsTUFBTSxFQUFFO0VBRXpDLElBQUlDLFVBQVUsR0FBR0QsTUFBTSxDQUFDRSxPQUFPLENBQUUsc0JBQXNCLEVBQUUsVUFBV0MsQ0FBQyxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxHQUFHQSxDQUFDLENBQUNDLFVBQVUsQ0FBRSxDQUFFLENBQUMsR0FBRyxHQUFHO0VBQ3RDLENBQUUsQ0FBQztFQUVILE9BQU9ILFVBQVU7QUFDbEI7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNJLDRCQUE0QkEsQ0FBRUMsTUFBTSxFQUFFO0VBRTlDO0VBQ0EsSUFBSUMsbUJBQW1CLEdBQUdDLE1BQU0sQ0FBRSxjQUFjLEdBQUdGLE1BQU0sQ0FBRSxxQkFBcUIsQ0FBRSxHQUFHLFlBQWEsQ0FBQyxDQUN6RkcsT0FBTyxDQUFFLElBQUssQ0FBQyxDQUFDQyxJQUFJLENBQUUsUUFBUyxDQUFDLENBQ2hDQyxHQUFHLENBQUUsWUFBVztJQUNoQixPQUFPWix1QkFBdUIsQ0FBRVMsTUFBTSxDQUFFLElBQUssQ0FBQyxDQUFDSSxHQUFHLENBQUMsQ0FBRSxDQUFDO0VBQ3ZELENBQUUsQ0FBQyxDQUFDQyxHQUFHLENBQUMsQ0FBQztFQUVsQixJQUFLLENBQUMsS0FBS04sbUJBQW1CLENBQUNPLE1BQU0sRUFBRTtJQUFHOztJQUV6QztJQUNBLElBQUlDLG9CQUFvQixHQUFH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