Commit 5546bed5 by Joren Mathews

First commit

parents
.recognitions {
margin-right: 20px;
}
.recognitions.loading:before {
content: 'loading...';
font-style: italic;
}
.recognition {
text-decoration: none;
background-color: #fff;
display: block;
padding: 10px;
color: #555;
margin-bottom: 5px;
}
.recognition p {
font-size: 14px;
}
.recognition button {
float: right;
opacity: 1;
z-index: 1;
position: relative;
cursor: pointer;
display: none;
}
.recognition h5 {
font-style: italic;
}
.recognition p, .recognition h5 {
margin: 0;
}
.recognition.archived * {
opacity: .6;
}
.recognition.archived button {
display: block;
}
\ No newline at end of file
<?php
function recognitions_admin_page() {
wp_enqueue_script('wp-api');
wp_enqueue_style('recognitions-admin', plugin_dir_url(__FILE__) . 'admin.css');
require 'template.php';
}
add_action('admin_menu', 'register_values_board_admin_page');
function register_values_board_admin_page() {
add_menu_page('recognitions', 'Values Board', 'administrator', 'recognitions-admin-page', 'recognitions_admin_page');
}
// Messages
if (!function_exists('acf_add_local_field_group')):
function acf_missing_error_notice() {
?>
<div class="error notice">
<p><?php _e('The Values Board plugin requires the <a target="_blank" href="https://wordpress.org/plugins/advanced-custom-fields/">ACF plugin</a> to function.', 'values_board'); ?></p>
</div>
<?php
}
add_action('admin_notices', 'acf_missing_error_notice');
endif;
$options = get_option('values_board_options');
if (!$options || !$options['values_board_field_values']):
function values_missing_error_notice() {
?>
<div class="error notice">
<p><?php _e('You need to populate some values for the <a href="/wp-admin/admin.php?page=values_board">Values Board plugin</a>.', 'values_board'); ?></p>
</div>
<?php
}
add_action('admin_notices', 'values_missing_error_notice');
endif;
$users = get_users(array(
'role' => 'author'
));
if (!$users || !count($users)):
function users_missing_error_notice() {
?>
<div class="error notice">
<p><?php _e('You need to populate some <a href="/wp-admin/users.php">users</a> with the Author role for the Values Board plugin.', 'values_board'); ?></p>
</div>
<?php
}
add_action('admin_notices', 'users_missing_error_notice');
endif;
?>
\ No newline at end of file
<?php
function values_board_settings_init() {
register_setting('values_board', 'values_board_options');
add_settings_section(
'values_board_section_developers',
null,
'values_board_section_developers_cb',
'values_board'
);
// register a new field in the "values_board_section_developers" section, inside the "values_board" page
add_settings_field(
'values_board_field_values', // as of WP 4.6 this value is used only internally
// use $args' label_for to populate the id inside the callback
__('Values', 'values_board'),
'values_board_field_values_cb',
'values_board',
'values_board_section_developers',
[
'label_for' => 'values_board_field_values',
'class' => 'values_board_row',
'values_board_custom_data' => 'custom',
]
);
add_settings_field(
'values_board_field_colors', // as of WP 4.6 this value is used only internally
// use $args' label_for to populate the id inside the callback
__('Colors', 'values_board'),
'values_board_field_colors_cb',
'values_board',
'values_board_section_developers',
[
'label_for' => 'values_board_field_colors',
'class' => 'values_board_row',
'values_board_custom_data' => 'custom',
]
);
}
add_action('admin_init', 'values_board_settings_init');
function values_board_section_developers_cb($args) {
// HTML
}
function values_board_field_values_cb($args) {
$options = get_option('values_board_options');
?>
<textarea rows="10" cols="30" id="<?php echo esc_attr($args['label_for']); ?>" name="values_board_options[<?php echo esc_attr($args['label_for']); ?>]"><?php echo $options[$args['label_for']]; ?></textarea>
<p class="description">
<?php esc_html_e('Enter a list of values. One per line.', 'values_board'); ?>
</p>
<?php
}
function values_board_field_colors_cb($args) {
$options = get_option('values_board_options');
?>
<textarea rows="10" cols="15" id="<?php echo esc_attr($args['label_for']); ?>" name="values_board_options[<?php echo esc_attr($args['label_for']); ?>]"><?php echo $options[$args['label_for']]; ?></textarea>
<p class="description">
<?php esc_html_e('Enter a list of colors that correspond to the values above. One per line.', 'values_board'); ?>
</p>
<?php
}
function values_board_options_page() {
// add top level menu page
add_submenu_page(
'recognitions-admin-page',
'Settings',
'Settings',
'manage_options',
'values_board',
'values_board_options_page_html'
);
}
add_action('admin_menu', 'values_board_options_page');
function values_board_options_page_html() {
// check user capabilities
if (!current_user_can('manage_options')) {
return;
}
// add error/update messages
// check if the user have submitted the settings
// wordpress will add the "settings-updated" $_GET parameter to the url
if (isset($_GET['settings-updated'])) {
// add settings saved message with the class of "updated"
add_settings_error('values_board_messages', 'values_board_message', __('Settings Saved', 'values_board'), 'updated');
}
// show error/update messages
settings_errors('values_board_messages');
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<form action="options.php" method="post">
<?php
// output security fields for the registered setting "values_board"
settings_fields('values_board');
// output setting sections and their fields
// (sections are registered for "values_board", each field is registered to a specific section)
do_settings_sections('values_board');
// output save settings button
submit_button('Save Settings');
?>
</form>
</div>
<?php
}
\ No newline at end of file
<div class="wrap">
<h1>Recognitions Admin</h1>
<br>
</div>
<div class="controls_header">
<select id="year_filter">
<?php
$years = array(Date('Y'), Date('Y')-1);
foreach ($years as $i => $year) {
echo '<option value="' . $year . '">' . $year . '</option>';
} ?>
</select>
<select id="month_filter">
<?php
$months = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
foreach ($months as $i => $month) {
echo '<option ' . (Date('F') == $month ? 'selected="selected"' : '') . ' value="' . $month . '">' . $month . '</option>';
} ?>
</select>
<button id="archive_month">Archive Month</button>
</div>
<br>
<div class="recognitions">
</div>
<script>
jQuery(($) => {
var recognitionsWrapper = $('.recognitions');
var loadedRecognitions = null;
var currentMonth = null;
var currentYear = <?php echo Date('Y'); ?>;
var loadRecognitions = (year, month) => {
recognitionsWrapper.addClass('loading');
$.get('/values-board/archives?month=' + month + '&year=' + year, (response) => {
loadedRecognitions = $.parseJSON(response);
populateRecognitions(loadedRecognitions);
recognitionsWrapper.removeClass('loading');
});
}
// Debug
// var posts = new wp.api.collections.Posts();
// posts.fetch({data: {per_page: 100, status: 'any', filter: {'orderby': 'title', 'order': 'DESC'}}}).done(() => {
// console.log(posts);
// var loadedPosts = _.map(posts.models, post => post.attributes);
// });
var populateRecognitions = loadedRecognitions => {
recognitionsWrapper.html('');
loadedRecognitions.map(recognition => {
var recognitionElement = $('<a class="recognition"></a>');
recognitionElement.addClass(recognition.post_status == 'draft' ? 'archived' : '');
recognitionElement.attr('href', `/wp-admin/post.php?post=${recognition.ID}&action=edit`);
recognitionElement.attr('data-recognition-id', recognition.ID);
var note = recognition.acf.note;
var values = `<h5>${recognition.acf.value.split(',').join(', ')}</h5>`
var publishButton = '<button class="publish">Publish</button>';
recognitionElement.append(publishButton);
recognitionElement.append(note);
recognitionElement.append(values);
recognitionElement.appendTo(recognitionsWrapper);
});
}
var publishRecognition = (id) => {
$.post('/values-board/toggle-status?status=publish&id=' + id, (response) => {
$(`.recognition[data-recognition-id=${id}]`).removeClass('archived');
});
}
var archiveMonth = () => {
loadedRecognitions.map(loadedRecognition => {
$.post('/values-board/toggle-status?status=draft&id=' + loadedRecognition.ID, (response) => {
$(`.recognition[data-recognition-id=${loadedRecognition.ID}]`).addClass('archived');
});
});
}
$('.recognitions').on('click', 'button', (e) => {
var clicked = $(e.target);
var id = clicked.parent().attr('data-recognition-id');
publishRecognition(id);
return false;
});
$('#year_filter').change(e => {
currentYear = $(e.target).val();
loadRecognitions(currentYear, currentMonth);
});
$('#month_filter').change(e => {
currentMonth = $(e.target).val();
loadRecognitions(currentYear, currentMonth);
}).trigger('change');
$('#archive_month').click(e => {
archiveMonth();
});
})
</script>
\ No newline at end of file
{
"presets": ["@babel/preset-env", "@babel/preset-react"]
}
\ No newline at end of file
node_modules/
\ No newline at end of file
var webpack = require('webpack');
var path = require('path');
module.exports = {
context: path.join(__dirname, 'app'),
entry: path.join(__dirname, 'app', 'entry.jsx'),
output: {
path: path.resolve(__dirname, "bin"),
filename: 'app.bundle.js'
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: ['babel-loader']
}
]
},
resolve: {
extensions: ['*', '.js', '.jsx']
},
plugins: [
new webpack.ProvidePlugin({
React: 'react',
ReactDOM: 'react-dom',
$: "jquery",
jQuery: "jquery"
})
],
watch: true
};
@import './vars.styl'
@import './imports/*'
@import './components/*'
#values_board
padding: 2rem 0
fixed: top 0 left 0
width: 100%
height: 100%
overflow: auto
font-family: 'Open Sans'
z-index: 40
bgimage('halftone.png', false)
*
font-family: 'Open Sans'
box-sizing: border-box
\ No newline at end of file
button.add
border-radius: 100%
background-color: $yellow
border: none
width: 2.2rem
height: 2.2rem
padding: 0
margin: 7px 0 0 0
position: relative
outline: none
cursor: pointer
&:after
content: '+'
centered()
font-size: 39px
font-weight: 300
color: black
top: 45%
#add
display: none
background-color: white
padding: 1rem 1rem .5rem 1rem
box-shadow: 3px 4px 5px 0px rgba(0,0,0,0.1)
width: 300px
margin: 1rem auto
img
width: 4rem
&.show
display: block
label
font-weight: bold
display: block
margin: .5rem 0 0 0
input[type="text"]
padding: 5px
font-size: 20px
border: 2px solid #eee
width: calc(100% - .8rem)
select
width: 100%
height: 7rem
input[type="submit"]
background-color: $yellow
color: black
padding: .5rem
margin: 1rem 0 .5rem 0
border: none
cursor: pointer
font-weight: bold
section.app
margin-top: 2rem
h1
font-size: 38px
font-weight: 300
margin: 3rem 0 0 2rem
img
width: 300px
height: auto
margin-right: 10px
\ No newline at end of file
.recognitions
padding: 50px 15px 15px 15px
overflow: hidden
display: flex
flex-wrap: wrap
justify-content: left
.recognition
background-color: white
padding: 5px 10px 10px 10px
margin-right: 15px
margin-top: 15px
flex: 0 0 240px
h2
margin: 0
font-size: 18px
.note
margin: 5px 0
p
margin: 0
font-size: 17px
.value
background-color: $yellow
color: white
padding: 4px 8px
margin-top: 5px
margin-right: 5px
border-radius: 3px
display: inline-block
text-transform: uppercase
font-size: 14px
font-weight: bold
&.color_0
background-color: #4f514f
&.color_1
background-color: #ce9d69
&.color_2
background-color: #1d7aa2
&.color_3
background-color: #6cc1b3
&.color_4
background-color: #f45e58
\ No newline at end of file
.user_wrapper
position: relative
min-height: 100px
margin: 20px 15px
box-shadow: 3px 4px 5px 0px rgba(0,0,0,0.1)
&:nth-child(odd)
background-color: rgba(20,20,20, .7)
&:nth-child(even)
background-color: rgba(20,20,20, .8)
.user
absolute: top 0 left 0
width: 100%
background-color: black
h2
color: white
font-size: 20px
padding: 5px 20px
white-space: nowrap
height: 40px
line-height: 40px
float: left
margin: 0
clear: none
img
width: 50px
height: 50px
float: left
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 293.26 45.78"><defs><style>.cls-1{fill:#000;}</style></defs><title>3FO_Logo_New</title><path class="cls-1" d="M22.78,20.39c3-1.64,6.53-4.59,6.53-9.47C29.31,5.58,24.85.19,14.88.19,10.19.19,4.61,2.14,2.43,3L2.31,3l2.4,5.63.11,0c6.08-2,11.18-2.16,14-.49a3.85,3.85,0,0,1,2,2.62,4.18,4.18,0,0,1-1.06,3.41c-1.92,2.33-5.89,3.74-10.61,3.78H9v6.21h.13c9.55.07,13,4,13,7.64a6.21,6.21,0,0,1-2.68,5.44C16.88,39,10,40.14,2.65,37.34l-.1,0L0,42.65l.12.05a32.71,32.71,0,0,0,13.34,3.06c11.09,0,18-7.11,18-13.71C31.41,26.53,28.51,22.61,22.78,20.39Z"/><path class="cls-1" d="M86.82,0A15.27,15.27,0,0,0,73.1,7.43c-2.5,4-3.88,9.47-3.88,15.49s1.38,11.47,3.9,15.42a15.29,15.29,0,0,0,13.7,7.36,15.6,15.6,0,0,0,13.77-7.39c2.56-4,4-9.48,4-15.46s-1.41-11.47-4-15.46A15.62,15.62,0,0,0,86.82,0Zm-.07,38.66c-6.11,0-9.08-5.15-9.08-15.74S80.64,7,86.75,7s9.36,5.32,9.36,15.81S93,38.66,86.75,38.66Z"/><path class="cls-1" d="M49.48,0A15.28,15.28,0,0,0,35.75,7.43c-2.5,4-3.87,9.47-3.87,15.49s1.38,11.47,3.9,15.42a15.29,15.29,0,0,0,13.7,7.36,15.63,15.63,0,0,0,13.77-7.39c2.56-4,4-9.48,4-15.46s-1.41-11.47-4-15.46A15.65,15.65,0,0,0,49.48,0Zm-.07,38.66c-6.11,0-9.08-5.15-9.08-15.74S43.3,7,49.41,7s9.36,5.32,9.36,15.81S55.62,38.66,49.41,38.66Z"/><path class="cls-1" d="M225.13,0A15.29,15.29,0,0,0,211.4,7.43c-2.5,4-3.87,9.47-3.87,15.49s1.38,11.47,3.9,15.42a15.29,15.29,0,0,0,13.7,7.36,15.6,15.6,0,0,0,13.77-7.39c2.56-4,4-9.48,4-15.46s-1.41-11.47-4-15.46A15.62,15.62,0,0,0,225.13,0Zm-.07,38.66c-6.11,0-9.08-5.15-9.08-15.74S219,7,225.06,7s9.36,5.32,9.36,15.81S231.27,38.66,225.06,38.66Z"/><polygon class="cls-1" points="199.3 9.55 199.3 10.44 199.3 10.44 199.3 9.55"/><path class="cls-1" d="M112.23,18.74s2.22-.07,2.22-4.41V8h17.91V1H106.67V45.43h7.78v-19h10.71v-7H112.23C111.54,19.34,111.83,18.74,112.23,18.74Z"/><path class="cls-1" d="M206.32,38.5l-.12,0c-3,.76-5,1-6,.29-.67-.52-.94-1.55-.94-3.57V19.17H205V13.45h-7.84c-.69,0-.4-.6,0-.6,0,0,2.09-.07,2.14-4.24V.76h-8V13.44h-2.1v5.73h2.1V35.53c0,4.61,1.59,10.1,9.15,10.1A19.63,19.63,0,0,0,207.71,44l.09,0Z"/><path class="cls-1" d="M291.78,38.5l-.12,0c-3,.76-5,1-6,.29-.66-.52-.94-1.55-.94-3.57V19.17h5.7V13.45h-7.84c-.69,0-.4-.6,0-.6,0,0,2.09-.07,2.14-4.24V.76h-8V13.44h-2.1v5.73h2.1V35.53c0,4.61,1.59,10.1,9.15,10.1A19.63,19.63,0,0,0,293.17,44l.09,0Z"/><path class="cls-1" d="M173.75,13.23c-5,0-9.13,1.67-11.87,4.82A16.82,16.82,0,0,0,158.1,29.3c0,10.42,5.78,16.4,15.86,16.4a28.28,28.28,0,0,0,12.5-3l.13-.07L185,36.79l-.11,0-.46.16c-1.71.62-7,2.37-10.51,2.37-5.71,0-6.89-4-7.26-7.93h20.65l0-.11c.89-6.26,0-11-2.65-14C182.39,14.6,178.7,13.23,173.75,13.23ZM167,25.57c.78-4,3.16-6,7.07-6,4.53,0,5.54,2.19,5.7,6Z"/><path class="cls-1" d="M142.09,13.23c-5,0-9.13,1.67-11.87,4.82a16.82,16.82,0,0,0-3.78,11.25c0,10.42,5.78,16.4,15.85,16.4a28.29,28.29,0,0,0,12.51-3l.13-.07-1.55-5.8-.12,0-.46.16c-1.71.62-7,2.37-10.51,2.37-5.7,0-6.88-4-7.25-7.93h20.65l0-.11c.89-6.26,0-11-2.66-14C150.73,14.6,147,13.23,142.09,13.23Zm-6.74,12.34c.79-4,3.17-6,7.08-6,4.53,0,5.54,2.19,5.7,6Z"/><path class="cls-1" d="M272.4,38.75c0-1.72,0-24,0-24h-8.24s0,17.41,0,18.5a5.15,5.15,0,0,1-1.29,4.07,7.45,7.45,0,0,1-5.58,2,3.83,3.83,0,0,1-3-1.35c-.86-1-.94-2.74-.9-4.34v-.07c0-.33,0-.67,0-1V14.7h-8.24V32.94c0,6,1.27,12.82,11.17,12.82A28,28,0,0,0,264,44.5c.1,0,.61-.22,1.44-.54l.32-.12a17.61,17.61,0,0,0,.75,1.85l0,.09,6.61-1.43,0-.13A30.54,30.54,0,0,1,272.4,38.75Z"/></svg>
\ No newline at end of file
// Mixins!
cover()
absolute: top 0 left 0
width: 100%
height: 100%
centered()
absolute: top 50% left 50%
transform: translate(-50%, -50%)
hcentered()
absolute: left 50%
transform: translateX(-50%)
vcentered()
absolute: top 50%
transform: translateY(-50%)
perheight(percent)
&:after
display: block
content: ' '
padding-top: percent
background($type)
if $type == 'cover'
background-size: cover
background-position: center center
background-repeat: no-repeat
if $type == 'contain'
background-size: contain
background-position: center center
background-repeat: no-repeat
bgimage($imageName, $absolute)
if $absolute
background-image: url('/wp-content/themes/threefo_values/css/images/' + $imageName)
else
background-image: url('images/' + $imageName)
darkoverlay()
&:before
content ''
position absolute
width 100%
height 100%
background-color rgba($black, 0.15)
\ No newline at end of file
button.add{border-radius:100%;background-color:#e7ca27;border:none;width:2.2rem;height:2.2rem;padding:0;margin:7px 0 0 0;position:relative;outline:none;cursor:pointer;}button.add:after{content:'+';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:39px;font-weight:300;color:#222;top:45%}#add{display:none;background-color:#fff;padding:1rem 1rem .5rem 1rem;box-shadow:3px 4px 5px 0 rgba(0,0,0,0.1);width:300px;margin:1rem auto;}#add img{width:4rem}#add.show{display:block}#add label{font-weight:bold;display:block;margin:.5rem 0 0 0}#add input[type="text"]{padding:5px;font-size:20px;border:2px solid #eee;width:calc(100% - 0.8rem)}#add select{width:100%;height:7rem}#add input[type="submit"]{background-color:#e7ca27;color:#222;padding:.5rem;margin:1rem 0 .5rem 0;border:none;cursor:pointer;font-weight:bold}section.app{margin-top:2rem;}section.app h1{font-size:38px;font-weight:300;margin:3rem 0 0 2rem;}section.app h1 img{width:300px;height:auto;margin-right:10px}.recognitions{padding:50px 15px 15px 15px;overflow:hidden;display:flex;flex-wrap:wrap;justify-content:left;}.recognitions .recognition{background-color:#fff;padding:5px 10px 10px 10px;margin-right:15px;margin-top:15px;flex:0 0 240px;}.recognitions .recognition h2{margin:0;font-size:18px}.recognitions .recognition .note{margin:5px 0}.recognitions .recognition p{margin:0;font-size:17px}.recognitions .recognition .value{background-color:#e7ca27;color:#fff;padding:4px 8px;margin-top:5px;margin-right:5px;border-radius:3px;display:inline-block;text-transform:uppercase;font-size:14px;font-weight:bold;}.recognitions .recognition .value.color_0{background-color:#4f514f}.recognitions .recognition .value.color_1{background-color:#ce9d69}.recognitions .recognition .value.color_2{background-color:#1d7aa2}.recognitions .recognition .value.color_3{background-color:#6cc1b3}.recognitions .recognition .value.color_4{background-color:#f45e58}.user_wrapper{position:relative;min-height:100px;margin:20px 15px;box-shadow:3px 4px 5px 0 rgba(0,0,0,0.1);}.user_wrapper:nth-child(odd){background-color:rgba(20,20,20,0.7)}.user_wrapper:nth-child(even){background-color:rgba(20,20,20,0.8)}.user_wrapper .user{position:absolute;top:0;left:0;width:100%;background-color:#222;}.user_wrapper .user h2{color:#fff;font-size:20px;padding:5px 20px;white-space:nowrap;height:40px;line-height:40px;float:left;margin:0;clear:none}.user_wrapper .user img{width:50px;height:50px;float:left}#values_board{padding:2rem 0;position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;font-family:'Open Sans';z-index:40;background-image:url("images/halftone.png");}#values_board *{font-family:'Open Sans';box-sizing:border-box}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYWRkLnN0eWwiLCIuLi9ub2RlX21vZHVsZXMvYXhpcy9heGlzL2xheW91dC5zdHlsIiwiaW1wb3J0cy9fdXRpbGl0eV9taXhpbnMuc3R5bCIsImNvbXBvbmVudHMvYXBwLnN0eWwiLCJjb21wb25lbnRzL3JlY29nbml0aW9ucy5zdHlsIiwiY29tcG9uZW50cy91c2VyLnN0eWwiLCJhcHAuc3R5bCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUNDLGNBQWUsS0FDZixpQkFBa0IsUUFDbEIsT0FBUSxLQUNSLE1BQU8sT0FDUCxPQUFRLE9BQ1IsUUFBUyxFQUNULE9BQVEsVUFDUixTQUFVLFNBQ1YsUUFBUyxLQUNULE9BQVEsU0FDUixpQkFDQyxRQUFTLElDUVQsU0FBc0IsU0FHVixJQUFzRCxJQUF0RCxLQUFzRCxJQ2ZuRSxVQUErQixxQkZNOUIsVUFBVyxLQUNYLFlBQWEsSUFDYixNQUFPLEtBQ1AsSUFBSyxJQUVQLEtBQ0MsUUFBUyxLQUNULGlCQUFrQixLQUNsQixRQUFTLHFCQUNULFdBQVksOEJBQ1osTUFBTyxNQUNQLE9BQVEsV0FDUixTQUNDLE1BQU8sS0FDUixVQUNDLFFBQVMsTUFDVixXQUNDLFlBQWEsS0FDYixRQUFTLE1BQ1QsT0FBUSxZQUNULHdCQUNDLFFBQVMsSUFDVCxVQUFXLEtBQ1gsT0FBUSxlQUNSLE1BQXdCLG9CQUN6QixZQUNDLE1BQU8sS0FDUCxPQUFRLEtBQ1QsMEJBQ0MsaUJBQWtCLFFBQ2xCLE1BQU8sS0FDUCxRQUFTLE1BQ1QsT0FBUSxlQUNSLE9BQVEsS0FDUixPQUFRLFFBQ1IsWUFBYSxLR2pEZixZQUNDLFdBQVksTUFDWixlQUNDLFVBQVcsS0FDWCxZQUFhLElBQ2IsT0FBUSxlQUNSLG1CQUNDLE1BQU8sTUFDUCxPQUFRLEtBQ1IsYUFBYyxLQ1RqQixjQUNDLFFBQVMsb0JBQ1QsU0FBVSxPQUNWLFFBQVMsS0FDVCxVQUFXLEtBQ1gsZ0JBQWlCLE1BQ2pCLDJCQUNDLGlCQUFrQixLQUNsQixRQUFTLG1CQUNULGFBQWMsS0FDZCxXQUFZLEtBQ1osS0FBTSxXQUNOLDhCQUNDLE9BQVEsRUFDUixVQUFXLEtBQ1osaUNBQ0MsT0FBUSxNQUNULDZCQUNDLE9BQVEsRUFDUixVQUFXLEtBQ1osa0NBQ0MsaUJBQWtCLFFBQ2xCLE1BQU8sS0FDUCxRQUFTLFFBQ1QsV0FBWSxJQUNaLGFBQWMsSUFDZCxjQUFlLElBQ2YsUUFBUyxhQUNULGVBQWdCLFVBQ2hCLFVBQVcsS0FDWCxZQUFhLE1BQ2IsMENBQ0MsaUJBQWtCLFFBQ25CLDBDQUNDLGlCQUFrQixRQUNuQiwwQ0FDQyxpQkFBa0IsUUFDbkIsMENBQ0MsaUJBQWtCLFFBQ25CLDBDQUNDLGlCQUFrQixRQ3hDdEIsY0FDQyxTQUFVLFNBQ1YsV0FBWSxNQUNaLE9BQVEsVUFDUixXQUFZLCtCQUNaLDZCQUNDLGlCQUFtQyxtQkFDcEMsOEJBQ0MsaUJBQW1DLG1CQUNwQyxvQkpXQyxTQUFzQixTQUdWLElBQXNELEVBQXRELEtBQXNELEVJWmxFLE1BQU8sS0FDUCxpQkFBa0IsTUFDbEIsdUJBQ0MsTUFBTyxLQUNQLFVBQVcsS0FDWCxRQUFTLFNBQ1QsWUFBYSxPQUNiLE9BQVEsS0FDUixZQUFhLEtBQ2IsTUFBTyxLQUNQLE9BQVEsRUFDUixNQUFPLEtBQ1Isd0JBQ0MsTUFBTyxLQUNQLE9BQVEsS0FDUixNQUFPLEtDckJWLGNBQ0MsUUFBUyxPTGNSLFNBQXNCLE1BR1YsSUFBc0QsRUFBdEQsS0FBc0QsRUtmbkUsTUFBTyxLQUNQLE9BQVEsS0FDUixTQUFVLEtBQ1YsWUFBYSxZQUNiLFFBQVMsR0owQlIsaUJBQTRDLDRCSXhCN0MsZ0JBQ0MsWUFBYSxZQUNiLFdBQVkiLCJmaWxlIjoic2l0ZS5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYnV0dG9uLmFkZFxyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCVcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93XHJcblx0Ym9yZGVyOiBub25lXHJcblx0d2lkdGg6IDIuMnJlbVxyXG5cdGhlaWdodDogMi4ycmVtXHJcblx0cGFkZGluZzogMFxyXG5cdG1hcmdpbjogN3B4IDAgMCAwXHJcblx0cG9zaXRpb246IHJlbGF0aXZlXHJcblx0b3V0bGluZTogbm9uZVxyXG5cdGN1cnNvcjogcG9pbnRlclxyXG5cdCY6YWZ0ZXJcclxuXHRcdGNvbnRlbnQ6ICcrJ1xyXG5cdFx0Y2VudGVyZWQoKVxyXG5cdFx0Zm9udC1zaXplOiAzOXB4XHJcblx0XHRmb250LXdlaWdodDogMzAwXHJcblx0XHRjb2xvcjogYmxhY2tcclxuXHRcdHRvcDogNDUlXHJcblxyXG4jYWRkXHJcblx0ZGlzcGxheTogbm9uZVxyXG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlXHJcblx0cGFkZGluZzogMXJlbSAxcmVtIC41cmVtIDFyZW1cclxuXHRib3gtc2hhZG93OiAzcHggNHB4IDVweCAwcHggcmdiYSgwLDAsMCwwLjEpXHJcblx0d2lkdGg6IDMwMHB4XHJcblx0bWFyZ2luOiAxcmVtIGF1dG9cclxuXHRpbWdcclxuXHRcdHdpZHRoOiA0cmVtXHJcblx0Ji5zaG93XHJcblx0XHRkaXNwbGF5OiBibG9ja1xyXG5cdGxhYmVsXHJcblx0XHRmb250LXdlaWdodDogYm9sZFxyXG5cdFx0ZGlzcGxheTogYmxvY2tcclxuXHRcdG1hcmdpbjogLjVyZW0gMCAwIDBcclxuXHRpbnB1dFt0eXBlPVwidGV4dFwiXVxyXG5cdFx0cGFkZGluZzogNXB4XHJcblx0XHRmb250LXNpemU6IDIwcHhcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICNlZWVcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAuOHJlbSlcclxuXHRzZWxlY3RcclxuXHRcdHdpZHRoOiAxMDAlXHJcblx0XHRoZWlnaHQ6IDdyZW1cclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdXHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93XHJcblx0XHRjb2xvcjogYmxhY2tcclxuXHRcdHBhZGRpbmc6IC41cmVtXHJcblx0XHRtYXJnaW46IDFyZW0gMCAuNXJlbSAwXHJcblx0XHRib3JkZXI6IG5vbmVcclxuXHRcdGN1cnNvcjogcG9pbnRlclxyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGRcclxuIiwiLy8gTWl4aW46IGdyb3VwXG4vLyBDbGVhcmZpeCB3aXRoIGEgYmV0dGVyIG5hbWUuIEV4Y2VsbGVudCBmb3Igd3JhbmdsaW5nIGZsb2F0cy4gVGFrZW4gZnJvbVxuLy8gaHR0cDovL3d3dy5jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vIERvZXMgbm90IHN1cHBvcnQgSUUgNiBhbmQgNyBiZWNhdXNlIHlvdSBzaG91bGQgbm90IHN1cHBvcnQgdGhlbSBlaXRoZXIuXG5cbmdyb3VwKClcbiAgJjphZnRlclxuICAgIGNvbnRlbnQ6IFwiXCJcbiAgICBkaXNwbGF5OiBibG9ja1xuICAgIGNsZWFyOiBib3RoXG5cbi8vIEFsaWFzOiBjbGVhcmZpeFxuLy8gR3JvdXAgd2l0aCBhIHdvcnNlIG5hbWUuIElmIHlvdSBuZWVkIHJlYWxseSBjYW4ndCBicmVhayB0aGUgaGFiaXQuXG5jbGVhcmZpeCgpXG4gIGdyb3VwKClcblxuLy8gRnVuY3Rpb246IHBvc1xuLy8gQmFja3MgcG9zaXRpb24gaGVscGVycywgZm91bmQgYmVsb3dcbi1wb3ModHlwZSwgYXJncylcbiAgaSA9IDBcbiAgcG9zaXRpb246IHVucXVvdGUodHlwZSlcbiAgZm9yIGogaW4gKDEuLjQpXG4gICAgaWYgbGVuZ3RoKGFyZ3MpID4gaVxuICAgICAge2FyZ3NbaV19OiBhcmdzW2kgKyAxXSBpcyBhICd1bml0JyBvciAnYXV0bycgPyBhcmdzW2kgKz0gMV0gOiAwXG4gICAgaSArPSAxXG5cbi8vIE1peGluOiBQb3NpdGlvbnNcbi8vIFN5bnRheCBzaG9ydGN1dHMgZm9yIGFic29sdXRlLCByZWxhdGl2ZSwgYW5kIGZpeGVkIHBvc2l0aW9uaW5nLiBQb3J0ZWRcbi8vIGZyb20gbmliOiBodHRwczovL2dpdGh1Yi5jb20vdGovbmliL2Jsb2IvbWFzdGVyL2xpYi9uaWIvcG9zaXRpb25zLnN0eWxcblxuZml4ZWQoKVxuICAtcG9zKCdmaXhlZCcsIGFyZ3VtZW50cylcblxuYWJzb2x1dGUoKVxuICAtcG9zKCdhYnNvbHV0ZScsIGFyZ3VtZW50cylcblxucmVsYXRpdmUoKVxuICAtcG9zKCdyZWxhdGl2ZScsIGFyZ3VtZW50cylcblxuLy8gTWl4aW46IFNpemVcbi8vIFNob3J0Y3V0IGZvciBzZXR0aW5nIHdpZHRoIGFuZCBoZWlnaHQgcXVpY2tseS4gSWYgcGFzc2VkIG9uZSB2YWx1ZSwgc2V0cyB0aGlzXG4vLyB2YWx1ZSBhcyBib3RoIHdpZHRoIGFuZCBoZWlnaHQuXG4vL1xuLy8gZXguIHNpemU6IDEwcHggMzBweFxuLy8gZXguIHNpemU6IDEwcHhcblxuc2l6ZSgpXG4gIGlmIGxlbmd0aChhcmd1bWVudHMpID09IDFcbiAgICB3aWR0aDogYXJndW1lbnRzWzBdXG4gICAgaGVpZ2h0OiBhcmd1bWVudHNbMF1cbiAgZWxzZVxuICAgIHdpZHRoOiBhcmd1bWVudHNbMF1cbiAgICBoZWlnaHQ6IGFyZ3VtZW50c1sxXVxuXG4vLyBNaXhpbjogQ29sdW1uc1xuLy9cbi8vIEZvciBjc3MzIGNvbHVtbnMuIFRha2VzIGNvbHVtbiBjb3VudCAoaW50KSwgY29sdW1uIGdhcCAocHgsIGVtKSwgY29sdW1uIHdpZHRoXG4vLyAocHgsIGVtKSwgYW5kIGEgYm9yZGVyLWxpa2UgZGVjbGFyYXRpb24gaWYgeW91IHdhbnQgYSBjb2x1bW4gcnVsZS4gVGhpc1xuLy8gZm9sbG93cyBleGFjdGx5IHdpdGggdGhlIGNzczMgc3BlYywgaXQncyBqdXN0IHF1aWNrZXIuXG4vL1xuLy8gZXguIGNvbHVtbnMoKVxuLy8gZXguIGNvbHVtbnM6IDVcbi8vIGV4LiBjb2x1bW5zKDgsIDE1cHgsIDIwMHB4LCAnMXB4IHNvbGlkIHJlZCcpXG5cbmNvbHVtbnMoJGNvdW50ID0gMywgJGdhcCA9IDMwcHgsICR3aWR0aCA9IG51bGwsICRydWxlID0gbnVsbClcbiAgY29sdW1uLWNvdW50OiAkY291bnRcbiAgY29sdW1uLWdhcDogJGdhcFxuICBjb2x1bW4td2lkdGg6ICR3aWR0aCBpZiAkd2lkdGhcbiAgY29sdW1uLXJ1bGU6IHVucXVvdGUoJHJ1bGUpIGlmICRydWxlXG5cbi8vIE1peGluOiBBdm9pZCBDb2x1bW4gQnJlYWtcbi8vXG4vLyBJZiB5b3UgaGF2ZSBhIGxpc3QgdGhhdCBpcyBicm9rZW4gaW50byBjb2x1bW5zLCB0aGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgdGhlXG4vLyBsaXN0IGl0ZW0gaXMgbm90IHNwbGl0IGFjcm9zcyBjb2x1bW5zIGF3a3dhcmRseS4gV29ya3Mgb25seSBpbiB3ZWJraXQgYXQgdGhlXG4vLyBtb21lbnQuXG4vL1xuLy8gZXguIGF2b2lkLWNvbHVtbi1icmVhaygpXG5cbmF2b2lkLWNvbHVtbi1icmVhaygpXG4gIGNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkXG5cbi8vIE1peGluOiBWZXJ0aWNhbGx5IEFsaWduXG4vLyBDcm9zcyBicm93c2VyIHZlcnRpY2FsIGFsaWduLiBXb3JrcyBkb3duIHRvIElFOS5cbi8vXG4vLyBleC4gdmVydGljYWxseS1hbGlnbigpIG9yIHJlc2V0IGl0IHdpdGggdmVydGljYWxseS1hbGlnbihmYWxzZSlcblxudmVydGljYWxseS1hbGlnbigkcmVzZXQgPSBudWxsKVxuICBpZiAkcmVzZXQgIT0gZmFsc2VcbiAgICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgICB0b3A6IDUwJVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKVxuICBlbHNlXG4gICAgcG9zaXRpb246IHJlbGF0aXZlXG4gICAgdG9wOiAwXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG5cbi8vIE1peGluOiBNZWRpYVxuLy9cbi8vIEJhc2VkIG9uIE5pY29sZSBTdWxsaXZhbidzIG1lZGlhIGNsYXNzLCBtYWRlIGZhbW91cyBieSBGYWNlYm9va1xuLy8gaHR0cDovL3d3dy5zdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLVxuLy8gaHVuZHJlZHMtb2YtbGluZXMtb2YtY29kZVxuLy9cbi8vIFB1dCB0aGlzIG9uIGEgcGFyZW50IGFuZCBpdCB3aWxsIHNwbGl0IHRoZSBmaXJzdCB0d28gY2hpbGRyZW4gbGVmdCBhbmQgcmlnaHQsXG4vLyBsaWtlIHlvdSB3b3VsZCB3aXRoIHBlcmhhcHMgYSBjb21tZW50IHdpdGggYW4gYXZhdGFyIHRvIHRoZSBsZWZ0LiBQYXNzIGl0IGFcbi8vIG1hcmdpbiBiZXR3ZWVuIHRoZSB0d28uIEV4cGxhaW5lZCBmdWxseSBoZXJlOlxuLy8gaHR0cDovL2NhcnJvdGJsb2cuY29tL2Nzcy1wYXR0ZXJucy1ldm9sdmVkL1xuLy9cbi8vIFRoaXMgbWl4aW4gd29ya3MgcmlnaHQgd2hlbiB0aGUgZWxlbWVudCB5b3UgYXBwbHkgaXQgdG8gaGFzIHR3byBvciB0aHJlZVxuLy8gZGlyZWN0IGNoaWxkcmVuLiBUaGUgZmlyc3Qgb25lIHdpbGwgZmxvYXQgdG8gdGhlIGxlZnQsIHRoZSBzZWNvbmQgb25lIHdpbGwgYmVcbi8vIHRvIHRoZSByaWdodCBvZiB0aGUgZmlyc3QsIGFuZCB0aGlyZCB3aWxsIGdvIGZhcnRoZXN0IHJpZ2h0LlxuLy9cbi8vIGV4LiBtZWRpYS1vYmplY3QoKVxuLy8gZXguIG1lZGlhLW9iamVjdDogMTVweFxuLy8gZXguIG1lZGlhLW9iamVjdDogMTVweCAxMHB4XG5cbm1lZGlhLW9iamVjdCgkbWFyZ2luID0gMTBweClcblxuICAkbGVmdC1tYXJnaW4gPSAkbWFyZ2luXG4gICRyaWdodC1tYXJnaW4gPSAkbWFyZ2luXG5cbiAgaWYgbGVuZ3RoKGFyZ3VtZW50cykgPiAxXG4gICAgJGxlZnQtbWFyZ2luID0gYXJndW1lbnRzWzBdXG4gICAgJHJpZ2h0LW1hcmdpbiA9IGFyZ3VtZW50c1sxXVxuXG4gIG92ZXJmbG93OiBoaWRkZW5cbiAgem9vbTogMVxuXG4gICYgPiAqXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gICAgb3ZlcmZsb3c6IGhpZGRlblxuICAmID4gKjpmaXJzdC1jaGlsZFxuICAgIGZsb2F0OiBsZWZ0XG4gICAgbWFyZ2luLXJpZ2h0OiAkcmlnaHQtbWFyZ2luXG4gICYgPiAqOm50aC1jaGlsZCgzKVxuICAgIGZsb2F0OiByaWdodFxuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdC1tYXJnaW5cblxuLy8gTWl4aW46IFJhdGlvIEJveFxuLy8gU2V0IGEgc3BlY2lmaWMgd2lkdGgvaGVpZ2h0IHJhdGlvLiBVc2VmdWwgb24gYmFja2dyb3VuZCBpbWFnZXMgYW5kIGlmcmFtZXMuXG5cbnJhdGlvLWJveCgkcmF0aW8gPSAxLzEpXG4gICRyYXRpbyA9IHJlbW92ZS11bml0KCRyYXRpbylcbiAgb3ZlcmZsb3c6IGhpZGRlblxuICBwb3NpdGlvbjogcmVsYXRpdmVcblxuICAmOmJlZm9yZVxuICAgIGNvbnRlbnQ6ICcnXG4gICAgZGlzcGxheTogYmxvY2tcbiAgICBoZWlnaHQ6IDBcbiAgICBwYWRkaW5nLXRvcDogKDEgLyAkcmF0aW8pICogMTAwJVxuXG4vLyBNaXhpbjogSG9yaXpvbnRhbCBSdWxlXG4vL1xuLy8gQ2xlYW4gcmVzZXQgZm9yIGRpdmlkZXIgbGluZXMuXG4vL1xuLy8gZXg6IHJ1bGUoKVxuLy8gZXggcnVsZShibHVlKVxuXG5ydWxlKCRjb2xvciA9IHJnYmEoIzAwMCwgLjE1KSwgJHNwYWNpbmcgPSAxLjVlbSlcbiAgYm9yZGVyOiAwXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JcbiAgaGVpZ2h0OiAwXG4gIHBhZGRpbmc6IDBcbiAgbWFyZ2luOiAkc3BhY2luZyAwXG5cbi8vIE1peGluOiBUYWJsZSBMYXlvdXRcbi8vXG4vLyBTb21ldGltZXMgeW91IGp1c3QgbmVlZCBhIGdvb2Qgb2xkLWZhc2hpb25lZCB0YWJsZSBsYXlvdXQuXG4vLyBSZWFkIG1vcmU6IGh0dHA6Ly9jb2xpbnRvaC5jb20vYmxvZy9kaXNwbGF5LXRhYmxlLWFudGktaGVyb1xuLy9cbi8vIGV4OiB0bCgpXG4vLyBleDogdGwoYXV0bylcblxudGwoJGxheW91dC10eXBlID0gZml4ZWQpXG4gIGRpc3BsYXk6IHRhYmxlXG4gIHRhYmxlLWxheW91dDogJGxheW91dC10eXBlICAvLyBcImZpeGVkXCIgb3IgXCJhdXRvXCJcbiAgbWFyZ2luOiAwXG4gIHBhZGRpbmc6IDBcbiAgd2lkdGg6IDEwMCVcblxuICA+ICpcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsXG4iLCIvLyBNaXhpbnMhXHJcbmNvdmVyKClcclxuXHRhYnNvbHV0ZTogdG9wIDAgbGVmdCAwXHJcblx0d2lkdGg6IDEwMCVcclxuXHRoZWlnaHQ6IDEwMCVcclxuXHJcbmNlbnRlcmVkKClcclxuXHRhYnNvbHV0ZTogdG9wIDUwJSBsZWZ0IDUwJVxyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXHJcblxyXG5oY2VudGVyZWQoKVxyXG5cdGFic29sdXRlOiBsZWZ0IDUwJVxyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxyXG5cclxudmNlbnRlcmVkKClcclxuXHRhYnNvbHV0ZTogdG9wIDUwJVxyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKVxyXG5cclxucGVyaGVpZ2h0KHBlcmNlbnQpXHJcblx0JjphZnRlclxyXG5cdFx0ZGlzcGxheTogYmxvY2tcclxuXHRcdGNvbnRlbnQ6ICcgJ1xyXG5cdFx0cGFkZGluZy10b3A6IHBlcmNlbnRcclxuXHJcbmJhY2tncm91bmQoJHR5cGUpXHJcblx0aWYgJHR5cGUgPT0gJ2NvdmVyJ1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlclxyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlclxyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdFxyXG5cdGlmICR0eXBlID09ICdjb250YWluJ1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluXHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyXHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0XHJcblxyXG5iZ2ltYWdlKCRpbWFnZU5hbWUsICRhYnNvbHV0ZSlcclxuXHRpZiAkYWJzb2x1dGVcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3RocmVlZm9fdmFsdWVzL2Nzcy9pbWFnZXMvJyArICRpbWFnZU5hbWUpXHJcblx0ZWxzZVxyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWFnZXMvJyArICRpbWFnZU5hbWUpXHJcblxyXG5kYXJrb3ZlcmxheSgpXHJcblx0JjpiZWZvcmVcclxuXHRcdGNvbnRlbnQgJydcclxuXHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHR3aWR0aCAxMDAlXHJcblx0XHRoZWlnaHQgMTAwJVxyXG5cdFx0YmFja2dyb3VuZC1jb2xvciByZ2JhKCRibGFjaywgMC4xNSkiLCJzZWN0aW9uLmFwcFxyXG5cdG1hcmdpbi10b3A6IDJyZW1cclxuXHRoMVxyXG5cdFx0Zm9udC1zaXplOiAzOHB4XHJcblx0XHRmb250LXdlaWdodDogMzAwXHJcblx0XHRtYXJnaW46IDNyZW0gMCAwIDJyZW1cclxuXHRcdGltZ1xyXG5cdFx0XHR3aWR0aDogMzAwcHhcclxuXHRcdFx0aGVpZ2h0OiBhdXRvXHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweCIsIi5yZWNvZ25pdGlvbnNcclxuXHRwYWRkaW5nOiA1MHB4IDE1cHggMTVweCAxNXB4XHJcblx0b3ZlcmZsb3c6IGhpZGRlblxyXG5cdGRpc3BsYXk6IGZsZXhcclxuXHRmbGV4LXdyYXA6IHdyYXBcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGxlZnRcclxuXHQucmVjb2duaXRpb25cclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlXHJcblx0XHRwYWRkaW5nOiA1cHggMTBweCAxMHB4IDEwcHhcclxuXHRcdG1hcmdpbi1yaWdodDogMTVweFxyXG5cdFx0bWFyZ2luLXRvcDogMTVweFxyXG5cdFx0ZmxleDogMCAwIDI0MHB4XHJcblx0XHRoMlxyXG5cdFx0XHRtYXJnaW46IDBcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4XHJcblx0XHQubm90ZVxyXG5cdFx0XHRtYXJnaW46IDVweCAwXHJcblx0XHRwXHJcblx0XHRcdG1hcmdpbjogMFxyXG5cdFx0XHRmb250LXNpemU6IDE3cHhcclxuXHRcdC52YWx1ZVxyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93XHJcblx0XHRcdGNvbG9yOiB3aGl0ZVxyXG5cdFx0XHRwYWRkaW5nOiA0cHggOHB4XHJcblx0XHRcdG1hcmdpbi10b3A6IDVweFxyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDVweFxyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHhcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrXHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2VcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkXHJcblx0XHRcdCYuY29sb3JfMFxyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM0ZjUxNGZcclxuXHRcdFx0Ji5jb2xvcl8xXHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2NlOWQ2OVxyXG5cdFx0XHQmLmNvbG9yXzJcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ3YWEyXHJcblx0XHRcdCYuY29sb3JfM1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM2Y2MxYjNcclxuXHRcdFx0Ji5jb2xvcl80XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0NWU1OCIsIi51c2VyX3dyYXBwZXJcclxuXHRwb3NpdGlvbjogcmVsYXRpdmVcclxuXHRtaW4taGVpZ2h0OiAxMDBweFxyXG5cdG1hcmdpbjogMjBweCAxNXB4XHJcblx0Ym94LXNoYWRvdzogM3B4IDRweCA1cHggMHB4IHJnYmEoMCwwLDAsMC4xKVxyXG5cdCY6bnRoLWNoaWxkKG9kZClcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsMjAsMjAsIC43KVxyXG5cdCY6bnRoLWNoaWxkKGV2ZW4pXHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLDIwLDIwLCAuOClcclxuXHQudXNlclxyXG5cdFx0YWJzb2x1dGU6IHRvcCAwIGxlZnQgMFxyXG5cdFx0d2lkdGg6IDEwMCVcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IGJsYWNrXHJcblx0XHRoMlxyXG5cdFx0XHRjb2xvcjogd2hpdGVcclxuXHRcdFx0Zm9udC1zaXplOiAyMHB4XHJcblx0XHRcdHBhZGRpbmc6IDVweCAyMHB4XHJcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXBcclxuXHRcdFx0aGVpZ2h0OiA0MHB4XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA0MHB4XHJcblx0XHRcdGZsb2F0OiBsZWZ0XHJcblx0XHRcdG1hcmdpbjogMFxyXG5cdFx0XHRjbGVhcjogbm9uZVxyXG5cdFx0aW1nXHJcblx0XHRcdHdpZHRoOiA1MHB4XHJcblx0XHRcdGhlaWdodDogNTBweFxyXG5cdFx0XHRmbG9hdDogbGVmdFxyXG4iLCJAaW1wb3J0ICcuL3ZhcnMuc3R5bCdcclxuQGltcG9ydCAnLi9pbXBvcnRzLyonXHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy8qJ1xyXG5cclxuXHJcbiN2YWx1ZXNfYm9hcmRcclxuXHRwYWRkaW5nOiAycmVtIDBcclxuXHRmaXhlZDogdG9wIDAgbGVmdCAwXHJcblx0d2lkdGg6IDEwMCVcclxuXHRoZWlnaHQ6IDEwMCVcclxuXHRvdmVyZmxvdzogYXV0b1xyXG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJ1xyXG5cdHotaW5kZXg6IDQwXHJcblx0YmdpbWFnZSgnaGFsZnRvbmUucG5nJywgZmFsc2UpXHJcblx0KlxyXG5cdFx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnXHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94Il19 */
$yellow = #e7ca27
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
var gulp = require('gulp');
var sourcemaps = require('gulp-sourcemaps');
var gutil = require('gulp-util');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var plumber = require('gulp-plumber');
var cleanCSS = require('gulp-clean-css');
var stylus = require('gulp-stylus');
var axis = require('axis');
var jeet = require('jeet');
var rupture = require('rupture');
gulp.task('stylus', function() {
gulp.src('./css/app.styl')
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(stylus({use: [axis(), jeet(), rupture()], compress: true}))
.pipe(rename('site.min.css'))
.pipe(sourcemaps.write())
.pipe(gulp.dest('./css/'));
});
gulp.task('watch', function() {
gulp.watch('./css/**/*.styl', ['stylus']);
});
gulp.task('default', ['stylus', 'watch']);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "SchedulingBoard",
"version": "0.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"flux": "^3.1.3",
"jquery": "^3.3.1",
"lodash": "^4.17.11",
"react": "^16.5.2",
"react-datepicker": "^1.6.0",
"react-dnd-html5-backend": "^5.0.1",
"react-dom": "^16.5.2",
"sifter": "^0.5.2"
},
"devDependencies": {
"@babel/core": "^7.1.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"axis": "^1.0.0",
"babel-loader": "^8.0.2",
"gulp": "^3.9.1",
"gulp-clean-css": "^3.10.0",
"gulp-concat": "^2.6.1",
"gulp-plumber": "^1.2.0",
"gulp-rename": "^1.4.0",
"gulp-sourcemaps": "^2.6.4",
"gulp-stylus": "^2.7.0",
"gulp-uglify": "^3.0.1",
"jeet": "^7.2.0",
"rupture": "^0.7.1",
"webpack": "^4.19.1",
"webpack-cli": "^3.1.0"
},
"scripts": {
"start": "webpack --mode development",
"build": "webpack --mode production"
},
"author": "",
"license": "ISC"
}
class Add extends React.Component {
constructor(props) {
super(props);
this.state = {show: false};
this.state.recognition = this.getEmptyRecognition();
}
getEmptyRecognition() {
return {
title: '',
note: '',
value: [],
who: ''
}
}
componentWillMount() {
this.addAction = this.addAction.bind(this);
emitter.on('add', this.addAction);
}
componentDidMount() {
}
componentWillUnmount() {
emitter.removeListener('add', this.addAction);
}
addAction(userData) {
this.state.recognition = this.getEmptyRecognition();
this.state.recognition.who = userData.ID;
this.toggle();
}
toggle() {
this.state.show = !this.state.show;
let newState = deepCopy(this.state);
this.setState(newState);
if (this.state.show) {
setTimeout(function() {
$('input[name="note"]').focus();
});
} else {
$('input[name="note"]').val('');
}
}
setValue(field, e) {
let newState = _.clone(this.state);
let value = e.target.value;
if (field == 'value') {
if (_.includes(newState.recognition.value, value)) {
newState.recognition.value = _.filter(newState.recognition.value, function(existingValue) {
return existingValue != value;
});
} else {
newState.recognition.value.push(value);
}
} else {
newState.recognition[field] = value;
}
this.setState(newState);
}
handleSubmit(e) {
e.preventDefault();
let recognitionData = {
title: this.state.recognition.note,
fields: {
note: this.state.recognition.note,
who: this.state.recognition.who,
value: this.state.recognition.value
}
}
dispatcher.dispatch({type: 'create-recognition', recognitionData: recognitionData});
this.state.recognition = this.getEmptyRecognition();
this.toggle();
$(window).focus();
}
render() {
let submitButton = <input type="submit" value="CREATE" />;
if (this.state.editedId)
submitButton = <input type="submit" value="SAVE" />;
let values = JSON.parse($('#values_choices').html());
let valuesMap = [];
_.each(values, function (value, key) {
valuesMap.push(
<option key={key} name={key} value={value}>{value}</option>
);
});
const user = _.find(this.props.users, (user) => {
return user.ID == this.state.recognition.who
});
let who = '';
if (this.state.recognition.who)
who = <img src={user.url} />
return (
<div id="add" className={this.state.show ? 'show' : ''}>
{who}
<form onSubmit={this.handleSubmit.bind(this)}>
<label htmlFor="note">Note</label>
<input type="text" id="note" onChange={this.setValue.bind(this, 'note')} value={this.state.recognition.name} name="note" />
<label htmlFor="value">Values</label>
<select multiple id="value" onChange={this.setValue.bind(this, 'value')} value={this.state.recognition.value} name="value">
{_.map(valuesMap, function(value) {
return value;
})}
</select>
<br />
{submitButton}
</form>
</div>
);
}
};
export default Add;
\ No newline at end of file
import HTML5Backend from 'react-dnd-html5-backend';
import User from './user.jsx';
import Add from './add.jsx';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {data: {users: null, recognitions: null}};
}
componentWillMount() {
this.dataReceived = this.dataReceived.bind(this);
emitter.on('data-received', this.dataReceived);
}
componentDidMount() {
dispatcher.dispatch({type: 'get-data'});
}
componentWillUnmount() {
emitter.removeListener('data-received', this.dataReceived);
}
dataReceived(data) {
this.setState({data: data});
}
render() {
const {users, recognitions} = this.state.data;
if (!users)
return null;
return (
<section className="app">
<h1><img src="/wp-content/plugins/values_board/page/css/images/logo.svg" /> Gold Star Board</h1>
<Add users={users} />
{users.map(function (user, i) {
return <User userData={user} recognitions={recognitions} key={i} />
}.bind(this))}
</section>
);
}
};
\ No newline at end of file
export default class Recognition extends React.Component {
constructor(props) {
super(props);
this.state = {};
}
render() {
const recognition = this.props.recognitionData;
let values = recognition.acf.value;
if (!Array.isArray(values))
values = [values];
return (
<div className="recognition">
<div className="note" dangerouslySetInnerHTML={{__html: recognition.acf.note}}></div>
{values.map(function(value, i) {
value = value.replace(/\W+/, '');
return (
<div key={i} className={'value color_' + i + ' color_' + value.toLowerCase()}>
{value}
</div>
);
})}
</div>
);
}
};
\ No newline at end of file
import Recognition from './recognition.jsx';
export default class Recognitions extends React.Component {
constructor(props) {
super(props);
this.state = {};
}
render() {
const {recognitions} = this.props;
return (
<div className="recognitions">
{recognitions.map(function (recognition, i) {
return (
<Recognition key={i} recognitionData={recognition} />
)
}.bind(this))}
</div>
);
}
};
\ No newline at end of file
import Recognitions from './recognitions.jsx';
export default class User extends React.Component {
constructor(props) {
super(props);
this.state = {};
this.addRecognition = this.addRecognition.bind(this);
}
addRecognition() {
emitter.emit('add', this.props.userData);
}
render() {
const {userData, recognitions} = this.props;
let userRecognitions = _.filter(recognitions, function(u) {
if (!u.acf.who)
return false;
return u.acf.who.ID == userData.ID;
});
return (
<div className="user_wrapper">
<div className="user">
<img src={userData.url} />
<h2>{userData.display_name}</h2>
<button className="add" onClick={this.addRecognition}></button>
</div>
<Recognitions recognitions={userRecognitions} />
</div>
);
}
};
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Dispatcher from './lib/dispatcher.js';
import Emitter from './lib/emitter.js';
import './lib/helpers.js';
import ValuesData from './stores/values_data.js';
import App from './components/app.jsx';
ReactDOM.render(
<App />,
document.getElementById('values_board')
);
export const ItemTypes = {
TEAM_MEMBER: 'team_member',
TASK: 'task'
};
\ No newline at end of file
var Dispatcher = require('flux').Dispatcher;
window.dispatcher = new Dispatcher();
module.exports = window.dispatcher;
\ No newline at end of file
var EventEmitter = require('events').EventEmitter;
window.emitter = new EventEmitter();
emitter.setMaxListeners(50);
module.exports = window.dispatcher;
\ No newline at end of file
window.deepCopy = function(object) {
return JSON.parse(JSON.stringify(object));
}
window.changeColor = function(color, percent) {
var num = parseInt(color.slice(1),16), amt = Math.round(2.55 * percent), R = (num >> 16) + amt, G = (num >> 8 & 0x00FF) + amt, B = (num & 0x0000FF) + amt;
return "#" + (0x1000000 + (R<255?R<1?0:R:255)*0x10000 + (G<255?G<1?0:G:255)*0x100 + (B<255?B<1?0:B:255)).toString(16).slice(1);
}
window.selectElementText = function(el, win) {
win = win || window;
var doc = win.document, sel, range;
if (win.getSelection && doc.createRange) {
sel = win.getSelection();
range = doc.createRange();
range.selectNodeContents(el);
sel.removeAllRanges();
sel.addRange(range);
} else if (doc.body.createTextRange) {
range = doc.body.createTextRange();
range.moveToElementText(el);
range.select();
}
}
\ No newline at end of file
var ValuesStore = function() {
let _users = null;
let _recognitions = null;
dispatcher.register(function(payload) {
switch (payload.type) {
case 'get-data':
_getUsers();
_getRecognitions();
break;
// case 'update-task':
// _updateTask(payload.taskId, payload.changes);
// break;
case 'create-recognition':
_createRecognition(payload.recognitionData);
break;
}
}.bind(this));
var _getUsers = function() {
$.get('/values-board/users', function(usersResponse) {
_users = $.parseJSON(usersResponse);
_dataReceived();
});
}
var _getRecognitions = function() {
$.get('/values-board/recognitions', function(recognitionsResponse) {
_recognitions = $.parseJSON(recognitionsResponse);
_dataReceived();
});
}
var _createRecognition = function(recognitionData) {
recognitionData.author = window.current_user;
$.post('/values-board/recognition', recognitionData, function(createdResponse) {
const created = $.parseJSON(createdResponse);
_recognitions.push(created);
_dataReceived();
});
}
var _dataReceived = function() {
if (_users && _recognitions)
_notify('data-received', {users: _users, recognitions: _recognitions});
}
var _notify = function(ev, data) {
emitter.emit(ev, data);
}
}
module.exports = new ValuesStore();
\ No newline at end of file
/**
* @license
* Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
*/
;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&false!==t(n[r],r,n););return n}function i(n,t){for(var r=null==n?0:n.length;r--&&false!==t(n[r],r,n););
return n}function o(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function f(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function c(n,t){return!(null==n||!n.length)&&-1<d(n,t,0)}function a(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return true;return false}function l(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function s(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];
return n}function h(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function p(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function _(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return true;return false}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,false}),e}function g(n,t,r,e){var u=n.length;for(r+=e?1:-1;e?r--:++r<u;)if(t(n[r],r,n))return r;return-1}function d(n,t,r){if(t===t)n:{
--r;for(var e=n.length;++r<e;)if(n[r]===t){n=r;break n}n=-1}else n=g(n,b,r);return n}function y(n,t,r,e){--r;for(var u=n.length;++r<u;)if(e(n[r],t))return r;return-1}function b(n){return n!==n}function x(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:P}function j(n){return function(t){return null==t?F:t[n]}}function w(n){return function(t){return null==n?F:n[t]}}function m(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=false,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;
return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==F&&(r=r===F?i:r+i)}return r}function E(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function O(n,t){return l(t,function(t){return[t,n[t]]})}function S(n){return function(t){return n(t)}}function I(n,t){return l(t,function(t){return n[t]})}function R(n,t){return n.has(t)}function z(n,t){for(var r=-1,e=n.length;++r<e&&-1<d(t,n[r],0););return r}function W(n,t){for(var r=n.length;r--&&-1<d(t,n[r],0););return r}function B(n){
return"\\"+Tn[n]}function L(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function U(n,t){return function(r){return n(t(r))}}function C(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&"__lodash_placeholder__"!==o||(n[r]="__lodash_placeholder__",i[u++]=r)}return i}function D(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function T(n){if(Bn.test(n)){
for(var t=zn.lastIndex=0;zn.test(n);)++t;n=t}else n=tt(n);return n}function $(n){return Bn.test(n)?n.match(zn)||[]:n.split("")}var F,N=1/0,P=NaN,Z=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],q=/\b__p\+='';/g,V=/\b(__p\+=)''\+/g,K=/(__e\(.*?\)|\b__t\))\+'';/g,G=/&(?:amp|lt|gt|quot|#39);/g,H=/[&<>"']/g,J=RegExp(G.source),Y=RegExp(H.source),Q=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,nn=/<%=([\s\S]+?)%>/g,tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rn=/^\w*$/,en=/^\./,un=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,on=/[\\^$.*+?()[\]{}|]/g,fn=RegExp(on.source),cn=/^\s+|\s+$/g,an=/^\s+/,ln=/\s+$/,sn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hn=/\{\n\/\* \[wrapped with (.+)\] \*/,pn=/,? & /,_n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,vn=/\\(\\)?/g,gn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,dn=/\w*$/,yn=/^[-+]0x[0-9a-f]+$/i,bn=/^0b[01]+$/i,xn=/^\[object .+?Constructor\]$/,jn=/^0o[0-7]+$/i,wn=/^(?:0|[1-9]\d*)$/,mn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,An=/($^)/,kn=/['\n\r\u2028\u2029\\]/g,En="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",On="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+En,Sn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",In=RegExp("['\u2019]","g"),Rn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),zn=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+Sn+En,"g"),Wn=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)|\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)|\\d+",On].join("|"),"g"),Bn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),Ln=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Un="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Cn={};
Cn["[object Float32Array]"]=Cn["[object Float64Array]"]=Cn["[object Int8Array]"]=Cn["[object Int16Array]"]=Cn["[object Int32Array]"]=Cn["[object Uint8Array]"]=Cn["[object Uint8ClampedArray]"]=Cn["[object Uint16Array]"]=Cn["[object Uint32Array]"]=true,Cn["[object Arguments]"]=Cn["[object Array]"]=Cn["[object ArrayBuffer]"]=Cn["[object Boolean]"]=Cn["[object DataView]"]=Cn["[object Date]"]=Cn["[object Error]"]=Cn["[object Function]"]=Cn["[object Map]"]=Cn["[object Number]"]=Cn["[object Object]"]=Cn["[object RegExp]"]=Cn["[object Set]"]=Cn["[object String]"]=Cn["[object WeakMap]"]=false;
var Dn={};Dn["[object Arguments]"]=Dn["[object Array]"]=Dn["[object ArrayBuffer]"]=Dn["[object DataView]"]=Dn["[object Boolean]"]=Dn["[object Date]"]=Dn["[object Float32Array]"]=Dn["[object Float64Array]"]=Dn["[object Int8Array]"]=Dn["[object Int16Array]"]=Dn["[object Int32Array]"]=Dn["[object Map]"]=Dn["[object Number]"]=Dn["[object Object]"]=Dn["[object RegExp]"]=Dn["[object Set]"]=Dn["[object String]"]=Dn["[object Symbol]"]=Dn["[object Uint8Array]"]=Dn["[object Uint8ClampedArray]"]=Dn["[object Uint16Array]"]=Dn["[object Uint32Array]"]=true,
Dn["[object Error]"]=Dn["[object Function]"]=Dn["[object WeakMap]"]=false;var Mn,Tn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},$n=parseFloat,Fn=parseInt,Nn=typeof global=="object"&&global&&global.Object===Object&&global,Pn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=Nn||Pn||Function("return this")(),qn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vn=qn&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=Vn&&Vn.exports===qn,Gn=Kn&&Nn.process;
n:{try{Mn=Gn&&Gn.binding&&Gn.binding("util");break n}catch(n){}Mn=void 0}var Hn=Mn&&Mn.isArrayBuffer,Jn=Mn&&Mn.isDate,Yn=Mn&&Mn.isMap,Qn=Mn&&Mn.isRegExp,Xn=Mn&&Mn.isSet,nt=Mn&&Mn.isTypedArray,tt=j("length"),rt=w({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I",
"\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C",
"\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i",
"\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S",
"\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe",
"\u0149":"'n","\u017f":"s"}),et=w({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),ut=w({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),it=function w(En){function On(n){if(xu(n)&&!af(n)&&!(n instanceof Mn)){if(n instanceof zn)return n;if(ci.call(n,"__wrapped__"))return Pe(n)}return new zn(n)}function Sn(){}function zn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=F}function Mn(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,
this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Tn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Nn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Pn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function qn(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new Pn;++t<r;)this.add(n[t])}function Vn(n){
this.size=(this.__data__=new Nn(n)).size}function Gn(n,t){var r,e=af(n),u=!e&&cf(n),i=!e&&!u&&sf(n),o=!e&&!u&&!i&&gf(n),u=(e=e||u||i||o)?E(n.length,ri):[],f=u.length;for(r in n)!t&&!ci.call(n,r)||e&&("length"==r||i&&("offset"==r||"parent"==r)||o&&("buffer"==r||"byteLength"==r||"byteOffset"==r)||Re(r,f))||u.push(r);return u}function tt(n){var t=n.length;return t?n[cr(0,t-1)]:F}function ot(n,t){return Te(Mr(n),gt(t,0,n.length))}function ft(n){return Te(Mr(n))}function ct(n,t,r){(r===F||hu(n[t],r))&&(r!==F||t in n)||_t(n,t,r);
}function at(n,t,r){var e=n[t];ci.call(n,t)&&hu(e,r)&&(r!==F||t in n)||_t(n,t,r)}function lt(n,t){for(var r=n.length;r--;)if(hu(n[r][0],t))return r;return-1}function st(n,t,r,e){return oo(n,function(n,u,i){t(e,n,r(n),i)}),e}function ht(n,t){return n&&Tr(t,Lu(t),n)}function pt(n,t){return n&&Tr(t,Uu(t),n)}function _t(n,t,r){"__proto__"==t&&Ei?Ei(n,t,{configurable:true,enumerable:true,value:r,writable:true}):n[t]=r}function vt(n,t){for(var r=-1,e=t.length,u=Hu(e),i=null==n;++r<e;)u[r]=i?F:Wu(n,t[r]);return u;
}function gt(n,t,r){return n===n&&(r!==F&&(n=n<=r?n:r),t!==F&&(n=n>=t?n:t)),n}function dt(n,t,r,e,i,o){var f,c=1&t,a=2&t,l=4&t;if(r&&(f=i?r(n,e,i,o):r(n)),f!==F)return f;if(!bu(n))return n;if(e=af(n)){if(f=Ee(n),!c)return Mr(n,f)}else{var s=yo(n),h="[object Function]"==s||"[object GeneratorFunction]"==s;if(sf(n))return Wr(n,c);if("[object Object]"==s||"[object Arguments]"==s||h&&!i){if(f=a||h?{}:Oe(n),!c)return a?Fr(n,pt(f,n)):$r(n,ht(f,n))}else{if(!Dn[s])return i?n:{};f=Se(n,s,dt,c)}}if(o||(o=new Vn),
i=o.get(n))return i;o.set(n,f);var a=l?a?ye:de:a?Uu:Lu,p=e?F:a(n);return u(p||n,function(e,u){p&&(u=e,e=n[u]),at(f,u,dt(e,t,r,u,n,o))}),f}function yt(n){var t=Lu(n);return function(r){return bt(r,n,t)}}function bt(n,t,r){var e=r.length;if(null==n)return!e;for(n=ni(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===F&&!(u in n)||!i(o))return false}return true}function xt(n,t,r){if(typeof n!="function")throw new ei("Expected a function");return jo(function(){n.apply(F,r)},t)}function jt(n,t,r,e){var u=-1,i=c,o=true,f=n.length,s=[],h=t.length;
if(!f)return s;r&&(t=l(t,S(r))),e?(i=a,o=false):200<=t.length&&(i=R,o=false,t=new qn(t));n:for(;++u<f;){var p=n[u],_=null==r?p:r(p),p=e||0!==p?p:0;if(o&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function wt(n,t){var r=true;return oo(n,function(n,e,u){return r=!!t(n,e,u)}),r}function mt(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===F?o===o&&!Au(o):r(o,f)))var f=o,c=i}return c}function At(n,t){var r=[];return oo(n,function(n,e,u){
t(n,e,u)&&r.push(n)}),r}function kt(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Ie),u||(u=[]);++i<o;){var f=n[i];0<t&&r(f)?1<t?kt(f,t-1,r,e,u):s(u,f):e||(u[u.length]=f)}return u}function Et(n,t){return n&&co(n,t,Lu)}function Ot(n,t){return n&&ao(n,t,Lu)}function St(n,t){return f(t,function(t){return gu(n[t])})}function It(n,t){t=Rr(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[$e(t[r++])];return r&&r==e?n:F}function Rt(n,t,r){return t=t(n),af(n)?t:s(t,r(n))}function zt(n){if(null==n)n=n===F?"[object Undefined]":"[object Null]";else if(ki&&ki in ni(n)){
var t=ci.call(n,ki),r=n[ki];try{n[ki]=F;var e=true}catch(n){}var u=si.call(n);e&&(t?n[ki]=r:delete n[ki]),n=u}else n=si.call(n);return n}function Wt(n,t){return n>t}function Bt(n,t){return null!=n&&ci.call(n,t)}function Lt(n,t){return null!=n&&t in ni(n)}function Ut(n,t,r){for(var e=r?a:c,u=n[0].length,i=n.length,o=i,f=Hu(i),s=1/0,h=[];o--;){var p=n[o];o&&t&&(p=l(p,S(t))),s=Mi(p.length,s),f[o]=!r&&(t||120<=u&&120<=p.length)?new qn(o&&p):F}var p=n[0],_=-1,v=f[0];n:for(;++_<u&&h.length<s;){var g=p[_],d=t?t(g):g,g=r||0!==g?g:0;
if(v?!R(v,d):!e(h,d,r)){for(o=i;--o;){var y=f[o];if(y?!R(y,d):!e(n[o],d,r))continue n}v&&v.push(d),h.push(g)}}return h}function Ct(n,t,r){var e={};return Et(n,function(n,u,i){t(e,r(n),u,i)}),e}function Dt(n,t,e){return t=Rr(t,n),n=2>t.length?n:It(n,vr(t,0,-1)),t=null==n?n:n[$e(Ge(t))],null==t?F:r(t,n,e)}function Mt(n){return xu(n)&&"[object Arguments]"==zt(n)}function Tt(n){return xu(n)&&"[object ArrayBuffer]"==zt(n)}function $t(n){return xu(n)&&"[object Date]"==zt(n)}function Ft(n,t,r,e,u){if(n===t)t=true;else if(null==n||null==t||!xu(n)&&!xu(t))t=n!==n&&t!==t;else n:{
var i=af(n),o=af(t),f=i?"[object Array]":yo(n),c=o?"[object Array]":yo(t),f="[object Arguments]"==f?"[object Object]":f,c="[object Arguments]"==c?"[object Object]":c,a="[object Object]"==f,o="[object Object]"==c;if((c=f==c)&&sf(n)){if(!sf(t)){t=false;break n}i=true,a=false}if(c&&!a)u||(u=new Vn),t=i||gf(n)?_e(n,t,r,e,Ft,u):ve(n,t,f,r,e,Ft,u);else{if(!(1&r)&&(i=a&&ci.call(n,"__wrapped__"),f=o&&ci.call(t,"__wrapped__"),i||f)){n=i?n.value():n,t=f?t.value():t,u||(u=new Vn),t=Ft(n,t,r,e,u);break n}if(c)t:if(u||(u=new Vn),
i=1&r,f=de(n),o=f.length,c=de(t).length,o==c||i){for(a=o;a--;){var l=f[a];if(!(i?l in t:ci.call(t,l))){t=false;break t}}if((c=u.get(n))&&u.get(t))t=c==t;else{c=true,u.set(n,t),u.set(t,n);for(var s=i;++a<o;){var l=f[a],h=n[l],p=t[l];if(e)var _=i?e(p,h,l,t,n,u):e(h,p,l,n,t,u);if(_===F?h!==p&&!Ft(h,p,r,e,u):!_){c=false;break}s||(s="constructor"==l)}c&&!s&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(c=false)),
u.delete(n),u.delete(t),t=c}}else t=false;else t=false}}return t}function Nt(n){return xu(n)&&"[object Map]"==yo(n)}function Pt(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=ni(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return false}for(;++u<i;){var f=r[u],c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===F&&!(c in n))return false}else{if(f=new Vn,e)var s=e(a,l,c,n,t,f);if(s===F?!Ft(l,a,3,e,f):!s)return false}}return true}function Zt(n){return!(!bu(n)||li&&li in n)&&(gu(n)?_i:xn).test(Fe(n))}function qt(n){
return xu(n)&&"[object RegExp]"==zt(n)}function Vt(n){return xu(n)&&"[object Set]"==yo(n)}function Kt(n){return xu(n)&&yu(n.length)&&!!Cn[zt(n)]}function Gt(n){return typeof n=="function"?n:null==n?Nu:typeof n=="object"?af(n)?Xt(n[0],n[1]):Qt(n):Vu(n)}function Ht(n){if(!Le(n))return Ci(n);var t,r=[];for(t in ni(n))ci.call(n,t)&&"constructor"!=t&&r.push(t);return r}function Jt(n,t){return n<t}function Yt(n,t){var r=-1,e=pu(n)?Hu(n.length):[];return oo(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function Qt(n){
var t=me(n);return 1==t.length&&t[0][2]?Ue(t[0][0],t[0][1]):function(r){return r===n||Pt(r,n,t)}}function Xt(n,t){return We(n)&&t===t&&!bu(t)?Ue($e(n),t):function(r){var e=Wu(r,n);return e===F&&e===t?Bu(r,n):Ft(t,e,3)}}function nr(n,t,r,e,u){n!==t&&co(t,function(i,o){if(bu(i)){u||(u=new Vn);var f=u,c=n[o],a=t[o],l=f.get(a);if(l)ct(n,o,l);else{var l=e?e(c,a,o+"",n,t,f):F,s=l===F;if(s){var h=af(a),p=!h&&sf(a),_=!h&&!p&&gf(a),l=a;h||p||_?af(c)?l=c:_u(c)?l=Mr(c):p?(s=false,l=Wr(a,true)):_?(s=false,l=Lr(a,true)):l=[]:wu(a)||cf(a)?(l=c,
cf(c)?l=Ru(c):(!bu(c)||r&&gu(c))&&(l=Oe(a))):s=false}s&&(f.set(a,l),nr(l,a,r,e,f),f.delete(a)),ct(n,o,l)}}else f=e?e(n[o],i,o+"",n,t,u):F,f===F&&(f=i),ct(n,o,f)},Uu)}function tr(n,t){var r=n.length;if(r)return t+=0>t?r:0,Re(t,r)?n[t]:F}function rr(n,t,r){var e=-1;return t=l(t.length?t:[Nu],S(je())),n=Yt(n,function(n){return{a:l(t,function(t){return t(n)}),b:++e,c:n}}),A(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e<o;){var c=Ur(u[e],i[e]);if(c){e=e>=f?c:c*("desc"==r[e]?-1:1);
break n}}e=n.b-t.b}return e})}function er(n,t){return ur(n,t,function(t,r){return Bu(n,r)})}function ur(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=It(n,o);r(f,o)&&pr(i,Rr(o,n),f)}return i}function ir(n){return function(t){return It(t,n)}}function or(n,t,r,e){var u=e?y:d,i=-1,o=t.length,f=n;for(n===t&&(t=Mr(t)),r&&(f=l(n,S(r)));++i<o;)for(var c=0,a=t[i],a=r?r(a):a;-1<(c=u(f,a,c,e));)f!==n&&wi.call(f,c,1),wi.call(n,c,1);return n}function fr(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];
if(r==e||u!==i){var i=u;Re(u)?wi.call(n,u,1):mr(n,u)}}}function cr(n,t){return n+zi(Fi()*(t-n+1))}function ar(n,t){var r="";if(!n||1>t||9007199254740991<t)return r;do t%2&&(r+=n),(t=zi(t/2))&&(n+=n);while(t);return r}function lr(n,t){return wo(Ce(n,t,Nu),n+"")}function sr(n){return tt(Du(n))}function hr(n,t){var r=Du(n);return Te(r,gt(t,0,r.length))}function pr(n,t,r,e){if(!bu(n))return n;t=Rr(t,n);for(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=$e(t[u]),a=r;if(u!=o){var l=f[c],a=e?e(l,c,f):F;
a===F&&(a=bu(l)?l:Re(t[u+1])?[]:{})}at(f,c,a),f=f[c]}return n}function _r(n){return Te(Du(n))}function vr(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Hu(u);++e<u;)r[e]=n[e+t];return r}function gr(n,t){var r;return oo(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function dr(n,t,r){var e=0,u=null==n?e:n.length;if(typeof t=="number"&&t===t&&2147483647>=u){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!Au(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return yr(n,t,Nu,r);
}function yr(n,t,r,e){t=r(t);for(var u=0,i=null==n?0:n.length,o=t!==t,f=null===t,c=Au(t),a=t===F;u<i;){var l=zi((u+i)/2),s=r(n[l]),h=s!==F,p=null===s,_=s===s,v=Au(s);(o?e||_:a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):p||v?0:e?s<=t:s<t)?u=l+1:i=l}return Mi(i,4294967294)}function br(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!hu(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function xr(n){return typeof n=="number"?n:Au(n)?P:+n}function jr(n){if(typeof n=="string")return n;
if(af(n))return l(n,jr)+"";if(Au(n))return uo?uo.call(n):"";var t=n+"";return"0"==t&&1/n==-N?"-0":t}function wr(n,t,r){var e=-1,u=c,i=n.length,o=true,f=[],l=f;if(r)o=false,u=a;else if(200<=i){if(u=t?null:po(n))return D(u);o=false,u=R,l=new qn}else l=t?[]:f;n:for(;++e<i;){var s=n[e],h=t?t(s):s,s=r||0!==s?s:0;if(o&&h===h){for(var p=l.length;p--;)if(l[p]===h)continue n;t&&l.push(h),f.push(s)}else u(l,h,r)||(l!==f&&l.push(h),f.push(s))}return f}function mr(n,t){return t=Rr(t,n),n=2>t.length?n:It(n,vr(t,0,-1)),
null==n||delete n[$e(Ge(t))]}function Ar(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?vr(n,e?0:i,e?i+1:u):vr(n,e?i+1:0,e?u:i)}function kr(n,t){var r=n;return r instanceof Mn&&(r=r.value()),h(t,function(n,t){return t.func.apply(t.thisArg,s([n],t.args))},r)}function Er(n,t,r){var e=n.length;if(2>e)return e?wr(n[0]):[];for(var u=-1,i=Hu(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=jt(i[u]||o,n[f],t,r));return wr(kt(i,1),t,r)}function Or(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;)r(o,n[e],e<i?t[e]:F);
return o}function Sr(n){return _u(n)?n:[]}function Ir(n){return typeof n=="function"?n:Nu}function Rr(n,t){return af(n)?n:We(n,t)?[n]:mo(zu(n))}function zr(n,t,r){var e=n.length;return r=r===F?e:r,!t&&r>=e?n:vr(n,t,r)}function Wr(n,t){if(t)return n.slice();var r=n.length,r=yi?yi(r):new n.constructor(r);return n.copy(r),r}function Br(n){var t=new n.constructor(n.byteLength);return new di(t).set(new di(n)),t}function Lr(n,t){return new n.constructor(t?Br(n.buffer):n.buffer,n.byteOffset,n.length)}function Ur(n,t){
if(n!==t){var r=n!==F,e=null===n,u=n===n,i=Au(n),o=t!==F,f=null===t,c=t===t,a=Au(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Cr(n,t,r,e){var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Di(i-o,0),l=Hu(c+a);for(e=!e;++f<c;)l[f]=t[f];for(;++u<o;)(e||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l}function Dr(n,t,r,e){var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Di(i-f,0),s=Hu(l+a);
for(e=!e;++u<l;)s[u]=n[u];for(l=u;++c<a;)s[l+c]=t[c];for(;++o<f;)(e||u<i)&&(s[l+r[o]]=n[u++]);return s}function Mr(n,t){var r=-1,e=n.length;for(t||(t=Hu(e));++r<e;)t[r]=n[r];return t}function Tr(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):F;c===F&&(c=n[f]),u?_t(r,f,c):at(r,f,c)}return r}function $r(n,t){return Tr(n,vo(n),t)}function Fr(n,t){return Tr(n,go(n),t)}function Nr(n,t){return function(r,u){var i=af(r)?e:st,o=t?t():{};return i(r,n,je(u,2),o);
}}function Pr(n){return lr(function(t,r){var e=-1,u=r.length,i=1<u?r[u-1]:F,o=2<u?r[2]:F,i=3<n.length&&typeof i=="function"?(u--,i):F;for(o&&ze(r[0],r[1],o)&&(i=3>u?F:i,u=1),t=ni(t);++e<u;)(o=r[e])&&n(t,o,e,i);return t})}function Zr(n,t){return function(r,e){if(null==r)return r;if(!pu(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ni(r);(t?i--:++i<u)&&false!==e(o[i],i,o););return r}}function qr(n){return function(t,r,e){var u=-1,i=ni(t);e=e(t);for(var o=e.length;o--;){var f=e[n?o:++u];if(false===r(i[f],f,i))break;
}return t}}function Vr(n,t,r){function e(){return(this&&this!==Zn&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=1&t,i=Hr(n);return e}function Kr(n){return function(t){t=zu(t);var r=Bn.test(t)?$(t):F,e=r?r[0]:t.charAt(0);return t=r?zr(r,1).join(""):t.slice(1),e[n]()+t}}function Gr(n){return function(t){return h($u(Tu(t).replace(In,"")),n,"")}}function Hr(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:
return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=io(n.prototype),t=n.apply(r,t);return bu(t)?t:r}}function Jr(n,t,e){function u(){for(var o=arguments.length,f=Hu(o),c=o,a=xe(u);c--;)f[c]=arguments[c];return c=3>o&&f[0]!==a&&f[o-1]!==a?[]:C(f,a),o-=c.length,o<e?fe(n,t,Xr,u.placeholder,F,f,c,F,F,e-o):r(this&&this!==Zn&&this instanceof u?i:n,this,f);
}var i=Hr(n);return u}function Yr(n){return function(t,r,e){var u=ni(t);if(!pu(t)){var i=je(r,3);t=Lu(t),r=function(n){return i(u[n],n,u)}}return r=n(t,r,e),-1<r?u[i?t[r]:r]:F}}function Qr(n){return ge(function(t){var r=t.length,e=r,u=zn.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(typeof i!="function")throw new ei("Expected a function");if(u&&!o&&"wrapper"==be(i))var o=new zn([],true)}for(e=o?e:r;++e<r;)var i=t[e],u=be(i),f="wrapper"==u?_o(i):F,o=f&&Be(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?o[be(f[0])].apply(o,f[3]):1==i.length&&Be(i)?o[u]():o.thru(i);
return function(){var n=arguments,e=n[0];if(o&&1==n.length&&af(e))return o.plant(e).value();for(var u=0,n=r?t[u].apply(this,n):e;++u<r;)n=t[u].call(this,n);return n}})}function Xr(n,t,r,e,u,i,o,f,c,a){function l(){for(var d=arguments.length,y=Hu(d),b=d;b--;)y[b]=arguments[b];if(_){var x,j=xe(l),b=y.length;for(x=0;b--;)y[b]===j&&++x}if(e&&(y=Cr(y,e,u,_)),i&&(y=Dr(y,i,o,_)),d-=x,_&&d<a)return j=C(y,j),fe(n,t,Xr,l.placeholder,r,y,j,f,c,a-d);if(j=h?r:this,b=p?j[n]:n,d=y.length,f){x=y.length;for(var w=Mi(f.length,x),m=Mr(y);w--;){
var A=f[w];y[w]=Re(A,x)?m[A]:F}}else v&&1<d&&y.reverse();return s&&c<d&&(y.length=c),this&&this!==Zn&&this instanceof l&&(b=g||Hr(b)),b.apply(j,y)}var s=128&t,h=1&t,p=2&t,_=24&t,v=512&t,g=p?F:Hr(n);return l}function ne(n,t){return function(r,e){return Ct(r,n,t(e))}}function te(n,t){return function(r,e){var u;if(r===F&&e===F)return t;if(r!==F&&(u=r),e!==F){if(u===F)return e;typeof r=="string"||typeof e=="string"?(r=jr(r),e=jr(e)):(r=xr(r),e=xr(e)),u=n(r,e)}return u}}function re(n){return ge(function(t){
return t=l(t,S(je())),lr(function(e){var u=this;return n(t,function(n){return r(n,u,e)})})})}function ee(n,t){t=t===F?" ":jr(t);var r=t.length;return 2>r?r?ar(t,n):t:(r=ar(t,Ri(n/T(t))),Bn.test(t)?zr($(r),0,n).join(""):r.slice(0,n))}function ue(n,t,e,u){function i(){for(var t=-1,c=arguments.length,a=-1,l=u.length,s=Hu(l+c),h=this&&this!==Zn&&this instanceof i?f:n;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++t];return r(h,o?e:this,s)}var o=1&t,f=Hr(n);return i}function ie(n){return function(t,r,e){
e&&typeof e!="number"&&ze(t,r,e)&&(r=e=F),t=Eu(t),r===F?(r=t,t=0):r=Eu(r),e=e===F?t<r?1:-1:Eu(e);var u=-1;r=Di(Ri((r-t)/(e||1)),0);for(var i=Hu(r);r--;)i[n?r:++u]=t,t+=e;return i}}function oe(n){return function(t,r){return typeof t=="string"&&typeof r=="string"||(t=Iu(t),r=Iu(r)),n(t,r)}}function fe(n,t,r,e,u,i,o,f,c,a){var l=8&t,s=l?o:F;o=l?F:o;var h=l?i:F;return i=l?F:i,t=(t|(l?32:64))&~(l?64:32),4&t||(t&=-4),u=[n,t,u,h,s,i,o,f,c,a],r=r.apply(F,u),Be(n)&&xo(r,u),r.placeholder=e,De(r,n,t)}function ce(n){
var t=Xu[n];return function(n,r){if(n=Iu(n),r=null==r?0:Mi(Ou(r),292)){var e=(zu(n)+"e").split("e"),e=t(e[0]+"e"+(+e[1]+r)),e=(zu(e)+"e").split("e");return+(e[0]+"e"+(+e[1]-r))}return t(n)}}function ae(n){return function(t){var r=yo(t);return"[object Map]"==r?L(t):"[object Set]"==r?M(t):O(t,n(t))}}function le(n,t,r,e,u,i,o,f){var c=2&t;if(!c&&typeof n!="function")throw new ei("Expected a function");var a=e?e.length:0;if(a||(t&=-97,e=u=F),o=o===F?o:Di(Ou(o),0),f=f===F?f:Ou(f),a-=u?u.length:0,64&t){
var l=e,s=u;e=u=F}var h=c?F:_o(n);return i=[n,t,r,e,u,l,s,i,o,f],h&&(r=i[1],n=h[1],t=r|n,e=128==n&&8==r||128==n&&256==r&&i[7].length<=h[8]||384==n&&h[7].length<=h[8]&&8==r,131>t||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Cr(e,r,h[4]):r,i[4]=e?C(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Dr(e,r,h[6]):r,i[6]=e?C(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Mi(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1],
r=i[2],e=i[3],u=i[4],f=i[9]=i[9]===F?c?0:n.length:Di(i[9]-a,0),!f&&24&t&&(t&=-25),De((h?lo:xo)(t&&1!=t?8==t||16==t?Jr(n,t,f):32!=t&&33!=t||u.length?Xr.apply(F,i):ue(n,t,r,e):Vr(n,t,r),i),n,t)}function se(n,t,r,e){return n===F||hu(n,ii[r])&&!ci.call(e,r)?t:n}function he(n,t,r,e,u,i){return bu(n)&&bu(t)&&(i.set(t,n),nr(n,t,F,he,i),i.delete(t)),n}function pe(n){return wu(n)?F:n}function _e(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t;var c=-1,a=true,l=2&r?new qn:F;
for(i.set(n,t),i.set(t,n);++c<f;){var s=n[c],h=t[c];if(e)var p=o?e(h,s,c,t,n,i):e(s,h,c,n,t,i);if(p!==F){if(p)continue;a=false;break}if(l){if(!_(t,function(n,t){if(!R(l,t)&&(s===n||u(s,n,r,e,i)))return l.push(t)})){a=false;break}}else if(s!==h&&!u(s,h,r,e,i)){a=false;break}}return i.delete(n),i.delete(t),a}function ve(n,t,r,e,u,i,o){switch(r){case"[object DataView]":if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)break;n=n.buffer,t=t.buffer;case"[object ArrayBuffer]":if(n.byteLength!=t.byteLength||!i(new di(n),new di(t)))break;
return true;case"[object Boolean]":case"[object Date]":case"[object Number]":return hu(+n,+t);case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object RegExp]":case"[object String]":return n==t+"";case"[object Map]":var f=L;case"[object Set]":if(f||(f=D),n.size!=t.size&&!(1&e))break;return(r=o.get(n))?r==t:(e|=2,o.set(n,t),t=_e(f(n),f(t),e,u,i,o),o.delete(n),t);case"[object Symbol]":if(eo)return eo.call(n)==eo.call(t)}return false}function ge(n){return wo(Ce(n,F,Ve),n+"")}function de(n){
return Rt(n,Lu,vo)}function ye(n){return Rt(n,Uu,go)}function be(n){for(var t=n.name+"",r=Ji[t],e=ci.call(Ji,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function xe(n){return(ci.call(On,"placeholder")?On:n).placeholder}function je(){var n=On.iteratee||Pu,n=n===Pu?Gt:n;return arguments.length?n(arguments[0],arguments[1]):n}function we(n,t){var r=n.__data__,e=typeof t;return("string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t)?r[typeof t=="string"?"string":"hash"]:r.map;
}function me(n){for(var t=Lu(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,u===u&&!bu(u)]}return t}function Ae(n,t){var r=null==n?F:n[t];return Zt(r)?r:F}function ke(n,t,r){t=Rr(t,n);for(var e=-1,u=t.length,i=false;++e<u;){var o=$e(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&yu(u)&&Re(o,u)&&(af(n)||cf(n)))}function Ee(n){var t=n.length,r=n.constructor(t);return t&&"string"==typeof n[0]&&ci.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function Oe(n){
return typeof n.constructor!="function"||Le(n)?{}:io(bi(n))}function Se(r,e,u,i){var o=r.constructor;switch(e){case"[object ArrayBuffer]":return Br(r);case"[object Boolean]":case"[object Date]":return new o(+r);case"[object DataView]":return e=i?Br(r.buffer):r.buffer,new r.constructor(e,r.byteOffset,r.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":
case"[object Uint16Array]":case"[object Uint32Array]":return Lr(r,i);case"[object Map]":return e=i?u(L(r),1):L(r),h(e,n,new r.constructor);case"[object Number]":case"[object String]":return new o(r);case"[object RegExp]":return e=new r.constructor(r.source,dn.exec(r)),e.lastIndex=r.lastIndex,e;case"[object Set]":return e=i?u(D(r),1):D(r),h(e,t,new r.constructor);case"[object Symbol]":return eo?ni(eo.call(r)):{}}}function Ie(n){return af(n)||cf(n)||!!(mi&&n&&n[mi])}function Re(n,t){return t=null==t?9007199254740991:t,
!!t&&(typeof n=="number"||wn.test(n))&&-1<n&&0==n%1&&n<t}function ze(n,t,r){if(!bu(r))return false;var e=typeof t;return!!("number"==e?pu(r)&&Re(t,r.length):"string"==e&&t in r)&&hu(r[t],n)}function We(n,t){if(af(n))return false;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!Au(n))||(rn.test(n)||!tn.test(n)||null!=t&&n in ni(t))}function Be(n){var t=be(n),r=On[t];return typeof r=="function"&&t in Mn.prototype&&(n===r||(t=_o(r),!!t&&n===t[0]))}function Le(n){var t=n&&n.constructor;
return n===(typeof t=="function"&&t.prototype||ii)}function Ue(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==F||n in ni(r)))}}function Ce(n,t,e){return t=Di(t===F?n.length-1:t,0),function(){for(var u=arguments,i=-1,o=Di(u.length-t,0),f=Hu(o);++i<o;)f[i]=u[t+i];for(i=-1,o=Hu(t+1);++i<t;)o[i]=u[i];return o[t]=e(f),r(n,this,o)}}function De(n,t,r){var e=t+"";t=wo;var u,i=Ne;return u=(u=e.match(hn))?u[1].split(pn):[],r=i(u,r),(i=r.length)&&(u=i-1,r[u]=(1<i?"& ":"")+r[u],r=r.join(2<i?", ":" "),
e=e.replace(sn,"{\n/* [wrapped with "+r+"] */\n")),t(n,e)}function Me(n){var t=0,r=0;return function(){var e=Ti(),u=16-(e-r);if(r=e,0<u){if(800<=++t)return arguments[0]}else t=0;return n.apply(F,arguments)}}function Te(n,t){var r=-1,e=n.length,u=e-1;for(t=t===F?e:t;++r<t;){var e=cr(r,u),i=n[e];n[e]=n[r],n[r]=i}return n.length=t,n}function $e(n){if(typeof n=="string"||Au(n))return n;var t=n+"";return"0"==t&&1/n==-N?"-0":t}function Fe(n){if(null!=n){try{return fi.call(n)}catch(n){}return n+""}return"";
}function Ne(n,t){return u(Z,function(r){var e="_."+r[0];t&r[1]&&!c(n,e)&&n.push(e)}),n.sort()}function Pe(n){if(n instanceof Mn)return n.clone();var t=new zn(n.__wrapped__,n.__chain__);return t.__actions__=Mr(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function Ze(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:Ou(r),0>r&&(r=Di(e+r,0)),g(n,je(t,3),r)):-1}function qe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==F&&(u=Ou(r),u=0>r?Di(e+u,0):Mi(u,e-1)),
g(n,je(t,3),u,true)}function Ve(n){return(null==n?0:n.length)?kt(n,1):[]}function Ke(n){return n&&n.length?n[0]:F}function Ge(n){var t=null==n?0:n.length;return t?n[t-1]:F}function He(n,t){return n&&n.length&&t&&t.length?or(n,t):n}function Je(n){return null==n?n:Ni.call(n)}function Ye(n){if(!n||!n.length)return[];var t=0;return n=f(n,function(n){if(_u(n))return t=Di(n.length,t),true}),E(t,function(t){return l(n,j(t))})}function Qe(n,t){if(!n||!n.length)return[];var e=Ye(n);return null==t?e:l(e,function(n){
return r(t,F,n)})}function Xe(n){return n=On(n),n.__chain__=true,n}function nu(n,t){return t(n)}function tu(){return this}function ru(n,t){return(af(n)?u:oo)(n,je(t,3))}function eu(n,t){return(af(n)?i:fo)(n,je(t,3))}function uu(n,t){return(af(n)?l:Yt)(n,je(t,3))}function iu(n,t,r){return t=r?F:t,t=n&&null==t?n.length:t,le(n,128,F,F,F,F,t)}function ou(n,t){var r;if(typeof t!="function")throw new ei("Expected a function");return n=Ou(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=F),
r}}function fu(n,t,r){return t=r?F:t,n=le(n,8,F,F,F,F,F,t),n.placeholder=fu.placeholder,n}function cu(n,t,r){return t=r?F:t,n=le(n,16,F,F,F,F,F,t),n.placeholder=cu.placeholder,n}function au(n,t,r){function e(t){var r=c,e=a;return c=a=F,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===F||r>=t||0>r||g&&n>=l}function i(){var n=Jo();if(u(n))return o(n);var r,e=jo;r=n-_,n=t-(n-p),r=g?Mi(n,l-r):n,h=e(i,r)}function o(n){return h=F,d&&c?e(n):(c=a=F,s)}function f(){var n=Jo(),r=u(n);if(c=arguments,
a=this,p=n,r){if(h===F)return _=n=p,h=jo(i,t),v?e(n):s;if(g)return h=jo(i,t),e(p)}return h===F&&(h=jo(i,t)),s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new ei("Expected a function");return t=Iu(t)||0,bu(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Di(Iu(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==F&&ho(h),_=0,c=p=a=h=F},f.flush=function(){return h===F?s:o(Jo())},f}function lu(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e),
r.cache=i.set(u,e)||i,e)}if(typeof n!="function"||null!=t&&typeof t!="function")throw new ei("Expected a function");return r.cache=new(lu.Cache||Pn),r}function su(n){if(typeof n!="function")throw new ei("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function hu(n,t){return n===t||n!==n&&t!==t}function pu(n){return null!=n&&yu(n.length)&&!gu(n);
}function _u(n){return xu(n)&&pu(n)}function vu(n){if(!xu(n))return false;var t=zt(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!wu(n)}function gu(n){return!!bu(n)&&(n=zt(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function du(n){return typeof n=="number"&&n==Ou(n)}function yu(n){return typeof n=="number"&&-1<n&&0==n%1&&9007199254740991>=n}function bu(n){var t=typeof n;return null!=n&&("object"==t||"function"==t);
}function xu(n){return null!=n&&typeof n=="object"}function ju(n){return typeof n=="number"||xu(n)&&"[object Number]"==zt(n)}function wu(n){return!(!xu(n)||"[object Object]"!=zt(n))&&(n=bi(n),null===n||(n=ci.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&fi.call(n)==hi))}function mu(n){return typeof n=="string"||!af(n)&&xu(n)&&"[object String]"==zt(n)}function Au(n){return typeof n=="symbol"||xu(n)&&"[object Symbol]"==zt(n)}function ku(n){if(!n)return[];if(pu(n))return mu(n)?$(n):Mr(n);
if(Ai&&n[Ai]){n=n[Ai]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}return t=yo(n),("[object Map]"==t?L:"[object Set]"==t?D:Du)(n)}function Eu(n){return n?(n=Iu(n),n===N||n===-N?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function Ou(n){n=Eu(n);var t=n%1;return n===n?t?n-t:n:0}function Su(n){return n?gt(Ou(n),0,4294967295):0}function Iu(n){if(typeof n=="number")return n;if(Au(n))return P;if(bu(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=bu(n)?n+"":n),typeof n!="string")return 0===n?n:+n;
n=n.replace(cn,"");var t=bn.test(n);return t||jn.test(n)?Fn(n.slice(2),t?2:8):yn.test(n)?P:+n}function Ru(n){return Tr(n,Uu(n))}function zu(n){return null==n?"":jr(n)}function Wu(n,t,r){return n=null==n?F:It(n,t),n===F?r:n}function Bu(n,t){return null!=n&&ke(n,t,Lt)}function Lu(n){return pu(n)?Gn(n):Ht(n)}function Uu(n){if(pu(n))n=Gn(n,true);else if(bu(n)){var t,r=Le(n),e=[];for(t in n)("constructor"!=t||!r&&ci.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in ni(n))t.push(r);n=t}return n}function Cu(n,t){
if(null==n)return{};var r=l(ye(n),function(n){return[n]});return t=je(t),ur(n,r,function(n,r){return t(n,r[0])})}function Du(n){return null==n?[]:I(n,Lu(n))}function Mu(n){return Nf(zu(n).toLowerCase())}function Tu(n){return(n=zu(n))&&n.replace(mn,rt).replace(Rn,"")}function $u(n,t,r){return n=zu(n),t=r?F:t,t===F?Ln.test(n)?n.match(Wn)||[]:n.match(_n)||[]:n.match(t)||[]}function Fu(n){return function(){return n}}function Nu(n){return n}function Pu(n){return Gt(typeof n=="function"?n:dt(n,1))}function Zu(n,t,r){
var e=Lu(t),i=St(t,e);null!=r||bu(t)&&(i.length||!e.length)||(r=t,t=n,n=this,i=St(t,Lu(t)));var o=!(bu(r)&&"chain"in r&&!r.chain),f=gu(n);return u(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Mr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,s([this.value()],arguments))})}),n}function qu(){}function Vu(n){return We(n)?j($e(n)):ir(n)}function Ku(){return[]}function Gu(){
return false}En=null==En?Zn:it.defaults(Zn.Object(),En,it.pick(Zn,Un));var Hu=En.Array,Ju=En.Date,Yu=En.Error,Qu=En.Function,Xu=En.Math,ni=En.Object,ti=En.RegExp,ri=En.String,ei=En.TypeError,ui=Hu.prototype,ii=ni.prototype,oi=En["__core-js_shared__"],fi=Qu.prototype.toString,ci=ii.hasOwnProperty,ai=0,li=function(){var n=/[^.]+$/.exec(oi&&oi.keys&&oi.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),si=ii.toString,hi=fi.call(ni),pi=Zn._,_i=ti("^"+fi.call(ci).replace(on,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),vi=Kn?En.Buffer:F,gi=En.Symbol,di=En.Uint8Array,yi=vi?vi.f:F,bi=U(ni.getPrototypeOf,ni),xi=ni.create,ji=ii.propertyIsEnumerable,wi=ui.splice,mi=gi?gi.isConcatSpreadable:F,Ai=gi?gi.iterator:F,ki=gi?gi.toStringTag:F,Ei=function(){
try{var n=Ae(ni,"defineProperty");return n({},"",{}),n}catch(n){}}(),Oi=En.clearTimeout!==Zn.clearTimeout&&En.clearTimeout,Si=Ju&&Ju.now!==Zn.Date.now&&Ju.now,Ii=En.setTimeout!==Zn.setTimeout&&En.setTimeout,Ri=Xu.ceil,zi=Xu.floor,Wi=ni.getOwnPropertySymbols,Bi=vi?vi.isBuffer:F,Li=En.isFinite,Ui=ui.join,Ci=U(ni.keys,ni),Di=Xu.max,Mi=Xu.min,Ti=Ju.now,$i=En.parseInt,Fi=Xu.random,Ni=ui.reverse,Pi=Ae(En,"DataView"),Zi=Ae(En,"Map"),qi=Ae(En,"Promise"),Vi=Ae(En,"Set"),Ki=Ae(En,"WeakMap"),Gi=Ae(ni,"create"),Hi=Ki&&new Ki,Ji={},Yi=Fe(Pi),Qi=Fe(Zi),Xi=Fe(qi),no=Fe(Vi),to=Fe(Ki),ro=gi?gi.prototype:F,eo=ro?ro.valueOf:F,uo=ro?ro.toString:F,io=function(){
function n(){}return function(t){return bu(t)?xi?xi(t):(n.prototype=t,t=new n,n.prototype=F,t):{}}}();On.templateSettings={escape:Q,evaluate:X,interpolate:nn,variable:"",imports:{_:On}},On.prototype=Sn.prototype,On.prototype.constructor=On,zn.prototype=io(Sn.prototype),zn.prototype.constructor=zn,Mn.prototype=io(Sn.prototype),Mn.prototype.constructor=Mn,Tn.prototype.clear=function(){this.__data__=Gi?Gi(null):{},this.size=0},Tn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n],
this.size-=n?1:0,n},Tn.prototype.get=function(n){var t=this.__data__;return Gi?(n=t[n],"__lodash_hash_undefined__"===n?F:n):ci.call(t,n)?t[n]:F},Tn.prototype.has=function(n){var t=this.__data__;return Gi?t[n]!==F:ci.call(t,n)},Tn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Gi&&t===F?"__lodash_hash_undefined__":t,this},Nn.prototype.clear=function(){this.__data__=[],this.size=0},Nn.prototype.delete=function(n){var t=this.__data__;return n=lt(t,n),!(0>n)&&(n==t.length-1?t.pop():wi.call(t,n,1),
--this.size,true)},Nn.prototype.get=function(n){var t=this.__data__;return n=lt(t,n),0>n?F:t[n][1]},Nn.prototype.has=function(n){return-1<lt(this.__data__,n)},Nn.prototype.set=function(n,t){var r=this.__data__,e=lt(r,n);return 0>e?(++this.size,r.push([n,t])):r[e][1]=t,this},Pn.prototype.clear=function(){this.size=0,this.__data__={hash:new Tn,map:new(Zi||Nn),string:new Tn}},Pn.prototype.delete=function(n){return n=we(this,n).delete(n),this.size-=n?1:0,n},Pn.prototype.get=function(n){return we(this,n).get(n);
},Pn.prototype.has=function(n){return we(this,n).has(n)},Pn.prototype.set=function(n,t){var r=we(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},qn.prototype.add=qn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},qn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.clear=function(){this.__data__=new Nn,this.size=0},Vn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Vn.prototype.get=function(n){
return this.__data__.get(n)},Vn.prototype.has=function(n){return this.__data__.has(n)},Vn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Nn){var e=r.__data__;if(!Zi||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Pn(e)}return r.set(n,t),this.size=r.size,this};var oo=Zr(Et),fo=Zr(Ot,true),co=qr(),ao=qr(true),lo=Hi?function(n,t){return Hi.set(n,t),n}:Nu,so=Ei?function(n,t){return Ei(n,"toString",{configurable:true,enumerable:false,value:Fu(t),writable:true})}:Nu,ho=Oi||function(n){
return Zn.clearTimeout(n)},po=Vi&&1/D(new Vi([,-0]))[1]==N?function(n){return new Vi(n)}:qu,_o=Hi?function(n){return Hi.get(n)}:qu,vo=Wi?function(n){return null==n?[]:(n=ni(n),f(Wi(n),function(t){return ji.call(n,t)}))}:Ku,go=Wi?function(n){for(var t=[];n;)s(t,vo(n)),n=bi(n);return t}:Ku,yo=zt;(Pi&&"[object DataView]"!=yo(new Pi(new ArrayBuffer(1)))||Zi&&"[object Map]"!=yo(new Zi)||qi&&"[object Promise]"!=yo(qi.resolve())||Vi&&"[object Set]"!=yo(new Vi)||Ki&&"[object WeakMap]"!=yo(new Ki))&&(yo=function(n){
var t=zt(n);if(n=(n="[object Object]"==t?n.constructor:F)?Fe(n):"")switch(n){case Yi:return"[object DataView]";case Qi:return"[object Map]";case Xi:return"[object Promise]";case no:return"[object Set]";case to:return"[object WeakMap]"}return t});var bo=oi?gu:Gu,xo=Me(lo),jo=Ii||function(n,t){return Zn.setTimeout(n,t)},wo=Me(so),mo=function(n){n=lu(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){var t=[];return en.test(n)&&t.push(""),n.replace(un,function(n,r,e,u){
t.push(e?u.replace(vn,"$1"):r||n)}),t}),Ao=lr(function(n,t){return _u(n)?jt(n,kt(t,1,_u,true)):[]}),ko=lr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?jt(n,kt(t,1,_u,true),je(r,2)):[]}),Eo=lr(function(n,t){var r=Ge(t);return _u(r)&&(r=F),_u(n)?jt(n,kt(t,1,_u,true),F,r):[]}),Oo=lr(function(n){var t=l(n,Sr);return t.length&&t[0]===n[0]?Ut(t):[]}),So=lr(function(n){var t=Ge(n),r=l(n,Sr);return t===Ge(r)?t=F:r.pop(),r.length&&r[0]===n[0]?Ut(r,je(t,2)):[]}),Io=lr(function(n){var t=Ge(n),r=l(n,Sr);return(t=typeof t=="function"?t:F)&&r.pop(),
r.length&&r[0]===n[0]?Ut(r,F,t):[]}),Ro=lr(He),zo=ge(function(n,t){var r=null==n?0:n.length,e=vt(n,t);return fr(n,l(t,function(n){return Re(n,r)?+n:n}).sort(Ur)),e}),Wo=lr(function(n){return wr(kt(n,1,_u,true))}),Bo=lr(function(n){var t=Ge(n);return _u(t)&&(t=F),wr(kt(n,1,_u,true),je(t,2))}),Lo=lr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;return wr(kt(n,1,_u,true),F,t)}),Uo=lr(function(n,t){return _u(n)?jt(n,t):[]}),Co=lr(function(n){return Er(f(n,_u))}),Do=lr(function(n){var t=Ge(n);return _u(t)&&(t=F),
Er(f(n,_u),je(t,2))}),Mo=lr(function(n){var t=Ge(n),t=typeof t=="function"?t:F;return Er(f(n,_u),F,t)}),To=lr(Ye),$o=lr(function(n){var t=n.length,t=1<t?n[t-1]:F,t=typeof t=="function"?(n.pop(),t):F;return Qe(n,t)}),Fo=ge(function(n){function t(t){return vt(t,n)}var r=n.length,e=r?n[0]:0,u=this.__wrapped__;return!(1<r||this.__actions__.length)&&u instanceof Mn&&Re(e)?(u=u.slice(e,+e+(r?1:0)),u.__actions__.push({func:nu,args:[t],thisArg:F}),new zn(u,this.__chain__).thru(function(n){return r&&!n.length&&n.push(F),
n})):this.thru(t)}),No=Nr(function(n,t,r){ci.call(n,r)?++n[r]:_t(n,r,1)}),Po=Yr(Ze),Zo=Yr(qe),qo=Nr(function(n,t,r){ci.call(n,r)?n[r].push(t):_t(n,r,[t])}),Vo=lr(function(n,t,e){var u=-1,i=typeof t=="function",o=pu(n)?Hu(n.length):[];return oo(n,function(n){o[++u]=i?r(t,n,e):Dt(n,t,e)}),o}),Ko=Nr(function(n,t,r){_t(n,r,t)}),Go=Nr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),Ho=lr(function(n,t){if(null==n)return[];var r=t.length;return 1<r&&ze(n,t[0],t[1])?t=[]:2<r&&ze(t[0],t[1],t[2])&&(t=[t[0]]),
rr(n,kt(t,1),[])}),Jo=Si||function(){return Zn.Date.now()},Yo=lr(function(n,t,r){var e=1;if(r.length)var u=C(r,xe(Yo)),e=32|e;return le(n,e,t,r,u)}),Qo=lr(function(n,t,r){var e=3;if(r.length)var u=C(r,xe(Qo)),e=32|e;return le(t,e,n,r,u)}),Xo=lr(function(n,t){return xt(n,1,t)}),nf=lr(function(n,t,r){return xt(n,Iu(t)||0,r)});lu.Cache=Pn;var tf=lr(function(n,t){t=1==t.length&&af(t[0])?l(t[0],S(je())):l(kt(t,1),S(je()));var e=t.length;return lr(function(u){for(var i=-1,o=Mi(u.length,e);++i<o;)u[i]=t[i].call(this,u[i]);
return r(n,this,u)})}),rf=lr(function(n,t){return le(n,32,F,t,C(t,xe(rf)))}),ef=lr(function(n,t){return le(n,64,F,t,C(t,xe(ef)))}),uf=ge(function(n,t){return le(n,256,F,F,F,t)}),of=oe(Wt),ff=oe(function(n,t){return n>=t}),cf=Mt(function(){return arguments}())?Mt:function(n){return xu(n)&&ci.call(n,"callee")&&!ji.call(n,"callee")},af=Hu.isArray,lf=Hn?S(Hn):Tt,sf=Bi||Gu,hf=Jn?S(Jn):$t,pf=Yn?S(Yn):Nt,_f=Qn?S(Qn):qt,vf=Xn?S(Xn):Vt,gf=nt?S(nt):Kt,df=oe(Jt),yf=oe(function(n,t){return n<=t}),bf=Pr(function(n,t){
if(Le(t)||pu(t))Tr(t,Lu(t),n);else for(var r in t)ci.call(t,r)&&at(n,r,t[r])}),xf=Pr(function(n,t){Tr(t,Uu(t),n)}),jf=Pr(function(n,t,r,e){Tr(t,Uu(t),n,e)}),wf=Pr(function(n,t,r,e){Tr(t,Lu(t),n,e)}),mf=ge(vt),Af=lr(function(n){return n.push(F,se),r(jf,F,n)}),kf=lr(function(n){return n.push(F,he),r(Rf,F,n)}),Ef=ne(function(n,t,r){n[t]=r},Fu(Nu)),Of=ne(function(n,t,r){ci.call(n,t)?n[t].push(r):n[t]=[r]},je),Sf=lr(Dt),If=Pr(function(n,t,r){nr(n,t,r)}),Rf=Pr(function(n,t,r,e){nr(n,t,r,e)}),zf=ge(function(n,t){
var r={};if(null==n)return r;var e=false;t=l(t,function(t){return t=Rr(t,n),e||(e=1<t.length),t}),Tr(n,ye(n),r),e&&(r=dt(r,7,pe));for(var u=t.length;u--;)mr(r,t[u]);return r}),Wf=ge(function(n,t){return null==n?{}:er(n,t)}),Bf=ae(Lu),Lf=ae(Uu),Uf=Gr(function(n,t,r){return t=t.toLowerCase(),n+(r?Mu(t):t)}),Cf=Gr(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),Df=Gr(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Mf=Kr("toLowerCase"),Tf=Gr(function(n,t,r){return n+(r?"_":"")+t.toLowerCase();
}),$f=Gr(function(n,t,r){return n+(r?" ":"")+Nf(t)}),Ff=Gr(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Nf=Kr("toUpperCase"),Pf=lr(function(n,t){try{return r(n,F,t)}catch(n){return vu(n)?n:new Yu(n)}}),Zf=ge(function(n,t){return u(t,function(t){t=$e(t),_t(n,t,Yo(n[t],n))}),n}),qf=Qr(),Vf=Qr(true),Kf=lr(function(n,t){return function(r){return Dt(r,n,t)}}),Gf=lr(function(n,t){return function(r){return Dt(n,r,t)}}),Hf=re(l),Jf=re(o),Yf=re(_),Qf=ie(),Xf=ie(true),nc=te(function(n,t){return n+t},0),tc=ce("ceil"),rc=te(function(n,t){
return n/t},1),ec=ce("floor"),uc=te(function(n,t){return n*t},1),ic=ce("round"),oc=te(function(n,t){return n-t},0);return On.after=function(n,t){if(typeof t!="function")throw new ei("Expected a function");return n=Ou(n),function(){if(1>--n)return t.apply(this,arguments)}},On.ary=iu,On.assign=bf,On.assignIn=xf,On.assignInWith=jf,On.assignWith=wf,On.at=mf,On.before=ou,On.bind=Yo,On.bindAll=Zf,On.bindKey=Qo,On.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return af(n)?n:[n]},
On.chain=Xe,On.chunk=function(n,t,r){if(t=(r?ze(n,t,r):t===F)?1:Di(Ou(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=Hu(Ri(r/t));e<r;)i[u++]=vr(n,e,e+=t);return i},On.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u},On.concat=function(){var n=arguments.length;if(!n)return[];for(var t=Hu(n-1),r=arguments[0];n--;)t[n-1]=arguments[n];return s(af(r)?Mr(r):[r],kt(t,1))},On.cond=function(n){var t=null==n?0:n.length,e=je();return n=t?l(n,function(n){
if("function"!=typeof n[1])throw new ei("Expected a function");return[e(n[0]),n[1]]}):[],lr(function(e){for(var u=-1;++u<t;){var i=n[u];if(r(i[0],this,e))return r(i[1],this,e)}})},On.conforms=function(n){return yt(dt(n,1))},On.constant=Fu,On.countBy=No,On.create=function(n,t){var r=io(n);return null==t?r:ht(r,t)},On.curry=fu,On.curryRight=cu,On.debounce=au,On.defaults=Af,On.defaultsDeep=kf,On.defer=Xo,On.delay=nf,On.difference=Ao,On.differenceBy=ko,On.differenceWith=Eo,On.drop=function(n,t,r){var e=null==n?0:n.length;
return e?(t=r||t===F?1:Ou(t),vr(n,0>t?0:t,e)):[]},On.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,vr(n,0,0>t?0:t)):[]},On.dropRightWhile=function(n,t){return n&&n.length?Ar(n,je(t,3),true,true):[]},On.dropWhile=function(n,t){return n&&n.length?Ar(n,je(t,3),true):[]},On.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&ze(n,t,r)&&(r=0,e=u),u=n.length,r=Ou(r),0>r&&(r=-r>u?0:u+r),e=e===F||e>u?u:Ou(e),0>e&&(e+=u),e=r>e?0:Su(e);r<e;)n[r++]=t;
return n},On.filter=function(n,t){return(af(n)?f:At)(n,je(t,3))},On.flatMap=function(n,t){return kt(uu(n,t),1)},On.flatMapDeep=function(n,t){return kt(uu(n,t),N)},On.flatMapDepth=function(n,t,r){return r=r===F?1:Ou(r),kt(uu(n,t),r)},On.flatten=Ve,On.flattenDeep=function(n){return(null==n?0:n.length)?kt(n,N):[]},On.flattenDepth=function(n,t){return null!=n&&n.length?(t=t===F?1:Ou(t),kt(n,t)):[]},On.flip=function(n){return le(n,512)},On.flow=qf,On.flowRight=Vf,On.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){
var u=n[t];e[u[0]]=u[1]}return e},On.functions=function(n){return null==n?[]:St(n,Lu(n))},On.functionsIn=function(n){return null==n?[]:St(n,Uu(n))},On.groupBy=qo,On.initial=function(n){return(null==n?0:n.length)?vr(n,0,-1):[]},On.intersection=Oo,On.intersectionBy=So,On.intersectionWith=Io,On.invert=Ef,On.invertBy=Of,On.invokeMap=Vo,On.iteratee=Pu,On.keyBy=Ko,On.keys=Lu,On.keysIn=Uu,On.map=uu,On.mapKeys=function(n,t){var r={};return t=je(t,3),Et(n,function(n,e,u){_t(r,t(n,e,u),n)}),r},On.mapValues=function(n,t){
var r={};return t=je(t,3),Et(n,function(n,e,u){_t(r,e,t(n,e,u))}),r},On.matches=function(n){return Qt(dt(n,1))},On.matchesProperty=function(n,t){return Xt(n,dt(t,1))},On.memoize=lu,On.merge=If,On.mergeWith=Rf,On.method=Kf,On.methodOf=Gf,On.mixin=Zu,On.negate=su,On.nthArg=function(n){return n=Ou(n),lr(function(t){return tr(t,n)})},On.omit=zf,On.omitBy=function(n,t){return Cu(n,su(je(t)))},On.once=function(n){return ou(2,n)},On.orderBy=function(n,t,r,e){return null==n?[]:(af(t)||(t=null==t?[]:[t]),
r=e?F:r,af(r)||(r=null==r?[]:[r]),rr(n,t,r))},On.over=Hf,On.overArgs=tf,On.overEvery=Jf,On.overSome=Yf,On.partial=rf,On.partialRight=ef,On.partition=Go,On.pick=Wf,On.pickBy=Cu,On.property=Vu,On.propertyOf=function(n){return function(t){return null==n?F:It(n,t)}},On.pull=Ro,On.pullAll=He,On.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?or(n,t,je(r,2)):n},On.pullAllWith=function(n,t,r){return n&&n.length&&t&&t.length?or(n,t,F,r):n},On.pullAt=zo,On.range=Qf,On.rangeRight=Xf,On.rearg=uf,On.reject=function(n,t){
return(af(n)?f:At)(n,su(je(t,3)))},On.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=je(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return fr(n,u),r},On.rest=function(n,t){if(typeof n!="function")throw new ei("Expected a function");return t=t===F?t:Ou(t),lr(n,t)},On.reverse=Je,On.sampleSize=function(n,t,r){return t=(r?ze(n,t,r):t===F)?1:Ou(t),(af(n)?ot:hr)(n,t)},On.set=function(n,t,r){return null==n?n:pr(n,t,r)},On.setWith=function(n,t,r,e){return e=typeof e=="function"?e:F,
null==n?n:pr(n,t,r,e)},On.shuffle=function(n){return(af(n)?ft:_r)(n)},On.slice=function(n,t,r){var e=null==n?0:n.length;return e?(r&&typeof r!="number"&&ze(n,t,r)?(t=0,r=e):(t=null==t?0:Ou(t),r=r===F?e:Ou(r)),vr(n,t,r)):[]},On.sortBy=Ho,On.sortedUniq=function(n){return n&&n.length?br(n):[]},On.sortedUniqBy=function(n,t){return n&&n.length?br(n,je(t,2)):[]},On.split=function(n,t,r){return r&&typeof r!="number"&&ze(n,t,r)&&(t=r=F),r=r===F?4294967295:r>>>0,r?(n=zu(n))&&(typeof t=="string"||null!=t&&!_f(t))&&(t=jr(t),
!t&&Bn.test(n))?zr($(n),0,r):n.split(t,r):[]},On.spread=function(n,t){if(typeof n!="function")throw new ei("Expected a function");return t=null==t?0:Di(Ou(t),0),lr(function(e){var u=e[t];return e=zr(e,0,t),u&&s(e,u),r(n,this,e)})},On.tail=function(n){var t=null==n?0:n.length;return t?vr(n,1,t):[]},On.take=function(n,t,r){return n&&n.length?(t=r||t===F?1:Ou(t),vr(n,0,0>t?0:t)):[]},On.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===F?1:Ou(t),t=e-t,vr(n,0>t?0:t,e)):[]},On.takeRightWhile=function(n,t){
return n&&n.length?Ar(n,je(t,3),false,true):[]},On.takeWhile=function(n,t){return n&&n.length?Ar(n,je(t,3)):[]},On.tap=function(n,t){return t(n),n},On.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ei("Expected a function");return bu(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),au(n,t,{leading:e,maxWait:t,trailing:u})},On.thru=nu,On.toArray=ku,On.toPairs=Bf,On.toPairsIn=Lf,On.toPath=function(n){return af(n)?l(n,$e):Au(n)?[n]:Mr(mo(zu(n)))},On.toPlainObject=Ru,
On.transform=function(n,t,r){var e=af(n),i=e||sf(n)||gf(n);if(t=je(t,4),null==r){var o=n&&n.constructor;r=i?e?new o:[]:bu(n)&&gu(o)?io(bi(n)):{}}return(i?u:Et)(n,function(n,e,u){return t(r,n,e,u)}),r},On.unary=function(n){return iu(n,1)},On.union=Wo,On.unionBy=Bo,On.unionWith=Lo,On.uniq=function(n){return n&&n.length?wr(n):[]},On.uniqBy=function(n,t){return n&&n.length?wr(n,je(t,2)):[]},On.uniqWith=function(n,t){return t=typeof t=="function"?t:F,n&&n.length?wr(n,F,t):[]},On.unset=function(n,t){return null==n||mr(n,t);
},On.unzip=Ye,On.unzipWith=Qe,On.update=function(n,t,r){return null==n?n:pr(n,t,Ir(r)(It(n,t)),void 0)},On.updateWith=function(n,t,r,e){return e=typeof e=="function"?e:F,null!=n&&(n=pr(n,t,Ir(r)(It(n,t)),e)),n},On.values=Du,On.valuesIn=function(n){return null==n?[]:I(n,Uu(n))},On.without=Uo,On.words=$u,On.wrap=function(n,t){return rf(Ir(t),n)},On.xor=Co,On.xorBy=Do,On.xorWith=Mo,On.zip=To,On.zipObject=function(n,t){return Or(n||[],t||[],at)},On.zipObjectDeep=function(n,t){return Or(n||[],t||[],pr);
},On.zipWith=$o,On.entries=Bf,On.entriesIn=Lf,On.extend=xf,On.extendWith=jf,Zu(On,On),On.add=nc,On.attempt=Pf,On.camelCase=Uf,On.capitalize=Mu,On.ceil=tc,On.clamp=function(n,t,r){return r===F&&(r=t,t=F),r!==F&&(r=Iu(r),r=r===r?r:0),t!==F&&(t=Iu(t),t=t===t?t:0),gt(Iu(n),t,r)},On.clone=function(n){return dt(n,4)},On.cloneDeep=function(n){return dt(n,5)},On.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,5,t)},On.cloneWith=function(n,t){return t=typeof t=="function"?t:F,dt(n,4,t)},
On.conformsTo=function(n,t){return null==t||bt(n,t,Lu(t))},On.deburr=Tu,On.defaultTo=function(n,t){return null==n||n!==n?t:n},On.divide=rc,On.endsWith=function(n,t,r){n=zu(n),t=jr(t);var e=n.length,e=r=r===F?e:gt(Ou(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},On.eq=hu,On.escape=function(n){return(n=zu(n))&&Y.test(n)?n.replace(H,et):n},On.escapeRegExp=function(n){return(n=zu(n))&&fn.test(n)?n.replace(on,"\\$&"):n},On.every=function(n,t,r){var e=af(n)?o:wt;return r&&ze(n,t,r)&&(t=F),e(n,je(t,3));
},On.find=Po,On.findIndex=Ze,On.findKey=function(n,t){return v(n,je(t,3),Et)},On.findLast=Zo,On.findLastIndex=qe,On.findLastKey=function(n,t){return v(n,je(t,3),Ot)},On.floor=ec,On.forEach=ru,On.forEachRight=eu,On.forIn=function(n,t){return null==n?n:co(n,je(t,3),Uu)},On.forInRight=function(n,t){return null==n?n:ao(n,je(t,3),Uu)},On.forOwn=function(n,t){return n&&Et(n,je(t,3))},On.forOwnRight=function(n,t){return n&&Ot(n,je(t,3))},On.get=Wu,On.gt=of,On.gte=ff,On.has=function(n,t){return null!=n&&ke(n,t,Bt);
},On.hasIn=Bu,On.head=Ke,On.identity=Nu,On.includes=function(n,t,r,e){return n=pu(n)?n:Du(n),r=r&&!e?Ou(r):0,e=n.length,0>r&&(r=Di(e+r,0)),mu(n)?r<=e&&-1<n.indexOf(t,r):!!e&&-1<d(n,t,r)},On.indexOf=function(n,t,r){var e=null==n?0:n.length;return e?(r=null==r?0:Ou(r),0>r&&(r=Di(e+r,0)),d(n,t,r)):-1},On.inRange=function(n,t,r){return t=Eu(t),r===F?(r=t,t=0):r=Eu(r),n=Iu(n),n>=Mi(t,r)&&n<Di(t,r)},On.invoke=Sf,On.isArguments=cf,On.isArray=af,On.isArrayBuffer=lf,On.isArrayLike=pu,On.isArrayLikeObject=_u,
On.isBoolean=function(n){return true===n||false===n||xu(n)&&"[object Boolean]"==zt(n)},On.isBuffer=sf,On.isDate=hf,On.isElement=function(n){return xu(n)&&1===n.nodeType&&!wu(n)},On.isEmpty=function(n){if(null==n)return true;if(pu(n)&&(af(n)||typeof n=="string"||typeof n.splice=="function"||sf(n)||gf(n)||cf(n)))return!n.length;var t=yo(n);if("[object Map]"==t||"[object Set]"==t)return!n.size;if(Le(n))return!Ht(n).length;for(var r in n)if(ci.call(n,r))return false;return true},On.isEqual=function(n,t){return Ft(n,t);
},On.isEqualWith=function(n,t,r){var e=(r=typeof r=="function"?r:F)?r(n,t):F;return e===F?Ft(n,t,F,r):!!e},On.isError=vu,On.isFinite=function(n){return typeof n=="number"&&Li(n)},On.isFunction=gu,On.isInteger=du,On.isLength=yu,On.isMap=pf,On.isMatch=function(n,t){return n===t||Pt(n,t,me(t))},On.isMatchWith=function(n,t,r){return r=typeof r=="function"?r:F,Pt(n,t,me(t),r)},On.isNaN=function(n){return ju(n)&&n!=+n},On.isNative=function(n){if(bo(n))throw new Yu("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");
return Zt(n)},On.isNil=function(n){return null==n},On.isNull=function(n){return null===n},On.isNumber=ju,On.isObject=bu,On.isObjectLike=xu,On.isPlainObject=wu,On.isRegExp=_f,On.isSafeInteger=function(n){return du(n)&&-9007199254740991<=n&&9007199254740991>=n},On.isSet=vf,On.isString=mu,On.isSymbol=Au,On.isTypedArray=gf,On.isUndefined=function(n){return n===F},On.isWeakMap=function(n){return xu(n)&&"[object WeakMap]"==yo(n)},On.isWeakSet=function(n){return xu(n)&&"[object WeakSet]"==zt(n)},On.join=function(n,t){
return null==n?"":Ui.call(n,t)},On.kebabCase=Cf,On.last=Ge,On.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==F&&(u=Ou(r),u=0>u?Di(e+u,0):Mi(u,e-1)),t===t){for(r=u+1;r--&&n[r]!==t;);n=r}else n=g(n,b,u,true);return n},On.lowerCase=Df,On.lowerFirst=Mf,On.lt=df,On.lte=yf,On.max=function(n){return n&&n.length?mt(n,Nu,Wt):F},On.maxBy=function(n,t){return n&&n.length?mt(n,je(t,2),Wt):F},On.mean=function(n){return x(n,Nu)},On.meanBy=function(n,t){return x(n,je(t,2))},On.min=function(n){
return n&&n.length?mt(n,Nu,Jt):F},On.minBy=function(n,t){return n&&n.length?mt(n,je(t,2),Jt):F},On.stubArray=Ku,On.stubFalse=Gu,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return true},On.multiply=uc,On.nth=function(n,t){return n&&n.length?tr(n,Ou(t)):F},On.noConflict=function(){return Zn._===this&&(Zn._=pi),this},On.noop=qu,On.now=Jo,On.pad=function(n,t,r){n=zu(n);var e=(t=Ou(t))?T(n):0;return!t||e>=t?n:(t=(t-e)/2,ee(zi(t),r)+n+ee(Ri(t),r))},On.padEnd=function(n,t,r){
n=zu(n);var e=(t=Ou(t))?T(n):0;return t&&e<t?n+ee(t-e,r):n},On.padStart=function(n,t,r){n=zu(n);var e=(t=Ou(t))?T(n):0;return t&&e<t?ee(t-e,r)+n:n},On.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),$i(zu(n).replace(an,""),t||0)},On.random=function(n,t,r){if(r&&typeof r!="boolean"&&ze(n,t,r)&&(t=r=F),r===F&&(typeof t=="boolean"?(r=t,t=F):typeof n=="boolean"&&(r=n,n=F)),n===F&&t===F?(n=0,t=1):(n=Eu(n),t===F?(t=n,n=0):t=Eu(t)),n>t){var e=n;n=t,t=e}return r||n%1||t%1?(r=Fi(),Mi(n+r*(t-n+$n("1e-"+((r+"").length-1))),t)):cr(n,t);
},On.reduce=function(n,t,r){var e=af(n)?h:m,u=3>arguments.length;return e(n,je(t,4),r,u,oo)},On.reduceRight=function(n,t,r){var e=af(n)?p:m,u=3>arguments.length;return e(n,je(t,4),r,u,fo)},On.repeat=function(n,t,r){return t=(r?ze(n,t,r):t===F)?1:Ou(t),ar(zu(n),t)},On.replace=function(){var n=arguments,t=zu(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},On.result=function(n,t,r){t=Rr(t,n);var e=-1,u=t.length;for(u||(u=1,n=F);++e<u;){var i=null==n?F:n[$e(t[e])];i===F&&(e=u,i=r),n=gu(i)?i.call(n):i;
}return n},On.round=ic,On.runInContext=w,On.sample=function(n){return(af(n)?tt:sr)(n)},On.size=function(n){if(null==n)return 0;if(pu(n))return mu(n)?T(n):n.length;var t=yo(n);return"[object Map]"==t||"[object Set]"==t?n.size:Ht(n).length},On.snakeCase=Tf,On.some=function(n,t,r){var e=af(n)?_:gr;return r&&ze(n,t,r)&&(t=F),e(n,je(t,3))},On.sortedIndex=function(n,t){return dr(n,t)},On.sortedIndexBy=function(n,t,r){return yr(n,t,je(r,2))},On.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){
var e=dr(n,t);if(e<r&&hu(n[e],t))return e}return-1},On.sortedLastIndex=function(n,t){return dr(n,t,true)},On.sortedLastIndexBy=function(n,t,r){return yr(n,t,je(r,2),true)},On.sortedLastIndexOf=function(n,t){if(null==n?0:n.length){var r=dr(n,t,true)-1;if(hu(n[r],t))return r}return-1},On.startCase=$f,On.startsWith=function(n,t,r){return n=zu(n),r=null==r?0:gt(Ou(r),0,n.length),t=jr(t),n.slice(r,r+t.length)==t},On.subtract=oc,On.sum=function(n){return n&&n.length?k(n,Nu):0},On.sumBy=function(n,t){return n&&n.length?k(n,je(t,2)):0;
},On.template=function(n,t,r){var e=On.templateSettings;r&&ze(n,t,r)&&(t=F),n=zu(n),t=jf({},t,e,se),r=jf({},t.imports,e.imports,se);var u,i,o=Lu(r),f=I(r,o),c=0;r=t.interpolate||An;var a="__p+='";r=ti((t.escape||An).source+"|"+r.source+"|"+(r===nn?gn:An).source+"|"+(t.evaluate||An).source+"|$","g");var l="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,o,f,l){return e||(e=o),a+=n.slice(c,l).replace(kn,B),r&&(u=true,a+="'+__e("+r+")+'"),f&&(i=true,a+="';"+f+";\n__p+='"),
e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+t.length,t}),a+="';",(t=t.variable)||(a="with(obj){"+a+"}"),a=(i?a.replace(q,""):a).replace(V,"$1").replace(K,"$1;"),a="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",t=Pf(function(){return Qu(o,l+"return "+a).apply(F,f)}),t.source=a,vu(t))throw t;return t},On.times=function(n,t){if(n=Ou(n),1>n||9007199254740991<n)return[];
var r=4294967295,e=Mi(n,4294967295);for(t=je(t),n-=4294967295,e=E(e,t);++r<n;)t(r);return e},On.toFinite=Eu,On.toInteger=Ou,On.toLength=Su,On.toLower=function(n){return zu(n).toLowerCase()},On.toNumber=Iu,On.toSafeInteger=function(n){return n?gt(Ou(n),-9007199254740991,9007199254740991):0===n?n:0},On.toString=zu,On.toUpper=function(n){return zu(n).toUpperCase()},On.trim=function(n,t,r){return(n=zu(n))&&(r||t===F)?n.replace(cn,""):n&&(t=jr(t))?(n=$(n),r=$(t),t=z(n,r),r=W(n,r)+1,zr(n,t,r).join("")):n;
},On.trimEnd=function(n,t,r){return(n=zu(n))&&(r||t===F)?n.replace(ln,""):n&&(t=jr(t))?(n=$(n),t=W(n,$(t))+1,zr(n,0,t).join("")):n},On.trimStart=function(n,t,r){return(n=zu(n))&&(r||t===F)?n.replace(an,""):n&&(t=jr(t))?(n=$(n),t=z(n,$(t)),zr(n,t).join("")):n},On.truncate=function(n,t){var r=30,e="...";if(bu(t))var u="separator"in t?t.separator:u,r="length"in t?Ou(t.length):r,e="omission"in t?jr(t.omission):e;n=zu(n);var i=n.length;if(Bn.test(n))var o=$(n),i=o.length;if(r>=i)return n;if(i=r-T(e),1>i)return e;
if(r=o?zr(o,0,i).join(""):n.slice(0,i),u===F)return r+e;if(o&&(i+=r.length-i),_f(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=ti(u.source,zu(dn.exec(u))+"g")),u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===F?i:c)}}else n.indexOf(jr(u),i)!=i&&(u=r.lastIndexOf(u),-1<u&&(r=r.slice(0,u)));return r+e},On.unescape=function(n){return(n=zu(n))&&J.test(n)?n.replace(G,ut):n},On.uniqueId=function(n){var t=++ai;return zu(n)+t},On.upperCase=Ff,On.upperFirst=Nf,On.each=ru,On.eachRight=eu,On.first=Ke,
Zu(On,function(){var n={};return Et(On,function(t,r){ci.call(On.prototype,r)||(n[r]=t)}),n}(),{chain:false}),On.VERSION="4.17.4",u("bind bindKey curry curryRight partial partialRight".split(" "),function(n){On[n].placeholder=On}),u(["drop","take"],function(n,t){Mn.prototype[n]=function(r){r=r===F?1:Di(Ou(r),0);var e=this.__filtered__&&!t?new Mn(this):this.clone();return e.__filtered__?e.__takeCount__=Mi(r,e.__takeCount__):e.__views__.push({size:Mi(r,4294967295),type:n+(0>e.__dir__?"Right":"")}),e},Mn.prototype[n+"Right"]=function(t){
return this.reverse()[n](t).reverse()}}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Mn.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:je(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");Mn.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Mn.prototype[n]=function(){return this.__filtered__?new Mn(this):this[r](1);
}}),Mn.prototype.compact=function(){return this.filter(Nu)},Mn.prototype.find=function(n){return this.filter(n).head()},Mn.prototype.findLast=function(n){return this.reverse().find(n)},Mn.prototype.invokeMap=lr(function(n,t){return typeof n=="function"?new Mn(this):this.map(function(r){return Dt(r,n,t)})}),Mn.prototype.reject=function(n){return this.filter(su(je(n)))},Mn.prototype.slice=function(n,t){n=Ou(n);var r=this;return r.__filtered__&&(0<n||0>t)?new Mn(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),
t!==F&&(t=Ou(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},Mn.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Mn.prototype.toArray=function(){return this.take(4294967295)},Et(Mn.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=On[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(On.prototype[t]=function(){function t(n){return n=u.apply(On,s([n],f)),e&&h?n[0]:n}var o=this.__wrapped__,f=e?[1]:arguments,c=o instanceof Mn,a=f[0],l=c||af(o);
l&&r&&typeof a=="function"&&1!=a.length&&(c=l=false);var h=this.__chain__,p=!!this.__actions__.length,a=i&&!h,c=c&&!p;return!i&&l?(o=c?o:new Mn(this),o=n.apply(o,f),o.__actions__.push({func:nu,args:[t],thisArg:F}),new zn(o,h)):a&&c?n.apply(this,f):(o=this.thru(t),a?e?o.value()[0]:o.value():o)})}),u("pop push shift sort splice unshift".split(" "),function(n){var t=ui[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);On.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){
var u=this.value();return t.apply(af(u)?u:[],n)}return this[r](function(r){return t.apply(af(r)?r:[],n)})}}),Et(Mn.prototype,function(n,t){var r=On[t];if(r){var e=r.name+"";(Ji[e]||(Ji[e]=[])).push({name:t,func:r})}}),Ji[Xr(F,2).name]=[{name:"wrapper",func:F}],Mn.prototype.clone=function(){var n=new Mn(this.__wrapped__);return n.__actions__=Mr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Mr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Mr(this.__views__),
n},Mn.prototype.reverse=function(){if(this.__filtered__){var n=new Mn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n},Mn.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=af(t),u=0>r,i=e?t.length:0;n=i;for(var o=this.__views__,f=0,c=-1,a=o.length;++c<a;){var l=o[c],s=l.size;switch(l.type){case"drop":f+=s;break;case"dropRight":n-=s;break;case"take":n=Mi(n,f+s);break;case"takeRight":f=Di(f,n-s)}}if(n={start:f,end:n},o=n.start,f=n.end,n=f-o,
o=u?f:o-1,f=this.__iteratees__,c=f.length,a=0,l=Mi(n,this.__takeCount__),!e||!u&&i==n&&l==n)return kr(t,this.__actions__);e=[];n:for(;n--&&a<l;){for(o+=r,u=-1,i=t[o];++u<c;){var h=f[u],s=h.type,h=(0,h.iteratee)(i);if(2==s)i=h;else if(!h){if(1==s)continue n;break n}}e[a++]=i}return e},On.prototype.at=Fo,On.prototype.chain=function(){return Xe(this)},On.prototype.commit=function(){return new zn(this.value(),this.__chain__)},On.prototype.next=function(){this.__values__===F&&(this.__values__=ku(this.value()));
var n=this.__index__>=this.__values__.length;return{done:n,value:n?F:this.__values__[this.__index__++]}},On.prototype.plant=function(n){for(var t,r=this;r instanceof Sn;){var e=Pe(r);e.__index__=0,e.__values__=F,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},On.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Mn?(this.__actions__.length&&(n=new Mn(this)),n=n.reverse(),n.__actions__.push({func:nu,args:[Je],thisArg:F}),new zn(n,this.__chain__)):this.thru(Je);
},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){return kr(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,Ai&&(On.prototype[Ai]=tu),On}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Zn._=it, define(function(){return it})):Vn?((Vn.exports=it)._=it,qn._=it):Zn._=it}).call(this);
\ No newline at end of file
// Underscore.js 1.8.3
// http://underscorejs.org
// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
// Underscore may be freely distributed under the MIT license.
(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i},m.indexOf=r(1,m.findIndex,m.sortedIndex),m.lastIndexOf=r(-1,m.findLastIndex),m.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e<arguments.length;)i.push(arguments[e++]);return E(n,r,this,this,i)};return r},m.bindAll=function(n){var t,r,e=arguments.length;if(1>=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this);
//# sourceMappingURL=underscore-min.map
\ No newline at end of file
var path = require('path');
var webpack = require('webpack');
module.exports = {
module: {
rules: [
{
test: /\.js|\.jsx$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
],
},
watch: true,
watchOptions: {
ignored: /node_modules/
},
plugins: [
new webpack.ProvidePlugin({
'React': 'react',
'$': 'jquery',
'_': 'lodash'
})
],
};
\ No newline at end of file
<?php
if (function_exists('acf_add_local_field_group')):
acf_add_local_field_group(array (
'key' => 'group_5a14aa156afe6',
'title' => 'Recognition Fields',
'fields' => array (
array (
'key' => 'field_5a14aa1c6d269',
'label' => 'Note',
'name' => 'note',
'type' => 'wysiwyg',
'value' => NULL,
'instructions' => '',
'required' => 1,
'conditional_logic' => 0,
'wrapper' => array (
'width' => '',
'class' => '',
'id' => '',
),
'default_value' => '',
'tabs' => 'all',
'toolbar' => 'full',
'media_upload' => 1,
'delay' => 0,
),
array (
'key' => 'field_5a14aa3b6d26a',
'label' => 'Value',
'name' => 'value',
'type' => 'textarea',
'value' => NULL,
'instructions' => '',
'required' => 1,
'conditional_logic' => 0,
'wrapper' => array (
'width' => '',
'class' => '',
'id' => '',
),
'default_value' => '',
'placeholder' => '',
'maxlength' => '',
'rows' => '',
'new_lines' => '',
),
array (
'key' => 'field_5a14aab76d26b',
'label' => 'Who',
'name' => 'who',
'type' => 'user',
'value' => NULL,
'instructions' => '',
'required' => 1,
'conditional_logic' => 0,
'wrapper' => array (
'width' => '',
'class' => '',
'id' => '',
),
'role' => '',
'allow_null' => 0,
'multiple' => 0,
),
),
'location' => array (
array (
array (
'param' => 'post_type',
'operator' => '==',
'value' => 'recognition',
),
),
),
'menu_order' => 0,
'position' => 'normal',
'style' => 'default',
'label_placement' => 'top',
'instruction_placement' => 'label',
'hide_on_screen' => '',
'active' => 1,
'description' => '',
));
acf_add_local_field_group(array (
'key' => 'group_5ba537363ab8f',
'title' => 'User Fields',
'fields' => array (
array (
'key' => 'field_5ba5374fb7c57',
'label' => 'Avatar',
'name' => 'avatar',
'type' => 'image',
'value' => NULL,
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => array (
'width' => '',
'class' => '',
'id' => '',
),
'return_format' => 'array',
'preview_size' => 'thumbnail',
'library' => 'all',
'min_width' => '',
'min_height' => '',
'min_size' => '',
'max_width' => '',
'max_height' => '',
'max_size' => '',
'mime_types' => '',
),
),
'location' => array (
array (
array (
'param' => 'user_form',
'operator' => '==',
'value' => 'edit',
),
),
),
'menu_order' => 0,
'position' => 'normal',
'style' => 'default',
'label_placement' => 'top',
'instruction_placement' => 'label',
'hide_on_screen' => '',
'active' => 1,
'description' => '',
));
endif;
?>
\ No newline at end of file
<?php
function create_recognition_post_type() {
register_post_type('recognition',
array(
'labels' => array(
'name' => __('Recognitions'),
'singular_name' => __('Recognition')
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'recognitions'),
)
);
}
add_action('init', 'create_recognition_post_type');
?>
\ No newline at end of file
<?php
add_action('parse_request', 'parse_values_board_request');
function parse_values_board_request() {
global $current_user;
$uri = strtok($_SERVER["REQUEST_URI"], '?');
switch ($uri) {
case '/values-board/users':
if (!$current_user)
return null;
http_response_code(200);
$users = get_users(array(
'role' => 'author'
));
$returnArray = [];
foreach ($users as $user) {
$avatar = get_field('avatar', 'user_' . $user->ID);
$preppedUser = array(
'posts_per_page' => -1,
'ID' => $user->ID,
'display_name' => $user->data->display_name,
);
if ($avatar)
$preppedUser['url'] = $avatar['url'];
$returnArray[] = $preppedUser;
}
echo json_encode($returnArray);
exit();
case '/values-board/recognitions':
if (!$current_user)
return null;
http_response_code(200);
$recognitions = get_posts(array(
'posts_per_page' => -1,
'post_status' => 'any',
'post_type' => 'recognition'
));
foreach ($recognitions as $i => &$recognition) {
$fields = get_fields($recognition);
$fields['value'] = explode(',', $fields['value']);
$recognition->acf = $fields;
}
echo json_encode($recognitions);
exit();
case '/values-board/recognition':
if (!$current_user || !$_POST)
return null;
http_response_code(200);
$newPostId = wp_insert_post(array(
'posts_per_page' => -1,
'post_title' => $_POST['title'],
'post_author' => $_POST['author'],
'post_type' => 'recognition',
'post_status' => 'publish'
));
$values = implode(',', $_POST['fields']['value']);
update_field('note', $_POST['fields']['note'], $newPostId);
update_field('who', $_POST['fields']['who'], $newPostId);
update_field('value', $values, $newPostId);
$created = get_post($newPostId);
$created->acf = get_fields($created);
$created->acf['value'] = $_POST['fields']['value'];
echo json_encode($created);
exit();
case '/values-board/archives':
if (!$current_user)
return null;
http_response_code(200);
$recognitions = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'recognition',
'post_status' => 'any',
'date_query' => array(
array(
'year' => $_GET['year'],
'month' => date('m', strtotime($_GET['month']))
),
),
));
foreach ($recognitions as $i => &$recognition) {
$fields = get_fields($recognition);
$recognition->acf = $fields;
}
echo json_encode($recognitions);
exit();
case '/values-board/toggle-status':
if (!$current_user)
return null;
http_response_code(200);
$id = $_GET['id'];
$status = $_GET['status'];
wp_update_post(array(
'ID' => $id,
'post_status' => $status
));
exit();
}
}
add_action('parse_request', 'avatar_fetcher');
function avatar_fetcher() {
$uri = strtok($_SERVER["REQUEST_URI"],'?');
if (strstr($uri, '/get-avatar-image')) {
$args = explode('/', $uri);
$uid = array_pop($args);
$dir = getcwd();
$avatarImg = get_avatar($uid);
preg_match('/src="(.*?)"/i', $avatarImg, $matches);
$avatarUrl = $matches[1];
header('Location: '. $avatarUrl);
exit();
}
}
?>
\ No newline at end of file
<?php
function board_shortcode($atts) {
if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1'))) {
wp_enqueue_script('values-board-js', plugin_dir_url(__FILE__) . '../page/dist/main.js', array(), $version_uid, TRUE);
} else {
}
wp_enqueue_style('values-board-fonts', 'https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700|Slabo+27px', array(), $version_uid);
wp_enqueue_style('values-board-css', plugin_dir_url(__FILE__) . '../page/css/site.min.css', array(), $version_uid);
$shortcode_content = ob_start();
include 'shortcode_template.php';
return ob_get_clean();
}
add_shortcode('values-board', 'board_shortcode');
?>
\ No newline at end of file
<?php
$options = get_option('values_board_options');
?>
<script>
window.current_user = <?php echo get_current_user_id(); ?>;
</script>
<script id="values_choices">
<?php
$values = $options['values_board_field_values'];
$colors = $options['values_board_field_colors'];
$exploded_values = explode(PHP_EOL, $values);
$exploded_colors = explode(PHP_EOL, $colors);
echo json_encode($exploded_values);
?>
</script>
<style>
<?php
foreach ($exploded_values as $i => $value) {
$value = preg_replace('/\W+/','',strtolower(strip_tags($value)));
echo '.value.color_' . $value . ' {background-color:' . $exploded_colors[$i] . '!important;}';
}
?>
</style>
<div id="values_board"></div>
\ No newline at end of file
<?php
/**
* Plugin Name: Values Board
* Description: Provides a board for people to leave recognitions for their coworkers.
* Author: 300FeetOut
* Author URI: http://300feetout.com
*/
defined('ABSPATH') or die("No script kiddies please!");
require('plumbing/post_type.php');
require('plumbing/routes.php');
require('plumbing/fields.php');
require('shortcode/shortcode.php');
require('admin/admin.php');
require('admin/settings.php');
?>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment