Files
moon-gaming/meanOs-master/meanos-meanOs-47ff1a2/index.html
T
2023-12-05 16:19:14 +00:00

6046 lines
233 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width">
<link href=favicon.ico rel="shortcut icon" type=image/ico>
<title>meanOs - The smallest and the most powerful operating system</title>
<meta description='meanWeb - The first decentralized, artificially intelligent, MEAN.js stack, operating system. meanOs is the only operating system hosted anonymous using a P2P network and a suite of non-standard in-browser delivery mechanisms. meanOs proudly supports Brave and Tor, be free!'
/>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.1/css/all.css">
<style>
html {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px !important;
background: #000 url(logo.png) center center no-repeat;
background-size: 350px auto;
}
body,
html,
#chat-wrapper,
#letter-overlay,
#letter-pool,
#temp-letter-pool {
height: 100% !important;
width: 100% !important;
overflow: hidden !important;
padding: 0 !important;
margin: 0 !important;
}
.invisible {
opacity: 0;
}
body * {
background: none!important;
}
.content,
#message-input {
background: #fff!important;
border-radius: 0px !important;
}
#letter-pool {
font-size: 6px;
}
#send-message-button *,
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message .content .text,
#chat-wrapper #chat-message-window #message-input-wrapper #message-input #message-input-field,
#chat-wrapper #chat-message-window #message-input-wrapper #message-input #send-message-button i {
color: rgb(24, 24, 24) !important;
text-shadow: 0px 0px 1px rgb(175, 0, 175);
}
#chat-bot-mood {
display: none!important
}
.scroll-bar::-webkit-scrollbar {
background-color: #c8c8c8;
width: 2px;
}
.scroll-bar::-webkit-scrollbar-thumb {
background-color: #5a5a5a;
}
.glitch {
color: white;
font-size: 50px;
position: relative;
}
p {
color: white;
font-size: 10px;
position: relative;
margin-top: -10px;
}
@keyframes noise-anim {
0% {
clip: rect(11px, 9999px, 74px, 0);
}
5% {
clip: rect(88px, 9999px, 11px, 0);
}
10% {
clip: rect(44px, 9999px, 29px, 0);
}
15% {
clip: rect(37px, 9999px, 83px, 0);
}
20% {
clip: rect(14px, 9999px, 70px, 0);
}
25% {
clip: rect(75px, 9999px, 77px, 0);
}
30% {
clip: rect(17px, 9999px, 9px, 0);
}
35% {
clip: rect(70px, 9999px, 75px, 0);
}
40% {
clip: rect(87px, 9999px, 8px, 0);
}
45% {
clip: rect(8px, 9999px, 69px, 0);
}
50% {
clip: rect(97px, 9999px, 95px, 0);
}
55% {
clip: rect(25px, 9999px, 7px, 0);
}
60% {
clip: rect(60px, 9999px, 37px, 0);
}
65% {
clip: rect(15px, 9999px, 81px, 0);
}
70% {
clip: rect(35px, 9999px, 94px, 0);
}
75% {
clip: rect(37px, 9999px, 41px, 0);
}
80% {
clip: rect(63px, 9999px, 67px, 0);
}
85% {
clip: rect(90px, 9999px, 63px, 0);
}
90% {
clip: rect(24px, 9999px, 33px, 0);
}
95% {
clip: rect(91px, 9999px, 88px, 0);
}
100% {
clip: rect(96px, 9999px, 84px, 0);
}
}
.glitch:after {
content: attr(data-text);
position: absolute;
left: 2px;
text-shadow: -1px 0 red;
top: 0;
color: white;
background: black;
overflow: hidden;
clip: rect(0, 900px, 0, 0);
animation: noise-anim 2s infinite linear alternate-reverse;
}
@keyframes noise-anim-2 {
0% {
clip: rect(28px, 9999px, 77px, 0);
}
5% {
clip: rect(93px, 9999px, 22px, 0);
}
10% {
clip: rect(92px, 9999px, 48px, 0);
}
15% {
clip: rect(79px, 9999px, 100px, 0);
}
20% {
clip: rect(100px, 9999px, 93px, 0);
}
25% {
clip: rect(30px, 9999px, 95px, 0);
}
30% {
clip: rect(45px, 9999px, 47px, 0);
}
35% {
clip: rect(76px, 9999px, 28px, 0);
}
40% {
clip: rect(52px, 9999px, 14px, 0);
}
45% {
clip: rect(85px, 9999px, 88px, 0);
}
50% {
clip: rect(57px, 9999px, 36px, 0);
}
55% {
clip: rect(45px, 9999px, 13px, 0);
}
60% {
clip: rect(60px, 9999px, 24px, 0);
}
65% {
clip: rect(34px, 9999px, 65px, 0);
}
70% {
clip: rect(66px, 9999px, 45px, 0);
}
75% {
clip: rect(32px, 9999px, 47px, 0);
}
80% {
clip: rect(10px, 9999px, 32px, 0);
}
85% {
clip: rect(26px, 9999px, 26px, 0);
}
90% {
clip: rect(100px, 9999px, 66px, 0);
}
95% {
clip: rect(26px, 9999px, 61px, 0);
}
100% {
clip: rect(59px, 9999px, 36px, 0);
}
}
.glitch:before {
content: attr(data-text);
position: absolute;
left: -2px;
text-shadow: 1px 0 blue;
top: 0;
color: white;
background: black;
overflow: hidden;
clip: rect(0, 900px, 0, 0);
animation: noise-anim-2 3s infinite linear alternate-reverse;
}
#chat-wrapper {
background-color: white;
height: 100%;
overflow: hidden;
width: 100%;
}
#chat-wrapper #chat-bot-mood {
left: 0px;
padding: 20px;
position: absolute;
top: 0px;
white-space: nowrap;
z-index: 10;
}
#chat-wrapper #chat-bot-mood.friendly #chat-bot-mood-icon {
background: linear-gradient(to right, #03a9f4, #4caf50);
}
#chat-wrapper #chat-bot-mood.friendly #chat-bot-mood-label #chat-bot-mood-value {
color: #03a9f4;
}
#chat-wrapper #chat-bot-mood.suspicious #chat-bot-mood-icon {
background: linear-gradient(to right, #d32f2f, #ff6f00);
}
#chat-wrapper #chat-bot-mood.suspicious #chat-bot-mood-label #chat-bot-mood-value {
color: #d32f2f;
}
#chat-wrapper #chat-bot-mood.boastful #chat-bot-mood-icon {
background: linear-gradient(to right, #ff6f00, #fbc02d);
}
#chat-wrapper #chat-bot-mood.boastful #chat-bot-mood-label #chat-bot-mood-value {
color: #ff6f00;
}
#chat-wrapper #chat-bot-mood #chat-bot-mood-icon {
border-radius: 30px;
box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px, rgba(0, 0, 0, 0.12) 0px 1px 4px;
display: inline-block;
height: 30px;
margin-left: 10px;
vertical-align: top;
width: 30px;
}
#chat-wrapper #chat-bot-mood #chat-bot-mood-label {
background-color: white;
border-radius: 20px;
box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px, rgba(0, 0, 0, 0.12) 0px 1px 4px;
display: inline-block;
height: 20px;
margin-left: 5px;
padding: 5px 15px;
vertical-align: top;
}
#chat-wrapper #chat-bot-mood #chat-bot-mood-label h1 {
display: inline-block;
font-size: 0.9em;
font-weight: 300;
height: 20px;
line-height: 20px;
margin: 0px;
vertical-align: top;
}
#chat-wrapper #chat-bot-mood #chat-bot-mood-label #chat-bot-mood-text {
color: #3c3c3c;
}
#chat-wrapper #letter-pool,
#chat-wrapper #temp-letter-pool {
backface-visibility: hidden;
height: 100%;
left: 0px;
overflow: hidden;
position: absolute;
top: 0px;
user-select: none;
width: 100%;
z-index: 1;
}
#chat-wrapper #letter-pool .pool-letter,
#chat-wrapper #letter-pool .temp-letter,
#chat-wrapper #temp-letter-pool .pool-letter,
#chat-wrapper #temp-letter-pool .temp-letter {
color: #d2d2d2;
display: inline-block;
font-weight: 300;
position: absolute;
}
#chat-wrapper #letter-overlay {
height: 100%;
left: 0px;
pointer-events: none;
position: absolute;
top: 0px;
width: 100%;
z-index: 5;
}
#chat-wrapper #letter-overlay .overlay-letter {
color: #d2d2d2;
font-weight: 300;
position: absolute;
transition: all 1.5s, opacity 0.5s;
transition-timing-function: ease-in-out;
}
#chat-wrapper #letter-overlay .overlay-letter.in-flight {
animation: pulse-letter 1s ease-in-out;
color: #d2d2d2;
}
#chat-wrapper #chat-message-window {
height: 100%;
left: 0px;
overflow: hidden;
position: absolute;
top: 0px;
width: 100%;
z-index: 2;
}
#chat-wrapper #chat-message-window #message-input-wrapper {
bottom: 0px;
height: 90px;
left: 0px;
position: absolute;
width: 100%;
z-index: 2;
}
#chat-wrapper #chat-message-window #message-input-wrapper #message-input {
left: 50%;
position: absolute;
top: 50%;
transform: translateX(-50%) translateY(-50%);
background-color: white;
border-radius: 100px;
box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px, rgba(0, 0, 0, 0.12) 0px 1px 4px;
height: 50px;
line-height: 50px;
overflow: hidden;
}
#chat-wrapper #chat-message-window #message-input-wrapper #message-input.send-enabled #send-message-button:before,
#chat-wrapper #chat-message-window #message-input-wrapper #message-input.send-enabled #send-message-button:after {
left: 50%;
position: absolute;
top: 50%;
transform: translateX(-50%) translateY(-50%);
animation: pulse 2s ease-in-out infinite;
border-radius: 100px;
content: '';
height: 30px;
width: 30px;
}
#chat-wrapper #chat-message-window #message-input-wrapper #message-input.send-enabled #send-message-button i {
color: #03a9f4;
}
#chat-wrapper #chat-message-window #message-input-wrapper #message-input #message-input-field {
border: none;
color: #b4b4b4;
font-size: 1em;
font-weight: 300;
margin-left: 20px;
outline: none;
}
#chat-wrapper #chat-message-window #message-input-wrapper #message-input #message-input-field::placeholder {
color: #b4b4b4;
}
#chat-wrapper #chat-message-window #message-input-wrapper #message-input #send-message-button {
cursor: pointer;
height: 50px;
position: absolute;
right: 0px;
text-align: center;
top: 0px;
width: 50px;
}
#chat-wrapper #chat-message-window #message-input-wrapper #message-input #send-message-button i {
color: #e6e6e6;
height: 50px;
line-height: 50px;
font-size: 2em;
transition: all 0.5s;
width: 50px;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper {
bottom: 0px;
height: 100%;
left: 0px;
overflow: hidden;
position: absolute;
width: 100%;
z-index: 1;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column {
bottom: 0px;
left: 0px;
min-height: 70px;
margin-bottom: 70px;
overflow: hidden;
padding: 20px 20px 0px 20px;
width: calc(100% - 40px);
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column.static {
position: absolute;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message {
animation: expand 0.5s ease-in-out;
margin-bottom: 20px;
white-space: nowrap;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.received {
text-align: left;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.received.friendly .profile-icon {
background: linear-gradient(to right, #03a9f4, #4caf50);
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.received.suspicious .profile-icon {
background: linear-gradient(to right, #d32f2f, #ff6f00);
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.received.boastful .profile-icon {
background: linear-gradient(to right, #ff6f00, #fbc02d);
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.received .profile-icon i {
font-size: 1.5em;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.received .profile-icon i:before {
display: inline-block;
transform: rotate(90deg);
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.received .content {
animation: bounceInLeft 1s ease-in-out;
animation-delay: 0.5s;
margin-left: 20px;
max-width: 70% !important
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.sent {
text-align: right;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.sent .profile-icon {
background: linear-gradient(to right, #ab47bc, #03a9f4);
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.sent .profile-icon i {
font-size: 1.25em;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message.sent .content {
animation: bounceInRight 1s ease-in-out;
animation-delay: 0.5s;
margin-right: 20px;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message .profile-icon {
animation: bounceIn 1s ease-in-out;
animation-delay: 0.25s;
border-radius: 100px;
box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px, rgba(0, 0, 0, 0.12) 0px 1px 4px;
display: inline-block;
height: 50px;
position: relative;
vertical-align: top;
width: 50px;
z-index: 2;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message .profile-icon i {
color: white;
height: 50px;
line-height: 50px;
text-align: center;
width: 50px;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message .content {
background-color: white;
border-radius: 25px;
box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px, rgba(0, 0, 0, 0.12) 0px 1px 4px;
display: inline-block;
padding: 15px 20px;
position: relative;
text-align: left;
transition: all 0.5s;
vertical-align: top;
white-space: normal;
z-index: 1;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message .content .text {
color: #b4b4b4;
font-size: 1em;
font-weight: 300;
margin: 0px;
min-height: 20px;
transition: all 0.5s;
word-wrap: break-word;
}
#chat-wrapper #chat-message-window #chat-message-column-wrapper #chat-message-column .message .content .text span {
height: 20px;
}
@keyframes flash-dot {
from,
to {
background-color: #c8c8c8;
}
50% {
background-color: rgba(200, 200, 200, 0.5);
}
}
@keyframes expand {
from {
max-height: 0px;
}
to {
max-height: 200px;
}
}
@keyframes bounceIn {
from,
20%,
40%,
60%,
80%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
0% {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
20% {
transform: scale3d(1.1, 1.1, 1.1);
}
40% {
transform: scale3d(0.9, 0.9, 0.9);
}
60% {
opacity: 1;
transform: scale3d(1.03, 1.03, 1.03);
}
80% {
transform: scale3d(0.97, 0.97, 0.97);
}
to {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
@keyframes bounceInUp {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
from {
opacity: 0;
transform: translate3d(0, 3000px, 0);
}
60% {
opacity: 1;
transform: translate3d(0, -20px, 0);
}
75% {
transform: translate3d(0, 10px, 0);
}
90% {
transform: translate3d(0, -5px, 0);
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes bounceInLeft {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
0% {
opacity: 0;
transform: translate3d(-3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(25px, 0, 0);
}
75% {
transform: translate3d(-10px, 0, 0);
}
90% {
transform: translate3d(5px, 0, 0);
}
to {
transform: none;
}
}
@keyframes bounceInRight {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
from {
opacity: 0;
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
}
to {
transform: none;
}
}
@keyframes bounceOutRight {
20% {
opacity: 1;
transform: translate3d(-20px, 0, 0);
}
to {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
}
@keyframes pulse {
0% {
box-shadow: 0px 0px 0px 0px rgba(3, 169, 244, 0.5);
}
100% {
box-shadow: 0px 0px 0px 20px rgba(3, 169, 244, 0);
}
}
@keyframes pulse-letter {
from,
to {
color: #d2d2d2;
}
50% {
color: #03a9f4;
}
}
#news-signup{
position: fixed;
width: 100%;
visibility: hidden;
z-index: 10002;
top: 100px;
opacity: 0;
-webkit-transform: scale(0.5);
transform: scale(0.5);
-webkit-transition: -webkit-transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
}
#news-signup *{font-family: Arial, Helvetica, sans-serif !important;}
#news-signup .wrapper {
background:rgba(10,0,10,0.95) !important;
background: -webkit-linear-gradient(to left, #252b33 , #2E1437);
background: linear-gradient(to left, #252b33 , #2E1437);
position: relative;
margin: 0 auto;
text-align: center;
-moz-border-radius: 3px;
box-shadow: 0px 1px 10px rgba(0,0,0,0.5);
width: 98%
}
#news-signup_bg {
visibility: hidden;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #ffffff;
opacity: 0.4;
z-index: 10001;
}
#news-signup_close {
position: absolute;
left: 100%;
margin: 7px 0 0 -30px;
width: 20px;
height: 20px;
color: #fff;
opacity:0.3;
cursor: pointer;
}
#news-signup_close::before {
content: "×";
font: 400 26px/1em 'Roboto Slab', serif;
}
#news-signup_close:hover {
opacity:0.8;
}
#news-signup .newsletter-content {
padding: 100px 3px;
margin: 0 auto
}
#news-signup input#join{
font-size: 20px;
padding: 10px;
background: #fff !important;
border: none;
margin-bottom: 20px;
text-transform: uppercase;
font-weight: bold;
cursor: pointer;
}
#news-signup .newsletter-content h2 {
font: 300 24px/1em 'Roboto Slab', serif;
color: #fff;
text-align: center;
margin: 0 auto 15px
}
#news-signup .newsletter-content p {
margin: 0 auto 25px;
font: 300 16px/1em 'Roboto Slab', serif;
color: #7e8890
}
#news-signup .newsletter-content form {
margin: 0;
padding: 0;
width: 90%;
}
#news-signup .newsletter-content form p {
margin: 0 auto 10px
}
#news-signup .newsletter-content form p:not(.button) {
float: none;
width: 100%;
}
#news-signup .newsletter-content form p:not(.button) input {
width: 100%;
margin: 0;
padding: 12px 15px !important;
border-color: #d0d5d8
}
#news-signup .newsletter-content form .button {
float: none;
width: 100%
}
#news-signup .newsletter-content form .button input {
width: 100%;
padding: 20px 25px 18px !important;
font-size: 12px
}
#news-signup .newsletter-content p.footnote {
filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=50);
opacity: 0.8;
font: 100 11px 'Roboto Slab', serif;
color: #abb0b7;
margin-bottom: 0
}
@media screen and (min-width: 800px){
#news-signup .wrapper {
width: 800px;
margin: 7% auto;
}
#news-signup .newsletter-content form .button input {
width: auto;
margin: 0
}
#news-signup .newsletter-content form .button {
float: left;
width: auto;
margin-left: 15px;
}
#news-signup .newsletter-content form {
width: auto
}
#news-signup .newsletter-content form p {
margin: 0 auto 15px
}
#news-signup .newsletter-content form p:not(.button) {
float: left;
width: auto
}
.newsletter-content form p:not(.button) input {
width: 300px!important;
margin: 0 15px 0 0
}
}
</style>
</head>
<body>
<div class="glitch" data-text="meanOs">meanOs</div>
<p>coming soon_</p>
<div id="chat-wrapper">
<div id="chat-bot-mood">
<div id="chat-bot-mood-icon"></div>
<div id="chat-bot-mood-label">
<h1 id="chat-bot-mood-text">Chatbot is feeling</h1>
<h1 id="chat-bot-mood-value">Mood</h1>
</div>
</div>
<div id="letter-pool"></div>
<div id="temp-letter-pool"></div>
<div id="letter-overlay"></div>
<div id="chat-message-window">
<div id="message-input-wrapper">
<div id="message-input">
<input id="message-input-field" type="text" placeholder="Type a message" maxlength="100" />
<div id="send-message-button"><i class="far fa-arrow-alt-circle-right"></i></div>
</div>
</div>
<div class="scroll-bar" id="chat-message-column-wrapper">
<div class="static" id="chat-message-column"></div>
</div>
</div>
</div>
<script>
(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 && t(n[r], r, n) !== !1;);
return n
}
function i(n, t) {
for (var r = null == n ? 0 : n.length; r-- && t(n[r], r, n) !== !1;);
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 !1;
return !0
}
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 a(n, t) {
var r = null == n ? 0 : n.length;
return !!r && b(n, t, 0) > -1
}
function c(n, t, r) {
for (var e = -1, u = null == n ? 0 : n.length; ++e < u;)
if (r(t, n[e])) return !0;
return !1
}
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 v(n, t) {
for (var r = -1, e = null == n ? 0 : n.length; ++r < e;)
if (t(n[r], r, n)) return !0;
return !1
}
function _(n) {
return n.split("")
}
function g(n) {
return n.match(Dt) || []
}
function y(n, t, r) {
var e;
return r(n, function(n, r, u) {
if (t(n, r, u)) return e = r, !1
}), e
}
function d(n, t, r, e) {
for (var u = n.length, i = r + (e ? 1 : -1); e ? i-- : ++i < u;)
if (t(n[i], i, n)) return i;
return -1
}
function b(n, t, r) {
return t === t ? K(n, t, r) : d(n, m, r)
}
function w(n, t, r, e) {
for (var u = r - 1, i = n.length; ++u < i;)
if (e(n[u], t)) return u;
return -1
}
function m(n) {
return n !== n
}
function x(n, t) {
var r = null == n ? 0 : n.length;
return r ? I(n, t) / r : Ln
}
function j(n) {
return function(t) {
return null == t ? X : t[n]
}
}
function A(n) {
return function(t) {
return null == n ? X : n[t]
}
}
function k(n, t, r, e, u) {
return u(n, function(n, u, i) {
r = e ? (e = !1, n) : t(r, n, u, i)
}), r
}
function O(n, t) {
var r = n.length;
for (n.sort(t); r--;) n[r] = n[r].value;
return n
}
function I(n, t) {
for (var r, e = -1, u = n.length; ++e < u;) {
var i = t(n[e]);
i !== X && (r = r === X ? i : r + i)
}
return r
}
function R(n, t) {
for (var r = -1, e = Array(n); ++r < n;) e[r] = t(r);
return e
}
function z(n, t) {
return l(t, function(t) {
return [t, n[t]]
})
}
function E(n) {
return function(t) {
return n(t)
}
}
function S(n, t) {
return l(t, function(t) {
return n[t]
})
}
function W(n, t) {
return n.has(t)
}
function L(n, t) {
for (var r = -1, e = n.length; ++r < e && b(t, n[r], 0) > -1;);
return r
}
function C(n, t) {
for (var r = n.length; r-- && b(t, n[r], 0) > -1;);
return r
}
function U(n, t) {
for (var r = n.length, e = 0; r--;) n[r] === t && ++e;
return e
}
function B(n) {
return "\\" + Yr[n]
}
function T(n, t) {
return null == n ? X : n[t]
}
function $(n) {
return Nr.test(n)
}
function D(n) {
return Pr.test(n)
}
function M(n) {
for (var t, r = []; !(t = n.next()).done;) r.push(t.value);
return r
}
function F(n) {
var t = -1,
r = Array(n.size);
return n.forEach(function(n, e) {
r[++t] = [e, n]
}), r
}
function N(n, t) {
return function(r) {
return n(t(r))
}
}
function P(n, t) {
for (var r = -1, e = n.length, u = 0, i = []; ++r < e;) {
var o = n[r];
o !== t && o !== fn || (n[r] = fn, i[u++] = r)
}
return i
}
function q(n) {
var t = -1,
r = Array(n.size);
return n.forEach(function(n) {
r[++t] = n
}), r
}
function Z(n) {
var t = -1,
r = Array(n.size);
return n.forEach(function(n) {
r[++t] = [n, n]
}), r
}
function K(n, t, r) {
for (var e = r - 1, u = n.length; ++e < u;)
if (n[e] === t) return e;
return -1
}
function V(n, t, r) {
for (var e = r + 1; e--;)
if (n[e] === t) return e;
return e
}
function G(n) {
return $(n) ? J(n) : ve(n)
}
function H(n) {
return $(n) ? Y(n) : _(n)
}
function J(n) {
for (var t = Mr.lastIndex = 0; Mr.test(n);) ++t;
return t
}
function Y(n) {
return n.match(Mr) || []
}
function Q(n) {
return n.match(Fr) || []
}
var X, nn = "4.17.4",
tn = 200,
rn = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",
en = "Expected a function",
un = "__lodash_hash_undefined__",
on = 500,
fn = "__lodash_placeholder__",
an = 1,
cn = 2,
ln = 4,
sn = 1,
hn = 2,
pn = 1,
vn = 2,
_n = 4,
gn = 8,
yn = 16,
dn = 32,
bn = 64,
wn = 128,
mn = 256,
xn = 512,
jn = 30,
An = "...",
kn = 800,
On = 16,
In = 1,
Rn = 2,
zn = 3,
En = 1 / 0,
Sn = 9007199254740991,
Wn = 1.7976931348623157e308,
Ln = NaN,
Cn = 4294967295,
Un = Cn - 1,
Bn = Cn >>> 1,
Tn = [
["ary", wn],
["bind", pn],
["bindKey", vn],
["curry", gn],
["curryRight", yn],
["flip", xn],
["partial", dn],
["partialRight", bn],
["rearg", mn]
],
$n = "[object Arguments]",
Dn = "[object Array]",
Mn = "[object AsyncFunction]",
Fn = "[object Boolean]",
Nn = "[object Date]",
Pn = "[object DOMException]",
qn = "[object Error]",
Zn = "[object Function]",
Kn = "[object GeneratorFunction]",
Vn = "[object Map]",
Gn = "[object Number]",
Hn = "[object Null]",
Jn = "[object Object]",
Yn = "[object Promise]",
Qn = "[object Proxy]",
Xn = "[object RegExp]",
nt = "[object Set]",
tt = "[object String]",
rt = "[object Symbol]",
et = "[object Undefined]",
ut = "[object WeakMap]",
it = "[object WeakSet]",
ot = "[object ArrayBuffer]",
ft = "[object DataView]",
at = "[object Float32Array]",
ct = "[object Float64Array]",
lt = "[object Int8Array]",
st = "[object Int16Array]",
ht = "[object Int32Array]",
pt = "[object Uint8Array]",
vt = "[object Uint8ClampedArray]",
_t = "[object Uint16Array]",
gt = "[object Uint32Array]",
yt = /\b__p \+= '';/g,
dt = /\b(__p \+=) '' \+/g,
bt = /(__e\(.*?\)|\b__t\)) \+\n'';/g,
wt = /&(?:amp|lt|gt|quot|#39);/g,
mt = /[&<>"']/g,
xt = RegExp(wt.source),
jt = RegExp(mt.source),
At = /<%-([\s\S]+?)%>/g,
kt = /<%([\s\S]+?)%>/g,
Ot = /<%=([\s\S]+?)%>/g,
It = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
Rt = /^\w*$/,
zt = /^\./,
Et = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
St = /[\\^$.*+?()[\]{}|]/g,
Wt = RegExp(St.source),
Lt = /^\s+|\s+$/g,
Ct = /^\s+/,
Ut = /\s+$/,
Bt = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
Tt = /\{\n\/\* \[wrapped with (.+)\] \*/,
$t = /,? & /,
Dt = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,
Mt = /\\(\\)?/g,
Ft = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,
Nt = /\w*$/,
Pt = /^[-+]0x[0-9a-f]+$/i,
qt = /^0b[01]+$/i,
Zt = /^\[object .+?Constructor\]$/,
Kt = /^0o[0-7]+$/i,
Vt = /^(?:0|[1-9]\d*)$/,
Gt = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,
Ht = /($^)/,
Jt = /['\n\r\u2028\u2029\\]/g,
Yt = "\\ud800-\\udfff",
Qt = "\\u0300-\\u036f",
Xt = "\\ufe20-\\ufe2f",
nr = "\\u20d0-\\u20ff",
tr = Qt + Xt + nr,
rr = "\\u2700-\\u27bf",
er = "a-z\\xdf-\\xf6\\xf8-\\xff",
ur = "\\xac\\xb1\\xd7\\xf7",
ir = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",
or = "\\u2000-\\u206f",
fr = " \\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",
ar = "A-Z\\xc0-\\xd6\\xd8-\\xde",
cr = "\\ufe0e\\ufe0f",
lr = ur + ir + or + fr,
sr = "[']",
hr = "[" + Yt + "]",
pr = "[" + lr + "]",
vr = "[" + tr + "]",
_r = "\\d+",
gr = "[" + rr + "]",
yr = "[" + er + "]",
dr = "[^" + Yt + lr + _r + rr + er + ar + "]",
br = "\\ud83c[\\udffb-\\udfff]",
wr = "(?:" + vr + "|" + br + ")",
mr = "[^" + Yt + "]",
xr = "(?:\\ud83c[\\udde6-\\uddff]){2}",
jr = "[\\ud800-\\udbff][\\udc00-\\udfff]",
Ar = "[" + ar + "]",
kr = "\\u200d",
Or = "(?:" + yr + "|" + dr + ")",
Ir = "(?:" + Ar + "|" + dr + ")",
Rr = "(?:" + sr + "(?:d|ll|m|re|s|t|ve))?",
zr = "(?:" + sr + "(?:D|LL|M|RE|S|T|VE))?",
Er = wr + "?",
Sr = "[" + cr + "]?",
Wr = "(?:" + kr + "(?:" + [mr, xr, jr].join("|") + ")" + Sr + Er + ")*",
Lr = "\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)",
Cr = "\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)",
Ur = Sr + Er + Wr,
Br = "(?:" + [gr, xr, jr].join("|") + ")" + Ur,
Tr = "(?:" + [mr + vr + "?", vr, xr, jr, hr].join("|") + ")",
$r = RegExp(sr, "g"),
Dr = RegExp(vr, "g"),
Mr = RegExp(br + "(?=" + br + ")|" + Tr + Ur, "g"),
Fr = RegExp([Ar + "?" + yr + "+" + Rr + "(?=" + [pr, Ar, "$"].join("|") + ")", Ir + "+" + zr + "(?=" + [pr, Ar + Or, "$"].join("|") + ")", Ar + "?" + Or + "+" + Rr, Ar + "+" + zr, Cr, Lr, _r, Br].join("|"), "g"),
Nr = RegExp("[" + kr + Yt + tr + cr + "]"),
Pr = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,
qr = ["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"],
Zr = -1,
Kr = {};
Kr[at] = Kr[ct] = Kr[lt] = Kr[st] = Kr[ht] = Kr[pt] = Kr[vt] = Kr[_t] = Kr[gt] = !0, Kr[$n] = Kr[Dn] = Kr[ot] = Kr[Fn] = Kr[ft] = Kr[Nn] = Kr[qn] = Kr[Zn] = Kr[Vn] = Kr[Gn] = Kr[Jn] = Kr[Xn] = Kr[nt] = Kr[tt] = Kr[ut] = !1;
var Vr = {};
Vr[$n] = Vr[Dn] = Vr[ot] = Vr[ft] = Vr[Fn] = Vr[Nn] = Vr[at] = Vr[ct] = Vr[lt] = Vr[st] = Vr[ht] = Vr[Vn] = Vr[Gn] = Vr[Jn] = Vr[Xn] = Vr[nt] = Vr[tt] = Vr[rt] = Vr[pt] = Vr[vt] = Vr[_t] = Vr[gt] = !0, Vr[qn] = Vr[Zn] = Vr[ut] = !1;
var Gr = {
"À": "A",
"Á": "A",
"Â": "A",
"Ã": "A",
"Ä": "A",
"Å": "A",
"à": "a",
"á": "a",
"â": "a",
"ã": "a",
"ä": "a",
"å": "a",
"Ç": "C",
"ç": "c",
"Ð": "D",
"ð": "d",
"È": "E",
"É": "E",
"Ê": "E",
"Ë": "E",
"è": "e",
"é": "e",
"ê": "e",
"ë": "e",
"Ì": "I",
"Í": "I",
"Î": "I",
"Ï": "I",
"ì": "i",
"í": "i",
"î": "i",
"ï": "i",
"Ñ": "N",
"ñ": "n",
"Ò": "O",
"Ó": "O",
"Ô": "O",
"Õ": "O",
"Ö": "O",
"Ø": "O",
"ò": "o",
"ó": "o",
"ô": "o",
"õ": "o",
"ö": "o",
"ø": "o",
"Ù": "U",
"Ú": "U",
"Û": "U",
"Ü": "U",
"ù": "u",
"ú": "u",
"û": "u",
"ü": "u",
"Ý": "Y",
"ý": "y",
"ÿ": "y",
"Æ": "Ae",
"æ": "ae",
"Þ": "Th",
"þ": "th",
"ß": "ss",
"Ā": "A",
"Ă": "A",
"Ą": "A",
"ā": "a",
"ă": "a",
"ą": "a",
"Ć": "C",
"Ĉ": "C",
"Ċ": "C",
"Č": "C",
"ć": "c",
"ĉ": "c",
"ċ": "c",
"č": "c",
"Ď": "D",
"Đ": "D",
"ď": "d",
"đ": "d",
"Ē": "E",
"Ĕ": "E",
"Ė": "E",
"Ę": "E",
"Ě": "E",
"ē": "e",
"ĕ": "e",
"ė": "e",
"ę": "e",
"ě": "e",
"Ĝ": "G",
"Ğ": "G",
"Ġ": "G",
"Ģ": "G",
"ĝ": "g",
"ğ": "g",
"ġ": "g",
"ģ": "g",
"Ĥ": "H",
"Ħ": "H",
"ĥ": "h",
"ħ": "h",
"Ĩ": "I",
"Ī": "I",
"Ĭ": "I",
"Į": "I",
"İ": "I",
"ĩ": "i",
"ī": "i",
"ĭ": "i",
"į": "i",
"ı": "i",
"Ĵ": "J",
"ĵ": "j",
"Ķ": "K",
"ķ": "k",
"ĸ": "k",
"Ĺ": "L",
"Ļ": "L",
"Ľ": "L",
"Ŀ": "L",
"Ł": "L",
"ĺ": "l",
"ļ": "l",
"ľ": "l",
"ŀ": "l",
"ł": "l",
"Ń": "N",
"Ņ": "N",
"Ň": "N",
"Ŋ": "N",
"ń": "n",
"ņ": "n",
"ň": "n",
"ŋ": "n",
"Ō": "O",
"Ŏ": "O",
"Ő": "O",
"ō": "o",
"ŏ": "o",
"ő": "o",
"Ŕ": "R",
"Ŗ": "R",
"Ř": "R",
"ŕ": "r",
"ŗ": "r",
"ř": "r",
"Ś": "S",
"Ŝ": "S",
"Ş": "S",
"Š": "S",
"ś": "s",
"ŝ": "s",
"ş": "s",
"š": "s",
"Ţ": "T",
"Ť": "T",
"Ŧ": "T",
"ţ": "t",
"ť": "t",
"ŧ": "t",
"Ũ": "U",
"Ū": "U",
"Ŭ": "U",
"Ů": "U",
"Ű": "U",
"Ų": "U",
"ũ": "u",
"ū": "u",
"ŭ": "u",
"ů": "u",
"ű": "u",
"ų": "u",
"Ŵ": "W",
"ŵ": "w",
"Ŷ": "Y",
"ŷ": "y",
"Ÿ": "Y",
"Ź": "Z",
"Ż": "Z",
"Ž": "Z",
"ź": "z",
"ż": "z",
"ž": "z",
"IJ": "IJ",
"ij": "ij",
"Œ": "Oe",
"œ": "oe",
"ʼn": "'n",
"ſ": "s"
},
Hr = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#39;"
},
Jr = {
"&amp;": "&",
"&lt;": "<",
"&gt;": ">",
"&quot;": '"',
"&#39;": "'"
},
Yr = {
"\\": "\\",
"'": "'",
"\n": "n",
"\r": "r",
"\u2028": "u2028",
"\u2029": "u2029"
},
Qr = parseFloat,
Xr = parseInt,
ne = "object" == typeof global && global && global.Object === Object && global,
te = "object" == typeof self && self && self.Object === Object && self,
re = ne || te || Function("return this")(),
ee = "object" == typeof exports && exports && !exports.nodeType && exports,
ue = ee && "object" == typeof module && module && !module.nodeType && module,
ie = ue && ue.exports === ee,
oe = ie && ne.process,
fe = function() {
try {
return oe && oe.binding && oe.binding("util")
} catch (n) {}
}(),
ae = fe && fe.isArrayBuffer,
ce = fe && fe.isDate,
le = fe && fe.isMap,
se = fe && fe.isRegExp,
he = fe && fe.isSet,
pe = fe && fe.isTypedArray,
ve = j("length"),
_e = A(Gr),
ge = A(Hr),
ye = A(Jr),
de = function _(A) {
function K(n) {
if (la(n) && !mh(n) && !(n instanceof Dt)) {
if (n instanceof Y) return n;
if (ml.call(n, "__wrapped__")) return io(n)
}
return new Y(n)
}
function J() {}
function Y(n, t) {
this.__wrapped__ = n, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = X
}
function Dt(n) {
this.__wrapped__ = n, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = Cn, this.__views__ = []
}
function Yt() {
var n = new Dt(this.__wrapped__);
return n.__actions__ = Mu(this.__actions__), n.__dir__ = this.__dir__, n.__filtered__ = this.__filtered__, n.__iteratees__ = Mu(this.__iteratees__), n.__takeCount__ = this.__takeCount__, n.__views__ = Mu(this.__views__), n
}
function Qt() {
if (this.__filtered__) {
var n = new Dt(this);
n.__dir__ = -1, n.__filtered__ = !0
} else n = this.clone(), n.__dir__ *= -1;
return n
}
function Xt() {
var n = this.__wrapped__.value(),
t = this.__dir__,
r = mh(n),
e = t < 0,
u = r ? n.length : 0,
i = zi(0, u, this.__views__),
o = i.start,
f = i.end,
a = f - o,
c = e ? f : o - 1,
l = this.__iteratees__,
s = l.length,
h = 0,
p = Yl(a, this.__takeCount__);
if (!r || !e && u == a && p == a) return mu(n, this.__actions__);
var v = [];
n: for (; a-- && h < p;) {
c += t;
for (var _ = -1, g = n[c]; ++_ < s;) {
var y = l[_],
d = y.iteratee,
b = y.type,
w = d(g);
if (b == Rn) g = w;
else if (!w) {
if (b == In) continue n;
break n
}
}
v[h++] = g
}
return v
}
function nr(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 tr() {
this.__data__ = fs ? fs(null) : {}, this.size = 0
}
function rr(n) {
var t = this.has(n) && delete this.__data__[n];
return this.size -= t ? 1 : 0, t
}
function er(n) {
var t = this.__data__;
if (fs) {
var r = t[n];
return r === un ? X : r
}
return ml.call(t, n) ? t[n] : X
}
function ur(n) {
var t = this.__data__;
return fs ? t[n] !== X : ml.call(t, n)
}
function ir(n, t) {
var r = this.__data__;
return this.size += this.has(n) ? 0 : 1, r[n] = fs && t === X ? un : t, this
}
function or(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 fr() {
this.__data__ = [], this.size = 0
}
function ar(n) {
var t = this.__data__,
r = Lr(t, n);
if (r < 0) return !1;
var e = t.length - 1;
return r == e ? t.pop() : Ul.call(t, r, 1), --this.size, !0
}
function cr(n) {
var t = this.__data__,
r = Lr(t, n);
return r < 0 ? X : t[r][1]
}
function lr(n) {
return Lr(this.__data__, n) > -1
}
function sr(n, t) {
var r = this.__data__,
e = Lr(r, n);
return e < 0 ? (++this.size, r.push([n, t])) : r[e][1] = t, this
}
function hr(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 pr() {
this.size = 0, this.__data__ = {
hash: new nr,
map: new(es || or),
string: new nr
}
}
function vr(n) {
var t = ki(this, n).delete(n);
return this.size -= t ? 1 : 0, t
}
function _r(n) {
return ki(this, n).get(n)
}
function gr(n) {
return ki(this, n).has(n)
}
function yr(n, t) {
var r = ki(this, n),
e = r.size;
return r.set(n, t), this.size += r.size == e ? 0 : 1, this
}
function dr(n) {
var t = -1,
r = null == n ? 0 : n.length;
for (this.__data__ = new hr; ++t < r;) this.add(n[t])
}
function br(n) {
return this.__data__.set(n, un), this
}
function wr(n) {
return this.__data__.has(n)
}
function mr(n) {
var t = this.__data__ = new or(n);
this.size = t.size
}
function xr() {
this.__data__ = new or, this.size = 0
}
function jr(n) {
var t = this.__data__,
r = t.delete(n);
return this.size = t.size, r
}
function Ar(n) {
return this.__data__.get(n)
}
function kr(n) {
return this.__data__.has(n)
}
function Or(n, t) {
var r = this.__data__;
if (r instanceof or) {
var e = r.__data__;
if (!es || e.length < tn - 1) return e.push([n, t]), this.size = ++r.size, this;
r = this.__data__ = new hr(e)
}
return r.set(n, t), this.size = r.size, this
}
function Ir(n, t) {
var r = mh(n),
e = !r && wh(n),
u = !r && !e && jh(n),
i = !r && !e && !u && Rh(n),
o = r || e || u || i,
f = o ? R(n.length, vl) : [],
a = f.length;
for (var c in n) !t && !ml.call(n, c) || o && ("length" == c || u && ("offset" == c || "parent" == c) || i && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || Ti(c, a)) || f.push(c);
return f
}
function Rr(n) {
var t = n.length;
return t ? n[ru(0, t - 1)] : X
}
function zr(n, t) {
return to(Mu(n), Fr(t, 0, n.length))
}
function Er(n) {
return to(Mu(n))
}
function Sr(n, t, r) {
(r === X || Jf(n[t], r)) && (r !== X || t in n) || Tr(n, t, r)
}
function Wr(n, t, r) {
var e = n[t];
ml.call(n, t) && Jf(e, r) && (r !== X || t in n) || Tr(n, t, r)
}
function Lr(n, t) {
for (var r = n.length; r--;)
if (Jf(n[r][0], t)) return r;
return -1
}
function Cr(n, t, r, e) {
return bs(n, function(n, u, i) {
t(e, n, r(n), i)
}), e
}
function Ur(n, t) {
return n && Fu(t, Za(t), n)
}
function Br(n, t) {
return n && Fu(t, Ka(t), n)
}
function Tr(n, t, r) {
"__proto__" == t && Dl ? Dl(n, t, {
configurable: !0,
enumerable: !0,
value: r,
writable: !0
}) : n[t] = r
}
function Mr(n, t) {
for (var r = -1, e = t.length, u = fl(e), i = null == n; ++r < e;) u[r] = i ? X : Na(n, t[r]);
return u
}
function Fr(n, t, r) {
return n === n && (r !== X && (n = n <= r ? n : r), t !== X && (n = n >= t ? n : t)), n
}
function Nr(n, t, r, e, i, o) {
var f, a = t & an,
c = t & cn,
l = t & ln;
if (r && (f = i ? r(n, e, i, o) : r(n)), f !== X) return f;
if (!ca(n)) return n;
var s = mh(n);
if (s) {
if (f = Wi(n), !a) return Mu(n, f)
} else {
var h = Ss(n),
p = h == Zn || h == Kn;
if (jh(n)) return Ru(n, a);
if (h == Jn || h == $n || p && !i) {
if (f = c || p ? {} : Li(n), !a) return c ? Pu(n, Br(f, n)) : Nu(n, Ur(f, n))
} else {
if (!Vr[h]) return i ? n : {};
f = Ci(n, h, Nr, a)
}
}
o || (o = new mr);
var v = o.get(n);
if (v) return v;
o.set(n, f);
var _ = l ? c ? mi : wi : c ? Ka : Za,
g = s ? X : _(n);
return u(g || n, function(e, u) {
g && (u = e, e = n[u]), Wr(f, u, Nr(e, t, r, u, n, o))
}), f
}
function Pr(n) {
var t = Za(n);
return function(r) {
return Gr(r, n, t)
}
}
function Gr(n, t, r) {
var e = r.length;
if (null == n) return !e;
for (n = hl(n); e--;) {
var u = r[e],
i = t[u],
o = n[u];
if (o === X && !(u in n) || !i(o)) return !1
}
return !0
}
function Hr(n, t, r) {
if ("function" != typeof n) throw new _l(en);
return Cs(function() {
n.apply(X, r)
}, t)
}
function Jr(n, t, r, e) {
var u = -1,
i = a,
o = !0,
f = n.length,
s = [],
h = t.length;
if (!f) return s;
r && (t = l(t, E(r))), e ? (i = c, o = !1) : t.length >= tn && (i = W, o = !1, t = new dr(t));
n: for (; ++u < f;) {
var p = n[u],
v = null == r ? p : r(p);
if (p = e || 0 !== p ? p : 0, o && v === v) {
for (var _ = h; _--;)
if (t[_] === v) continue n;
s.push(p)
} else i(t, v, e) || s.push(p)
}
return s
}
function Yr(n, t) {
var r = !0;
return bs(n, function(n, e, u) {
return r = !!t(n, e, u)
}), r
}
function ne(n, t, r) {
for (var e = -1, u = n.length; ++e < u;) {
var i = n[e],
o = t(i);
if (null != o && (f === X ? o === o && !ma(o) : r(o, f))) var f = o,
a = i
}
return a
}
function te(n, t, r, e) {
var u = n.length;
for (r = Ia(r), r < 0 && (r = -r > u ? 0 : u + r), e = e === X || e > u ? u : Ia(e), e < 0 && (e += u), e = r > e ? 0 : Ra(e); r < e;) n[r++] = t;
return n
}
function ee(n, t) {
var r = [];
return bs(n, function(n, e, u) {
t(n, e, u) && r.push(n)
}), r
}
function ue(n, t, r, e, u) {
var i = -1,
o = n.length;
for (r || (r = Bi), u || (u = []); ++i < o;) {
var f = n[i];
t > 0 && r(f) ? t > 1 ? ue(f, t - 1, r, e, u) : s(u, f) : e || (u[u.length] = f)
}
return u
}
function oe(n, t) {
return n && ms(n, t, Za)
}
function fe(n, t) {
return n && xs(n, t, Za)
}
function ve(n, t) {
return f(t, function(t) {
return oa(n[t])
})
}
function de(n, t) {
t = Ou(t, n);
for (var r = 0, e = t.length; null != n && r < e;) n = n[ro(t[r++])];
return r && r == e ? n : X
}
function we(n, t, r) {
var e = t(n);
return mh(n) ? e : s(e, r(n))
}
function me(n) {
return null == n ? n === X ? et : Hn : $l && $l in hl(n) ? Ri(n) : Hi(n)
}
function xe(n, t) {
return n > t
}
function je(n, t) {
return null != n && ml.call(n, t)
}
function Ae(n, t) {
return null != n && t in hl(n)
}
function ke(n, t, r) {
return n >= Yl(t, r) && n < Jl(t, r)
}
function Oe(n, t, r) {
for (var e = r ? c : a, u = n[0].length, i = n.length, o = i, f = fl(i), s = 1 / 0, h = []; o--;) {
var p = n[o];
o && t && (p = l(p, E(t))), s = Yl(p.length, s), f[o] = !r && (t || u >= 120 && p.length >= 120) ? new dr(o && p) : X
}
p = n[0];
var v = -1,
_ = f[0];
n: for (; ++v < u && h.length < s;) {
var g = p[v],
y = t ? t(g) : g;
if (g = r || 0 !== g ? g : 0, !(_ ? W(_, y) : e(h, y, r))) {
for (o = i; --o;) {
var d = f[o];
if (!(d ? W(d, y) : e(n[o], y, r))) continue n
}
_ && _.push(y), h.push(g)
}
}
return h
}
function Ie(n, t, r, e) {
return oe(n, function(n, u, i) {
t(e, r(n), u, i)
}), e
}
function Re(n, t, e) {
t = Ou(t, n), n = Yi(n, t);
var u = null == n ? n : n[ro(ko(t))];
return null == u ? X : r(u, n, e)
}
function ze(n) {
return la(n) && me(n) == $n
}
function Ee(n) {
return la(n) && me(n) == ot
}
function Se(n) {
return la(n) && me(n) == Nn
}
function We(n, t, r, e, u) {
return n === t || (null == n || null == t || !la(n) && !la(t) ? n !== n && t !== t : Le(n, t, r, e, We, u))
}
function Le(n, t, r, e, u, i) {
var o = mh(n),
f = mh(t),
a = o ? Dn : Ss(n),
c = f ? Dn : Ss(t);
a = a == $n ? Jn : a, c = c == $n ? Jn : c;
var l = a == Jn,
s = c == Jn,
h = a == c;
if (h && jh(n)) {
if (!jh(t)) return !1;
o = !0, l = !1
}
if (h && !l) return i || (i = new mr), o || Rh(n) ? gi(n, t, r, e, u, i) : yi(n, t, a, r, e, u, i);
if (!(r & sn)) {
var p = l && ml.call(n, "__wrapped__"),
v = s && ml.call(t, "__wrapped__");
if (p || v) {
var _ = p ? n.value() : n,
g = v ? t.value() : t;
return i || (i = new mr), u(_, g, r, e, i)
}
}
return !!h && (i || (i = new mr), di(n, t, r, e, u, i))
}
function Ce(n) {
return la(n) && Ss(n) == Vn
}
function Ue(n, t, r, e) {
var u = r.length,
i = u,
o = !e;
if (null == n) return !i;
for (n = hl(n); u--;) {
var f = r[u];
if (o && f[2] ? f[1] !== n[f[0]] : !(f[0] in n)) return !1
}
for (; ++u < i;) {
f = r[u];
var a = f[0],
c = n[a],
l = f[1];
if (o && f[2]) {
if (c === X && !(a in n)) return !1
} else {
var s = new mr;
if (e) var h = e(c, l, a, n, t, s);
if (!(h === X ? We(l, c, sn | hn, e, s) : h)) return !1
}
}
return !0
}
function Be(n) {
if (!ca(n) || Ni(n)) return !1;
var t = oa(n) ? Il : Zt;
return t.test(eo(n))
}
function Te(n) {
return la(n) && me(n) == Xn
}
function $e(n) {
return la(n) && Ss(n) == nt
}
function De(n) {
return la(n) && aa(n.length) && !!Kr[me(n)]
}
function Me(n) {
return "function" == typeof n ? n : null == n ? Uc : "object" == typeof n ? mh(n) ? Ke(n[0], n[1]) : Ze(n) : Pc(n)
}
function Fe(n) {
if (!Pi(n)) return Hl(n);
var t = [];
for (var r in hl(n)) ml.call(n, r) && "constructor" != r && t.push(r);
return t
}
function Ne(n) {
if (!ca(n)) return Gi(n);
var t = Pi(n),
r = [];
for (var e in n)("constructor" != e || !t && ml.call(n, e)) && r.push(e);
return r
}
function Pe(n, t) {
return n < t
}
function qe(n, t) {
var r = -1,
e = Yf(n) ? fl(n.length) : [];
return bs(n, function(n, u, i) {
e[++r] = t(n, u, i)
}), e
}
function Ze(n) {
var t = Oi(n);
return 1 == t.length && t[0][2] ? Zi(t[0][0], t[0][1]) : function(r) {
return r === n || Ue(r, n, t)
}
}
function Ke(n, t) {
return Di(n) && qi(t) ? Zi(ro(n), t) : function(r) {
var e = Na(r, n);
return e === X && e === t ? qa(r, n) : We(t, e, sn | hn)
}
}
function Ve(n, t, r, e, u) {
n !== t && ms(t, function(i, o) {
if (ca(i)) u || (u = new mr), Ge(n, t, o, r, Ve, e, u);
else {
var f = e ? e(n[o], i, o + "", n, t, u) : X;
f === X && (f = i), Sr(n, o, f)
}
}, Ka)
}
function Ge(n, t, r, e, u, i, o) {
var f = n[r],
a = t[r],
c = o.get(a);
if (c) return void Sr(n, r, c);
var l = i ? i(f, a, r + "", n, t, o) : X,
s = l === X;
if (s) {
var h = mh(a),
p = !h && jh(a),
v = !h && !p && Rh(a);
l = a, h || p || v ? mh(f) ? l = f : Qf(f) ? l = Mu(f) : p ? (s = !1, l = Ru(a, !0)) : v ? (s = !1, l = Uu(a, !0)) : l = [] : da(a) || wh(a) ? (l = f, wh(f) ? l = Ea(f) : (!ca(f) || e && oa(f)) && (l = Li(a))) : s = !1
}
s && (o.set(a, l), u(l, a, e, i, o), o.delete(a)), Sr(n, r, l)
}
function He(n, t) {
var r = n.length;
if (r) return t += t < 0 ? r : 0, Ti(t, r) ? n[t] : X
}
function Je(n, t, r) {
var e = -1;
t = l(t.length ? t : [Uc], E(Ai()));
var u = qe(n, function(n, r, u) {
var i = l(t, function(t) {
return t(n)
});
return {
criteria: i,
index: ++e,
value: n
}
});
return O(u, function(n, t) {
return Tu(n, t, r)
})
}
function Ye(n, t) {
return Qe(n, t, function(t, r) {
return qa(n, r)
})
}
function Qe(n, t, r) {
for (var e = -1, u = t.length, i = {}; ++e < u;) {
var o = t[e],
f = de(n, o);
r(f, o) && au(i, Ou(o, n), f)
}
return i
}
function Xe(n) {
return function(t) {
return de(t, n)
}
}
function nu(n, t, r, e) {
var u = e ? w : b,
i = -1,
o = t.length,
f = n;
for (n === t && (t = Mu(t)), r && (f = l(n, E(r))); ++i < o;)
for (var a = 0, c = t[i], s = r ? r(c) : c;
(a = u(f, s, a, e)) > -1;) f !== n && Ul.call(f, a, 1), Ul.call(n, a, 1);
return n
}
function tu(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;
Ti(u) ? Ul.call(n, u, 1) : du(n, u)
}
}
return n
}
function ru(n, t) {
return n + ql(ns() * (t - n + 1))
}
function eu(n, t, r, e) {
for (var u = -1, i = Jl(Pl((t - n) / (r || 1)), 0), o = fl(i); i--;) o[e ? i : ++u] = n, n += r;
return o
}
function uu(n, t) {
var r = "";
if (!n || t < 1 || t > Sn) return r;
do t % 2 && (r += n), t = ql(t / 2), t && (n += n); while (t);
return r
}
function iu(n, t) {
return Us(Ji(n, t, Uc), n + "")
}
function ou(n) {
return Rr(uc(n))
}
function fu(n, t) {
var r = uc(n);
return to(r, Fr(t, 0, r.length))
}
function au(n, t, r, e) {
if (!ca(n)) return n;
t = Ou(t, n);
for (var u = -1, i = t.length, o = i - 1, f = n; null != f && ++u < i;) {
var a = ro(t[u]),
c = r;
if (u != o) {
var l = f[a];
c = e ? e(l, a, f) : X, c === X && (c = ca(l) ? l : Ti(t[u + 1]) ? [] : {})
}
Wr(f, a, c), f = f[a]
}
return n
}
function cu(n) {
return to(uc(n))
}
function lu(n, t, r) {
var e = -1,
u = n.length;
t < 0 && (t = -t > u ? 0 : u + t), r = r > u ? u : r, r < 0 && (r += u), u = t > r ? 0 : r - t >>> 0, t >>>= 0;
for (var i = fl(u); ++e < u;) i[e] = n[e + t];
return i
}
function su(n, t) {
var r;
return bs(n, function(n, e, u) {
return r = t(n, e, u), !r
}), !!r
}
function hu(n, t, r) {
var e = 0,
u = null == n ? e : n.length;
if ("number" == typeof t && t === t && u <= Bn) {
for (; e < u;) {
var i = e + u >>> 1,
o = n[i];
null !== o && !ma(o) && (r ? o <= t : o < t) ? e = i + 1 : u = i
}
return u
}
return pu(n, t, Uc, r)
}
function pu(n, t, r, e) {
t = r(t);
for (var u = 0, i = null == n ? 0 : n.length, o = t !== t, f = null === t, a = ma(t), c = t === X; u < i;) {
var l = ql((u + i) / 2),
s = r(n[l]),
h = s !== X,
p = null === s,
v = s === s,
_ = ma(s);
if (o) var g = e || v;
else g = c ? v && (e || h) : f ? v && h && (e || !p) : a ? v && h && !p && (e || !_) : !p && !_ && (e ? s <= t : s < t);
g ? u = l + 1 : i = l
}
return Yl(i, Un)
}
function vu(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 || !Jf(f, a)) {
var a = f;
i[u++] = 0 === o ? 0 : o
}
}
return i
}
function _u(n) {
return "number" == typeof n ? n : ma(n) ? Ln : +n
}
function gu(n) {
if ("string" == typeof n) return n;
if (mh(n)) return l(n, gu) + "";
if (ma(n)) return ys ? ys.call(n) : "";
var t = n + "";
return "0" == t && 1 / n == -En ? "-0" : t
}
function yu(n, t, r) {
var e = -1,
u = a,
i = n.length,
o = !0,
f = [],
l = f;
if (r) o = !1, u = c;
else if (i >= tn) {
var s = t ? null : Is(n);
if (s) return q(s);
o = !1, u = W, l = new dr
} else l = t ? [] : f;
n: for (; ++e < i;) {
var h = n[e],
p = t ? t(h) : h;
if (h = r || 0 !== h ? h : 0, o && p === p) {
for (var v = l.length; v--;)
if (l[v] === p) continue n;
t && l.push(p), f.push(h)
} else u(l, p, r) || (l !== f && l.push(p), f.push(h))
}
return f
}
function du(n, t) {
return t = Ou(t, n), n = Yi(n, t), null == n || delete n[ro(ko(t))]
}
function bu(n, t, r, e) {
return au(n, t, r(de(n, t)), e)
}
function wu(n, t, r, e) {
for (var u = n.length, i = e ? u : -1;
(e ? i-- : ++i < u) && t(n[i], i, n););
return r ? lu(n, e ? 0 : i, e ? i + 1 : u) : lu(n, e ? i + 1 : 0, e ? u : i)
}
function mu(n, t) {
var r = n;
return r instanceof Dt && (r = r.value()), h(t, function(n, t) {
return t.func.apply(t.thisArg, s([n], t.args))
}, r)
}
function xu(n, t, r) {
var e = n.length;
if (e < 2) return e ? yu(n[0]) : [];
for (var u = -1, i = fl(e); ++u < e;)
for (var o = n[u], f = -1; ++f < e;) f != u && (i[u] = Jr(i[u] || o, n[f], t, r));
return yu(ue(i, 1), t, r)
}
function ju(n, t, r) {
for (var e = -1, u = n.length, i = t.length, o = {}; ++e < u;) {
var f = e < i ? t[e] : X;
r(o, n[e], f)
}
return o
}
function Au(n) {
return Qf(n) ? n : []
}
function ku(n) {
return "function" == typeof n ? n : Uc
}
function Ou(n, t) {
return mh(n) ? n : Di(n, t) ? [n] : Bs(Wa(n))
}
function Iu(n, t, r) {
var e = n.length;
return r = r === X ? e : r, !t && r >= e ? n : lu(n, t, r)
}
function Ru(n, t) {
if (t) return n.slice();
var r = n.length,
e = Sl ? Sl(r) : new n.constructor(r);
return n.copy(e), e
}
function zu(n) {
var t = new n.constructor(n.byteLength);
return new El(t).set(new El(n)), t
}
function Eu(n, t) {
var r = t ? zu(n.buffer) : n.buffer;
return new n.constructor(r, n.byteOffset, n.byteLength)
}
function Su(t, r, e) {
var u = r ? e(F(t), an) : F(t);
return h(u, n, new t.constructor)
}
function Wu(n) {
var t = new n.constructor(n.source, Nt.exec(n));
return t.lastIndex = n.lastIndex, t
}
function Lu(n, r, e) {
var u = r ? e(q(n), an) : q(n);
return h(u, t, new n.constructor)
}
function Cu(n) {
return gs ? hl(gs.call(n)) : {}
}
function Uu(n, t) {
var r = t ? zu(n.buffer) : n.buffer;
return new n.constructor(r, n.byteOffset, n.length)
}
function Bu(n, t) {
if (n !== t) {
var r = n !== X,
e = null === n,
u = n === n,
i = ma(n),
o = t !== X,
f = null === t,
a = t === t,
c = ma(t);
if (!f && !c && !i && n > t || i && o && a && !f && !c || e && o && a || !r && a || !u) return 1;
if (!e && !i && !c && n < t || c && r && u && !e && !i || f && r && u || !o && u || !a) return -1
}
return 0
}
function Tu(n, t, r) {
for (var e = -1, u = n.criteria, i = t.criteria, o = u.length, f = r.length; ++e < o;) {
var a = Bu(u[e], i[e]);
if (a) {
if (e >= f) return a;
var c = r[e];
return a * ("desc" == c ? -1 : 1)
}
}
return n.index - t.index
}
function $u(n, t, r, e) {
for (var u = -1, i = n.length, o = r.length, f = -1, a = t.length, c = Jl(i - o, 0), l = fl(a + c), s = !e; ++f < a;) l[f] = t[f];
for (; ++u < o;)(s || u < i) && (l[r[u]] = n[u]);
for (; c--;) l[f++] = n[u++];
return l
}
function Du(n, t, r, e) {
for (var u = -1, i = n.length, o = -1, f = r.length, a = -1, c = t.length, l = Jl(i - f, 0), s = fl(l + c), h = !e; ++u < l;) s[u] = n[u];
for (var p = u; ++a < c;) s[p + a] = t[a];
for (; ++o < f;)(h || u < i) && (s[p + r[o]] = n[u++]);
return s
}
function Mu(n, t) {
var r = -1,
e = n.length;
for (t || (t = fl(e)); ++r < e;) t[r] = n[r];
return t
}
function Fu(n, t, r, e) {
var u = !r;
r || (r = {});
for (var i = -1, o = t.length; ++i < o;) {
var f = t[i],
a = e ? e(r[f], n[f], f, r, n) : X;
a === X && (a = n[f]), u ? Tr(r, f, a) : Wr(r, f, a)
}
return r
}
function Nu(n, t) {
return Fu(n, zs(n), t)
}
function Pu(n, t) {
return Fu(n, Es(n), t)
}
function qu(n, t) {
return function(r, u) {
var i = mh(r) ? e : Cr,
o = t ? t() : {};
return i(r, n, Ai(u, 2), o)
}
}
function Zu(n) {
return iu(function(t, r) {
var e = -1,
u = r.length,
i = u > 1 ? r[u - 1] : X,
o = u > 2 ? r[2] : X;
for (i = n.length > 3 && "function" == typeof i ? (u--, i) : X, o && $i(r[0], r[1], o) && (i = u < 3 ? X : i, u = 1), t = hl(t); ++e < u;) {
var f = r[e];
f && n(t, f, e, i)
}
return t
})
}
function Ku(n, t) {
return function(r, e) {
if (null == r) return r;
if (!Yf(r)) return n(r, e);
for (var u = r.length, i = t ? u : -1, o = hl(r);
(t ? i-- : ++i < u) && e(o[i], i, o) !== !1;);
return r
}
}
function Vu(n) {
return function(t, r, e) {
for (var u = -1, i = hl(t), o = e(t), f = o.length; f--;) {
var a = o[n ? f : ++u];
if (r(i[a], a, i) === !1) break
}
return t
}
}
function Gu(n, t, r) {
function e() {
var t = this && this !== re && this instanceof e ? i : n;
return t.apply(u ? r : this, arguments)
}
var u = t & pn,
i = Yu(n);
return e
}
function Hu(n) {
return function(t) {
t = Wa(t);
var r = $(t) ? H(t) : X,
e = r ? r[0] : t.charAt(0),
u = r ? Iu(r, 1).join("") : t.slice(1);
return e[n]() + u
}
}
function Ju(n) {
return function(t) {
return h(Ec(lc(t).replace($r, "")), n, "")
}
}
function Yu(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 = ds(n.prototype),
e = n.apply(r, t);
return ca(e) ? e : r
}
}
function Qu(n, t, e) {
function u() {
for (var o = arguments.length, f = fl(o), a = o, c = ji(u); a--;) f[a] = arguments[a];
var l = o < 3 && f[0] !== c && f[o - 1] !== c ? [] : P(f, c);
if (o -= l.length, o < e) return ci(n, t, ti, u.placeholder, X, f, l, X, X, e - o);
var s = this && this !== re && this instanceof u ? i : n;
return r(s, this, f)
}
var i = Yu(n);
return u
}
function Xu(n) {
return function(t, r, e) {
var u = hl(t);
if (!Yf(t)) {
var i = Ai(r, 3);
t = Za(t), r = function(n) {
return i(u[n], n, u)
}
}
var o = n(t, r, e);
return o > -1 ? u[i ? t[o] : o] : X
}
}
function ni(n) {
return bi(function(t) {
var r = t.length,
e = r,
u = Y.prototype.thru;
for (n && t.reverse(); e--;) {
var i = t[e];
if ("function" != typeof i) throw new _l(en);
if (u && !o && "wrapper" == xi(i)) var o = new Y([], !0)
}
for (e = o ? e : r; ++e < r;) {
i = t[e];
var f = xi(i),
a = "wrapper" == f ? Rs(i) : X;
o = a && Fi(a[0]) && a[1] == (wn | gn | dn | mn) && !a[4].length && 1 == a[9] ? o[xi(a[0])].apply(o, a[3]) : 1 == i.length && Fi(i) ? o[f]() : o.thru(i)
}
return function() {
var n = arguments,
e = n[0];
if (o && 1 == n.length && mh(e)) return o.plant(e).value();
for (var u = 0, i = r ? t[u].apply(this, n) : e; ++u < r;) i = t[u].call(this, i);
return i
}
})
}
function ti(n, t, r, e, u, i, o, f, a, c) {
function l() {
for (var y = arguments.length, d = fl(y), b = y; b--;) d[b] = arguments[b];
if (v) var w = ji(l),
m = U(d, w);
if (e && (d = $u(d, e, u, v)), i && (d = Du(d, i, o, v)), y -= m, v && y < c) {
var x = P(d, w);
return ci(n, t, ti, l.placeholder, r, d, x, f, a, c - y)
}
var j = h ? r : this,
A = p ? j[n] : n;
return y = d.length, f ? d = Qi(d, f) : _ && y > 1 && d.reverse(), s && a < y && (d.length = a), this && this !== re && this instanceof l && (A = g || Yu(A)), A.apply(j, d)
}
var s = t & wn,
h = t & pn,
p = t & vn,
v = t & (gn | yn),
_ = t & xn,
g = p ? X : Yu(n);
return l
}
function ri(n, t) {
return function(r, e) {
return Ie(r, n, t(e), {})
}
}
function ei(n, t) {
return function(r, e) {
var u;
if (r === X && e === X) return t;
if (r !== X && (u = r), e !== X) {
if (u === X) return e;
"string" == typeof r || "string" == typeof e ? (r = gu(r), e = gu(e)) : (r = _u(r), e = _u(e)), u = n(r, e)
}
return u
}
}
function ui(n) {
return bi(function(t) {
return t = l(t, E(Ai())), iu(function(e) {
var u = this;
return n(t, function(n) {
return r(n, u, e)
})
})
})
}
function ii(n, t) {
t = t === X ? " " : gu(t);
var r = t.length;
if (r < 2) return r ? uu(t, n) : t;
var e = uu(t, Pl(n / G(t)));
return $(t) ? Iu(H(e), 0, n).join("") : e.slice(0, n)
}
function oi(n, t, e, u) {
function i() {
for (var t = -1, a = arguments.length, c = -1, l = u.length, s = fl(l + a), h = this && this !== re && this instanceof i ? f : n; ++c < l;) s[c] = u[c];
for (; a--;) s[c++] = arguments[++t];
return r(h, o ? e : this, s)
}
var o = t & pn,
f = Yu(n);
return i
}
function fi(n) {
return function(t, r, e) {
return e && "number" != typeof e && $i(t, r, e) && (r = e = X), t = Oa(t), r === X ? (r = t, t = 0) : r = Oa(r), e = e === X ? t < r ? 1 : -1 : Oa(e), eu(t, r, e, n)
}
}
function ai(n) {
return function(t, r) {
return "string" == typeof t && "string" == typeof r || (t = za(t), r = za(r)), n(t, r)
}
}
function ci(n, t, r, e, u, i, o, f, a, c) {
var l = t & gn,
s = l ? o : X,
h = l ? X : o,
p = l ? i : X,
v = l ? X : i;
t |= l ? dn : bn, t &= ~(l ? bn : dn), t & _n || (t &= ~(pn | vn));
var _ = [n, t, u, p, s, v, h, f, a, c],
g = r.apply(X, _);
return Fi(n) && Ls(g, _), g.placeholder = e, Xi(g, n, t)
}
function li(n) {
var t = sl[n];
return function(n, r) {
if (n = za(n), r = null == r ? 0 : Yl(Ia(r), 292)) {
var e = (Wa(n) + "e").split("e"),
u = t(e[0] + "e" + (+e[1] + r));
return e = (Wa(u) + "e").split("e"), +(e[0] + "e" + (+e[1] - r))
}
return t(n)
}
}
function si(n) {
return function(t) {
var r = Ss(t);
return r == Vn ? F(t) : r == nt ? Z(t) : z(t, n(t))
}
}
function hi(n, t, r, e, u, i, o, f) {
var a = t & vn;
if (!a && "function" != typeof n) throw new _l(en);
var c = e ? e.length : 0;
if (c || (t &= ~(dn | bn), e = u = X), o = o === X ? o : Jl(Ia(o), 0), f = f === X ? f : Ia(f), c -= u ? u.length : 0, t & bn) {
var l = e,
s = u;
e = u = X
}
var h = a ? X : Rs(n),
p = [n, t, r, e, u, l, s, i, o, f];
if (h && Vi(p, h), n = p[0], t = p[1], r = p[2], e = p[3], u = p[4], f = p[9] = p[9] === X ? a ? 0 : n.length : Jl(p[9] - c, 0), !f && t & (gn | yn) && (t &= ~(gn | yn)), t && t != pn) v = t == gn || t == yn ? Qu(n, t, f) : t != dn && t != (pn | dn) || u.length ? ti.apply(X, p) : oi(n, t, r, e);
else var v = Gu(n, t, r);
var _ = h ? js : Ls;
return Xi(_(v, p), n, t)
}
function pi(n, t, r, e) {
return n === X || Jf(n, dl[r]) && !ml.call(e, r) ? t : n
}
function vi(n, t, r, e, u, i) {
return ca(n) && ca(t) && (i.set(t, n), Ve(n, t, X, vi, i), i.delete(t)), n
}
function _i(n) {
return da(n) ? X : n
}
function gi(n, t, r, e, u, i) {
var o = r & sn,
f = n.length,
a = t.length;
if (f != a && !(o && a > f)) return !1;
var c = i.get(n);
if (c && i.get(t)) return c == t;
var l = -1,
s = !0,
h = r & hn ? new dr : X;
for (i.set(n, t), i.set(t, n); ++l < f;) {
var p = n[l],
_ = t[l];
if (e) var g = o ? e(_, p, l, t, n, i) : e(p, _, l, n, t, i);
if (g !== X) {
if (g) continue;
s = !1;
break
}
if (h) {
if (!v(t, function(n, t) {
if (!W(h, t) && (p === n || u(p, n, r, e, i))) return h.push(t)
})) {
s = !1;
break
}
} else if (p !== _ && !u(p, _, r, e, i)) {
s = !1;
break
}
}
return i.delete(n), i.delete(t), s
}
function yi(n, t, r, e, u, i, o) {
switch (r) {
case ft:
if (n.byteLength != t.byteLength || n.byteOffset != t.byteOffset) return !1;
n = n.buffer, t = t.buffer;
case ot:
return !(n.byteLength != t.byteLength || !i(new El(n), new El(t)));
case Fn:
case Nn:
case Gn:
return Jf(+n, +t);
case qn:
return n.name == t.name && n.message == t.message;
case Xn:
case tt:
return n == t + "";
case Vn:
var f = F;
case nt:
var a = e & sn;
if (f || (f = q), n.size != t.size && !a) return !1;
var c = o.get(n);
if (c) return c == t;
e |= hn, o.set(n, t);
var l = gi(f(n), f(t), e, u, i, o);
return o.delete(n), l;
case rt:
if (gs) return gs.call(n) == gs.call(t)
}
return !1
}
function di(n, t, r, e, u, i) {
var o = r & sn,
f = wi(n),
a = f.length,
c = wi(t),
l = c.length;
if (a != l && !o) return !1;
for (var s = a; s--;) {
var h = f[s];
if (!(o ? h in t : ml.call(t, h))) return !1
}
var p = i.get(n);
if (p && i.get(t)) return p == t;
var v = !0;
i.set(n, t), i.set(t, n);
for (var _ = o; ++s < a;) {
h = f[s];
var g = n[h],
y = t[h];
if (e) var d = o ? e(y, g, h, t, n, i) : e(g, y, h, n, t, i);
if (!(d === X ? g === y || u(g, y, r, e, i) : d)) {
v = !1;
break
}
_ || (_ = "constructor" == h)
}
if (v && !_) {
var b = n.constructor,
w = t.constructor;
b != w && "constructor" in n && "constructor" in t && !("function" == typeof b && b instanceof b && "function" == typeof w && w instanceof w) && (v = !1);
}
return i.delete(n), i.delete(t), v
}
function bi(n) {
return Us(Ji(n, X, go), n + "")
}
function wi(n) {
return we(n, Za, zs)
}
function mi(n) {
return we(n, Ka, Es)
}
function xi(n) {
for (var t = n.name + "", r = cs[t], e = ml.call(cs, t) ? r.length : 0; e--;) {
var u = r[e],
i = u.func;
if (null == i || i == n) return u.name
}
return t
}
function ji(n) {
var t = ml.call(K, "placeholder") ? K : n;
return t.placeholder
}
function Ai() {
var n = K.iteratee || Bc;
return n = n === Bc ? Me : n, arguments.length ? n(arguments[0], arguments[1]) : n
}
function ki(n, t) {
var r = n.__data__;
return Mi(t) ? r["string" == typeof t ? "string" : "hash"] : r.map
}
function Oi(n) {
for (var t = Za(n), r = t.length; r--;) {
var e = t[r],
u = n[e];
t[r] = [e, u, qi(u)]
}
return t
}
function Ii(n, t) {
var r = T(n, t);
return Be(r) ? r : X
}
function Ri(n) {
var t = ml.call(n, $l),
r = n[$l];
try {
n[$l] = X;
var e = !0
} catch (n) {}
var u = Al.call(n);
return e && (t ? n[$l] = r : delete n[$l]), u
}
function zi(n, t, r) {
for (var e = -1, u = r.length; ++e < u;) {
var i = r[e],
o = i.size;
switch (i.type) {
case "drop":
n += o;
break;
case "dropRight":
t -= o;
break;
case "take":
t = Yl(t, n + o);
break;
case "takeRight":
n = Jl(n, t - o)
}
}
return {
start: n,
end: t
}
}
function Ei(n) {
var t = n.match(Tt);
return t ? t[1].split($t) : []
}
function Si(n, t, r) {
t = Ou(t, n);
for (var e = -1, u = t.length, i = !1; ++e < u;) {
var o = ro(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 && aa(u) && Ti(o, u) && (mh(n) || wh(n)))
}
function Wi(n) {
var t = n.length,
r = n.constructor(t);
return t && "string" == typeof n[0] && ml.call(n, "index") && (r.index = n.index, r.input = n.input), r
}
function Li(n) {
return "function" != typeof n.constructor || Pi(n) ? {} : ds(Wl(n))
}
function Ci(n, t, r, e) {
var u = n.constructor;
switch (t) {
case ot:
return zu(n);
case Fn:
case Nn:
return new u(+n);
case ft:
return Eu(n, e);
case at:
case ct:
case lt:
case st:
case ht:
case pt:
case vt:
case _t:
case gt:
return Uu(n, e);
case Vn:
return Su(n, e, r);
case Gn:
case tt:
return new u(n);
case Xn:
return Wu(n);
case nt:
return Lu(n, e, r);
case rt:
return Cu(n)
}
}
function Ui(n, t) {
var r = t.length;
if (!r) return n;
var e = r - 1;
return t[e] = (r > 1 ? "& " : "") + t[e], t = t.join(r > 2 ? ", " : " "), n.replace(Bt, "{\n/* [wrapped with " + t + "] */\n")
}
function Bi(n) {
return mh(n) || wh(n) || !!(Bl && n && n[Bl])
}
function Ti(n, t) {
return t = null == t ? Sn : t, !!t && ("number" == typeof n || Vt.test(n)) && n > -1 && n % 1 == 0 && n < t
}
function $i(n, t, r) {
if (!ca(r)) return !1;
var e = typeof t;
return !!("number" == e ? Yf(r) && Ti(t, r.length) : "string" == e && t in r) && Jf(r[t], n)
}
function Di(n, t) {
if (mh(n)) return !1;
var r = typeof n;
return !("number" != r && "symbol" != r && "boolean" != r && null != n && !ma(n)) || (Rt.test(n) || !It.test(n) || null != t && n in hl(t))
}
function Mi(n) {
var t = typeof n;
return "string" == t || "number" == t || "symbol" == t || "boolean" == t ? "__proto__" !== n : null === n
}
function Fi(n) {
var t = xi(n),
r = K[t];
if ("function" != typeof r || !(t in Dt.prototype)) return !1;
if (n === r) return !0;
var e = Rs(r);
return !!e && n === e[0]
}
function Ni(n) {
return !!jl && jl in n
}
function Pi(n) {
var t = n && n.constructor,
r = "function" == typeof t && t.prototype || dl;
return n === r
}
function qi(n) {
return n === n && !ca(n)
}
function Zi(n, t) {
return function(r) {
return null != r && (r[n] === t && (t !== X || n in hl(r)))
}
}
function Ki(n) {
var t = Bf(n, function(n) {
return r.size === on && r.clear(), n
}),
r = t.cache;
return t
}
function Vi(n, t) {
var r = n[1],
e = t[1],
u = r | e,
i = u < (pn | vn | wn),
o = e == wn && r == gn || e == wn && r == mn && n[7].length <= t[8] || e == (wn | mn) && t[7].length <= t[8] && r == gn;
if (!i && !o) return n;
e & pn && (n[2] = t[2], u |= r & pn ? 0 : _n);
var f = t[3];
if (f) {
var a = n[3];
n[3] = a ? $u(a, f, t[4]) : f, n[4] = a ? P(n[3], fn) : t[4]
}
return f = t[5], f && (a = n[5], n[5] = a ? Du(a, f, t[6]) : f, n[6] = a ? P(n[5], fn) : t[6]), f = t[7], f && (n[7] = f), e & wn && (n[8] = null == n[8] ? t[8] : Yl(n[8], t[8])), null == n[9] && (n[9] = t[9]), n[0] = t[0], n[1] = u, n
}
function Gi(n) {
var t = [];
if (null != n)
for (var r in hl(n)) t.push(r);
return t
}
function Hi(n) {
return Al.call(n)
}
function Ji(n, t, e) {
return t = Jl(t === X ? n.length - 1 : t, 0),
function() {
for (var u = arguments, i = -1, o = Jl(u.length - t, 0), f = fl(o); ++i < o;) f[i] = u[t + i];
i = -1;
for (var a = fl(t + 1); ++i < t;) a[i] = u[i];
return a[t] = e(f), r(n, this, a)
}
}
function Yi(n, t) {
return t.length < 2 ? n : de(n, lu(t, 0, -1))
}
function Qi(n, t) {
for (var r = n.length, e = Yl(t.length, r), u = Mu(n); e--;) {
var i = t[e];
n[e] = Ti(i, r) ? u[i] : X
}
return n
}
function Xi(n, t, r) {
var e = t + "";
return Us(n, Ui(e, uo(Ei(e), r)))
}
function no(n) {
var t = 0,
r = 0;
return function() {
var e = Ql(),
u = On - (e - r);
if (r = e, u > 0) {
if (++t >= kn) return arguments[0]
} else t = 0;
return n.apply(X, arguments)
}
}
function to(n, t) {
var r = -1,
e = n.length,
u = e - 1;
for (t = t === X ? e : t; ++r < t;) {
var i = ru(r, u),
o = n[i];
n[i] = n[r], n[r] = o
}
return n.length = t, n
}
function ro(n) {
if ("string" == typeof n || ma(n)) return n;
var t = n + "";
return "0" == t && 1 / n == -En ? "-0" : t
}
function eo(n) {
if (null != n) {
try {
return wl.call(n)
} catch (n) {}
try {
return n + ""
} catch (n) {}
}
return ""
}
function uo(n, t) {
return u(Tn, function(r) {
var e = "_." + r[0];
t & r[1] && !a(n, e) && n.push(e)
}), n.sort()
}
function io(n) {
if (n instanceof Dt) return n.clone();
var t = new Y(n.__wrapped__, n.__chain__);
return t.__actions__ = Mu(n.__actions__), t.__index__ = n.__index__, t.__values__ = n.__values__, t
}
function oo(n, t, r) {
t = (r ? $i(n, t, r) : t === X) ? 1 : Jl(Ia(t), 0);
var e = null == n ? 0 : n.length;
if (!e || t < 1) return [];
for (var u = 0, i = 0, o = fl(Pl(e / t)); u < e;) o[i++] = lu(n, u, u += t);
return o
}
function fo(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
}
function ao() {
var n = arguments.length;
if (!n) return [];
for (var t = fl(n - 1), r = arguments[0], e = n; e--;) t[e - 1] = arguments[e];
return s(mh(r) ? Mu(r) : [r], ue(t, 1))
}
function co(n, t, r) {
var e = null == n ? 0 : n.length;
return e ? (t = r || t === X ? 1 : Ia(t), lu(n, t < 0 ? 0 : t, e)) : []
}
function lo(n, t, r) {
var e = null == n ? 0 : n.length;
return e ? (t = r || t === X ? 1 : Ia(t), t = e - t, lu(n, 0, t < 0 ? 0 : t)) : []
}
function so(n, t) {
return n && n.length ? wu(n, Ai(t, 3), !0, !0) : []
}
function ho(n, t) {
return n && n.length ? wu(n, Ai(t, 3), !0) : []
}
function po(n, t, r, e) {
var u = null == n ? 0 : n.length;
return u ? (r && "number" != typeof r && $i(n, t, r) && (r = 0, e = u), te(n, t, r, e)) : []
}
function vo(n, t, r) {
var e = null == n ? 0 : n.length;
if (!e) return -1;
var u = null == r ? 0 : Ia(r);
return u < 0 && (u = Jl(e + u, 0)), d(n, Ai(t, 3), u)
}
function _o(n, t, r) {
var e = null == n ? 0 : n.length;
if (!e) return -1;
var u = e - 1;
return r !== X && (u = Ia(r), u = r < 0 ? Jl(e + u, 0) : Yl(u, e - 1)), d(n, Ai(t, 3), u, !0)
}
function go(n) {
var t = null == n ? 0 : n.length;
return t ? ue(n, 1) : []
}
function yo(n) {
var t = null == n ? 0 : n.length;
return t ? ue(n, En) : []
}
function bo(n, t) {
var r = null == n ? 0 : n.length;
return r ? (t = t === X ? 1 : Ia(t), ue(n, t)) : []
}
function wo(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
}
function mo(n) {
return n && n.length ? n[0] : X
}
function xo(n, t, r) {
var e = null == n ? 0 : n.length;
if (!e) return -1;
var u = null == r ? 0 : Ia(r);
return u < 0 && (u = Jl(e + u, 0)), b(n, t, u)
}
function jo(n) {
var t = null == n ? 0 : n.length;
return t ? lu(n, 0, -1) : []
}
function Ao(n, t) {
return null == n ? "" : Gl.call(n, t)
}
function ko(n) {
var t = null == n ? 0 : n.length;
return t ? n[t - 1] : X
}
function Oo(n, t, r) {
var e = null == n ? 0 : n.length;
if (!e) return -1;
var u = e;
return r !== X && (u = Ia(r), u = u < 0 ? Jl(e + u, 0) : Yl(u, e - 1)), t === t ? V(n, t, u) : d(n, m, u, !0)
}
function Io(n, t) {
return n && n.length ? He(n, Ia(t)) : X
}
function Ro(n, t) {
return n && n.length && t && t.length ? nu(n, t) : n
}
function zo(n, t, r) {
return n && n.length && t && t.length ? nu(n, t, Ai(r, 2)) : n
}
function Eo(n, t, r) {
return n && n.length && t && t.length ? nu(n, t, X, r) : n
}
function So(n, t) {
var r = [];
if (!n || !n.length) return r;
var e = -1,
u = [],
i = n.length;
for (t = Ai(t, 3); ++e < i;) {
var o = n[e];
t(o, e, n) && (r.push(o), u.push(e))
}
return tu(n, u), r
}
function Wo(n) {
return null == n ? n : ts.call(n)
}
function Lo(n, t, r) {
var e = null == n ? 0 : n.length;
return e ? (r && "number" != typeof r && $i(n, t, r) ? (t = 0, r = e) : (t = null == t ? 0 : Ia(t), r = r === X ? e : Ia(r)), lu(n, t, r)) : []
}
function Co(n, t) {
return hu(n, t)
}
function Uo(n, t, r) {
return pu(n, t, Ai(r, 2))
}
function Bo(n, t) {
var r = null == n ? 0 : n.length;
if (r) {
var e = hu(n, t);
if (e < r && Jf(n[e], t)) return e
}
return -1
}
function To(n, t) {
return hu(n, t, !0)
}
function $o(n, t, r) {
return pu(n, t, Ai(r, 2), !0)
}
function Do(n, t) {
var r = null == n ? 0 : n.length;
if (r) {
var e = hu(n, t, !0) - 1;
if (Jf(n[e], t)) return e
}
return -1
}
function Mo(n) {
return n && n.length ? vu(n) : []
}
function Fo(n, t) {
return n && n.length ? vu(n, Ai(t, 2)) : []
}
function No(n) {
var t = null == n ? 0 : n.length;
return t ? lu(n, 1, t) : []
}
function Po(n, t, r) {
return n && n.length ? (t = r || t === X ? 1 : Ia(t), lu(n, 0, t < 0 ? 0 : t)) : []
}
function qo(n, t, r) {
var e = null == n ? 0 : n.length;
return e ? (t = r || t === X ? 1 : Ia(t), t = e - t, lu(n, t < 0 ? 0 : t, e)) : []
}
function Zo(n, t) {
return n && n.length ? wu(n, Ai(t, 3), !1, !0) : []
}
function Ko(n, t) {
return n && n.length ? wu(n, Ai(t, 3)) : []
}
function Vo(n) {
return n && n.length ? yu(n) : []
}
function Go(n, t) {
return n && n.length ? yu(n, Ai(t, 2)) : []
}
function Ho(n, t) {
return t = "function" == typeof t ? t : X, n && n.length ? yu(n, X, t) : []
}
function Jo(n) {
if (!n || !n.length) return [];
var t = 0;
return n = f(n, function(n) {
if (Qf(n)) return t = Jl(n.length, t), !0
}), R(t, function(t) {
return l(n, j(t))
})
}
function Yo(n, t) {
if (!n || !n.length) return [];
var e = Jo(n);
return null == t ? e : l(e, function(n) {
return r(t, X, n)
})
}
function Qo(n, t) {
return ju(n || [], t || [], Wr)
}
function Xo(n, t) {
return ju(n || [], t || [], au)
}
function nf(n) {
var t = K(n);
return t.__chain__ = !0, t
}
function tf(n, t) {
return t(n), n
}
function rf(n, t) {
return t(n)
}
function ef() {
return nf(this)
}
function uf() {
return new Y(this.value(), this.__chain__)
}
function of() {
this.__values__ === X && (this.__values__ = ka(this.value()));
var n = this.__index__ >= this.__values__.length,
t = n ? X : this.__values__[this.__index__++];
return {
done: n,
value: t
}
}
function ff() {
return this
}
function af(n) {
for (var t, r = this; r instanceof J;) {
var e = io(r);
e.__index__ = 0, e.__values__ = X, t ? u.__wrapped__ = e : t = e;
var u = e;
r = r.__wrapped__
}
return u.__wrapped__ = n, t
}
function cf() {
var n = this.__wrapped__;
if (n instanceof Dt) {
var t = n;
return this.__actions__.length && (t = new Dt(this)), t = t.reverse(), t.__actions__.push({
func: rf,
args: [Wo],
thisArg: X
}), new Y(t, this.__chain__)
}
return this.thru(Wo)
}
function lf() {
return mu(this.__wrapped__, this.__actions__)
}
function sf(n, t, r) {
var e = mh(n) ? o : Yr;
return r && $i(n, t, r) && (t = X), e(n, Ai(t, 3))
}
function hf(n, t) {
var r = mh(n) ? f : ee;
return r(n, Ai(t, 3))
}
function pf(n, t) {
return ue(bf(n, t), 1)
}
function vf(n, t) {
return ue(bf(n, t), En)
}
function _f(n, t, r) {
return r = r === X ? 1 : Ia(r), ue(bf(n, t), r)
}
function gf(n, t) {
var r = mh(n) ? u : bs;
return r(n, Ai(t, 3))
}
function yf(n, t) {
var r = mh(n) ? i : ws;
return r(n, Ai(t, 3))
}
function df(n, t, r, e) {
n = Yf(n) ? n : uc(n), r = r && !e ? Ia(r) : 0;
var u = n.length;
return r < 0 && (r = Jl(u + r, 0)), wa(n) ? r <= u && n.indexOf(t, r) > -1 : !!u && b(n, t, r) > -1
}
function bf(n, t) {
var r = mh(n) ? l : qe;
return r(n, Ai(t, 3))
}
function wf(n, t, r, e) {
return null == n ? [] : (mh(t) || (t = null == t ? [] : [t]), r = e ? X : r, mh(r) || (r = null == r ? [] : [r]), Je(n, t, r))
}
function mf(n, t, r) {
var e = mh(n) ? h : k,
u = arguments.length < 3;
return e(n, Ai(t, 4), r, u, bs)
}
function xf(n, t, r) {
var e = mh(n) ? p : k,
u = arguments.length < 3;
return e(n, Ai(t, 4), r, u, ws)
}
function jf(n, t) {
var r = mh(n) ? f : ee;
return r(n, Tf(Ai(t, 3)))
}
function Af(n) {
var t = mh(n) ? Rr : ou;
return t(n)
}
function kf(n, t, r) {
t = (r ? $i(n, t, r) : t === X) ? 1 : Ia(t);
var e = mh(n) ? zr : fu;
return e(n, t)
}
function Of(n) {
var t = mh(n) ? Er : cu;
return t(n)
}
function If(n) {
if (null == n) return 0;
if (Yf(n)) return wa(n) ? G(n) : n.length;
var t = Ss(n);
return t == Vn || t == nt ? n.size : Fe(n).length
}
function Rf(n, t, r) {
var e = mh(n) ? v : su;
return r && $i(n, t, r) && (t = X), e(n, Ai(t, 3))
}
function zf(n, t) {
if ("function" != typeof t) throw new _l(en);
return n = Ia(n),
function() {
if (--n < 1) return t.apply(this, arguments)
}
}
function Ef(n, t, r) {
return t = r ? X : t, t = n && null == t ? n.length : t, hi(n, wn, X, X, X, X, t)
}
function Sf(n, t) {
var r;
if ("function" != typeof t) throw new _l(en);
return n = Ia(n),
function() {
return --n > 0 && (r = t.apply(this, arguments)), n <= 1 && (t = X), r
}
}
function Wf(n, t, r) {
t = r ? X : t;
var e = hi(n, gn, X, X, X, X, X, t);
return e.placeholder = Wf.placeholder, e
}
function Lf(n, t, r) {
t = r ? X : t;
var e = hi(n, yn, X, X, X, X, X, t);
return e.placeholder = Lf.placeholder, e
}
function Cf(n, t, r) {
function e(t) {
var r = h,
e = p;
return h = p = X, d = t, _ = n.apply(e, r)
}
function u(n) {
return d = n, g = Cs(f, t), b ? e(n) : _
}
function i(n) {
var r = n - y,
e = n - d,
u = t - r;
return w ? Yl(u, v - e) : u
}
function o(n) {
var r = n - y,
e = n - d;
return y === X || r >= t || r < 0 || w && e >= v
}
function f() {
var n = ch();
return o(n) ? a(n) : void(g = Cs(f, i(n)))
}
function a(n) {
return g = X, m && h ? e(n) : (h = p = X, _)
}
function c() {
g !== X && Os(g), d = 0, h = y = p = g = X
}
function l() {
return g === X ? _ : a(ch())
}
function s() {
var n = ch(),
r = o(n);
if (h = arguments, p = this, y = n, r) {
if (g === X) return u(y);
if (w) return g = Cs(f, t), e(y)
}
return g === X && (g = Cs(f, t)), _
}
var h, p, v, _, g, y, d = 0,
b = !1,
w = !1,
m = !0;
if ("function" != typeof n) throw new _l(en);
return t = za(t) || 0, ca(r) && (b = !!r.leading, w = "maxWait" in r, v = w ? Jl(za(r.maxWait) || 0, t) : v, m = "trailing" in r ? !!r.trailing : m), s.cancel = c, s.flush = l, s
}
function Uf(n) {
return hi(n, xn)
}
function Bf(n, t) {
if ("function" != typeof n || null != t && "function" != typeof t) throw new _l(en);
var r = function() {
var e = arguments,
u = t ? t.apply(this, e) : e[0],
i = r.cache;
if (i.has(u)) return i.get(u);
var o = n.apply(this, e);
return r.cache = i.set(u, o) || i, o
};
return r.cache = new(Bf.Cache || hr), r
}
function Tf(n) {
if ("function" != typeof n) throw new _l(en);
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 $f(n) {
return Sf(2, n)
}
function Df(n, t) {
if ("function" != typeof n) throw new _l(en);
return t = t === X ? t : Ia(t), iu(n, t)
}
function Mf(n, t) {
if ("function" != typeof n) throw new _l(en);
return t = null == t ? 0 : Jl(Ia(t), 0), iu(function(e) {
var u = e[t],
i = Iu(e, 0, t);
return u && s(i, u), r(n, this, i)
})
}
function Ff(n, t, r) {
var e = !0,
u = !0;
if ("function" != typeof n) throw new _l(en);
return ca(r) && (e = "leading" in r ? !!r.leading : e, u = "trailing" in r ? !!r.trailing : u), Cf(n, t, {
leading: e,
maxWait: t,
trailing: u
})
}
function Nf(n) {
return Ef(n, 1)
}
function Pf(n, t) {
return _h(ku(t), n)
}
function qf() {
if (!arguments.length) return [];
var n = arguments[0];
return mh(n) ? n : [n]
}
function Zf(n) {
return Nr(n, ln)
}
function Kf(n, t) {
return t = "function" == typeof t ? t : X, Nr(n, ln, t)
}
function Vf(n) {
return Nr(n, an | ln)
}
function Gf(n, t) {
return t = "function" == typeof t ? t : X, Nr(n, an | ln, t)
}
function Hf(n, t) {
return null == t || Gr(n, t, Za(t))
}
function Jf(n, t) {
return n === t || n !== n && t !== t
}
function Yf(n) {
return null != n && aa(n.length) && !oa(n)
}
function Qf(n) {
return la(n) && Yf(n)
}
function Xf(n) {
return n === !0 || n === !1 || la(n) && me(n) == Fn
}
function na(n) {
return la(n) && 1 === n.nodeType && !da(n)
}
function ta(n) {
if (null == n) return !0;
if (Yf(n) && (mh(n) || "string" == typeof n || "function" == typeof n.splice || jh(n) || Rh(n) || wh(n))) return !n.length;
var t = Ss(n);
if (t == Vn || t == nt) return !n.size;
if (Pi(n)) return !Fe(n).length;
for (var r in n)
if (ml.call(n, r)) return !1;
return !0
}
function ra(n, t) {
return We(n, t)
}
function ea(n, t, r) {
r = "function" == typeof r ? r : X;
var e = r ? r(n, t) : X;
return e === X ? We(n, t, X, r) : !!e
}
function ua(n) {
if (!la(n)) return !1;
var t = me(n);
return t == qn || t == Pn || "string" == typeof n.message && "string" == typeof n.name && !da(n)
}
function ia(n) {
return "number" == typeof n && Vl(n)
}
function oa(n) {
if (!ca(n)) return !1;
var t = me(n);
return t == Zn || t == Kn || t == Mn || t == Qn
}
function fa(n) {
return "number" == typeof n && n == Ia(n)
}
function aa(n) {
return "number" == typeof n && n > -1 && n % 1 == 0 && n <= Sn
}
function ca(n) {
var t = typeof n;
return null != n && ("object" == t || "function" == t)
}
function la(n) {
return null != n && "object" == typeof n
}
function sa(n, t) {
return n === t || Ue(n, t, Oi(t))
}
function ha(n, t, r) {
return r = "function" == typeof r ? r : X, Ue(n, t, Oi(t), r)
}
function pa(n) {
return ya(n) && n != +n
}
function va(n) {
if (Ws(n)) throw new cl(rn);
return Be(n)
}
function _a(n) {
return null === n
}
function ga(n) {
return null == n
}
function ya(n) {
return "number" == typeof n || la(n) && me(n) == Gn
}
function da(n) {
if (!la(n) || me(n) != Jn) return !1;
var t = Wl(n);
if (null === t) return !0;
var r = ml.call(t, "constructor") && t.constructor;
return "function" == typeof r && r instanceof r && wl.call(r) == kl
}
function ba(n) {
return fa(n) && n >= -Sn && n <= Sn
}
function wa(n) {
return "string" == typeof n || !mh(n) && la(n) && me(n) == tt
}
function ma(n) {
return "symbol" == typeof n || la(n) && me(n) == rt
}
function xa(n) {
return n === X
}
function ja(n) {
return la(n) && Ss(n) == ut
}
function Aa(n) {
return la(n) && me(n) == it
}
function ka(n) {
if (!n) return [];
if (Yf(n)) return wa(n) ? H(n) : Mu(n);
if (Tl && n[Tl]) return M(n[Tl]());
var t = Ss(n),
r = t == Vn ? F : t == nt ? q : uc;
return r(n)
}
function Oa(n) {
if (!n) return 0 === n ? n : 0;
if (n = za(n), n === En || n === -En) {
var t = n < 0 ? -1 : 1;
return t * Wn
}
return n === n ? n : 0
}
function Ia(n) {
var t = Oa(n),
r = t % 1;
return t === t ? r ? t - r : t : 0
}
function Ra(n) {
return n ? Fr(Ia(n), 0, Cn) : 0
}
function za(n) {
if ("number" == typeof n) return n;
if (ma(n)) return Ln;
if (ca(n)) {
var t = "function" == typeof n.valueOf ? n.valueOf() : n;
n = ca(t) ? t + "" : t
}
if ("string" != typeof n) return 0 === n ? n : +n;
n = n.replace(Lt, "");
var r = qt.test(n);
return r || Kt.test(n) ? Xr(n.slice(2), r ? 2 : 8) : Pt.test(n) ? Ln : +n
}
function Ea(n) {
return Fu(n, Ka(n))
}
function Sa(n) {
return n ? Fr(Ia(n), -Sn, Sn) : 0 === n ? n : 0
}
function Wa(n) {
return null == n ? "" : gu(n)
}
function La(n, t) {
var r = ds(n);
return null == t ? r : Ur(r, t)
}
function Ca(n, t) {
return y(n, Ai(t, 3), oe)
}
function Ua(n, t) {
return y(n, Ai(t, 3), fe)
}
function Ba(n, t) {
return null == n ? n : ms(n, Ai(t, 3), Ka)
}
function Ta(n, t) {
return null == n ? n : xs(n, Ai(t, 3), Ka)
}
function $a(n, t) {
return n && oe(n, Ai(t, 3))
}
function Da(n, t) {
return n && fe(n, Ai(t, 3))
}
function Ma(n) {
return null == n ? [] : ve(n, Za(n))
}
function Fa(n) {
return null == n ? [] : ve(n, Ka(n))
}
function Na(n, t, r) {
var e = null == n ? X : de(n, t);
return e === X ? r : e
}
function Pa(n, t) {
return null != n && Si(n, t, je)
}
function qa(n, t) {
return null != n && Si(n, t, Ae)
}
function Za(n) {
return Yf(n) ? Ir(n) : Fe(n)
}
function Ka(n) {
return Yf(n) ? Ir(n, !0) : Ne(n)
}
function Va(n, t) {
var r = {};
return t = Ai(t, 3), oe(n, function(n, e, u) {
Tr(r, t(n, e, u), n)
}), r
}
function Ga(n, t) {
var r = {};
return t = Ai(t, 3), oe(n, function(n, e, u) {
Tr(r, e, t(n, e, u))
}), r
}
function Ha(n, t) {
return Ja(n, Tf(Ai(t)))
}
function Ja(n, t) {
if (null == n) return {};
var r = l(mi(n), function(n) {
return [n]
});
return t = Ai(t), Qe(n, r, function(n, r) {
return t(n, r[0])
})
}
function Ya(n, t, r) {
t = Ou(t, n);
var e = -1,
u = t.length;
for (u || (u = 1, n = X); ++e < u;) {
var i = null == n ? X : n[ro(t[e])];
i === X && (e = u, i = r), n = oa(i) ? i.call(n) : i
}
return n
}
function Qa(n, t, r) {
return null == n ? n : au(n, t, r)
}
function Xa(n, t, r, e) {
return e = "function" == typeof e ? e : X, null == n ? n : au(n, t, r, e)
}
function nc(n, t, r) {
var e = mh(n),
i = e || jh(n) || Rh(n);
if (t = Ai(t, 4), null == r) {
var o = n && n.constructor;
r = i ? e ? new o : [] : ca(n) && oa(o) ? ds(Wl(n)) : {}
}
return (i ? u : oe)(n, function(n, e, u) {
return t(r, n, e, u)
}), r
}
function tc(n, t) {
return null == n || du(n, t)
}
function rc(n, t, r) {
return null == n ? n : bu(n, t, ku(r))
}
function ec(n, t, r, e) {
return e = "function" == typeof e ? e : X, null == n ? n : bu(n, t, ku(r), e)
}
function uc(n) {
return null == n ? [] : S(n, Za(n))
}
function ic(n) {
return null == n ? [] : S(n, Ka(n))
}
function oc(n, t, r) {
return r === X && (r = t, t = X), r !== X && (r = za(r), r = r === r ? r : 0), t !== X && (t = za(t), t = t === t ? t : 0), Fr(za(n), t, r)
}
function fc(n, t, r) {
return t = Oa(t), r === X ? (r = t, t = 0) : r = Oa(r), n = za(n), ke(n, t, r)
}
function ac(n, t, r) {
if (r && "boolean" != typeof r && $i(n, t, r) && (t = r = X), r === X && ("boolean" == typeof t ? (r = t, t = X) : "boolean" == typeof n && (r = n, n = X)), n === X && t === X ? (n = 0, t = 1) : (n = Oa(n), t === X ? (t = n, n = 0) : t = Oa(t)), n > t) {
var e = n;
n = t, t = e
}
if (r || n % 1 || t % 1) {
var u = ns();
return Yl(n + u * (t - n + Qr("1e-" + ((u + "").length - 1))), t)
}
return ru(n, t)
}
function cc(n) {
return np(Wa(n).toLowerCase())
}
function lc(n) {
return n = Wa(n), n && n.replace(Gt, _e).replace(Dr, "")
}
function sc(n, t, r) {
n = Wa(n), t = gu(t);
var e = n.length;
r = r === X ? e : Fr(Ia(r), 0, e);
var u = r;
return r -= t.length, r >= 0 && n.slice(r, u) == t
}
function hc(n) {
return n = Wa(n), n && jt.test(n) ? n.replace(mt, ge) : n
}
function pc(n) {
return n = Wa(n), n && Wt.test(n) ? n.replace(St, "\\$&") : n
}
function vc(n, t, r) {
n = Wa(n), t = Ia(t);
var e = t ? G(n) : 0;
if (!t || e >= t) return n;
var u = (t - e) / 2;
return ii(ql(u), r) + n + ii(Pl(u), r)
}
function _c(n, t, r) {
n = Wa(n), t = Ia(t);
var e = t ? G(n) : 0;
return t && e < t ? n + ii(t - e, r) : n
}
function gc(n, t, r) {
n = Wa(n), t = Ia(t);
var e = t ? G(n) : 0;
return t && e < t ? ii(t - e, r) + n : n
}
function yc(n, t, r) {
return r || null == t ? t = 0 : t && (t = +t), Xl(Wa(n).replace(Ct, ""), t || 0)
}
function dc(n, t, r) {
return t = (r ? $i(n, t, r) : t === X) ? 1 : Ia(t), uu(Wa(n), t)
}
function bc() {
var n = arguments,
t = Wa(n[0]);
return n.length < 3 ? t : t.replace(n[1], n[2])
}
function wc(n, t, r) {
return r && "number" != typeof r && $i(n, t, r) && (t = r = X), (r = r === X ? Cn : r >>> 0) ? (n = Wa(n), n && ("string" == typeof t || null != t && !Oh(t)) && (t = gu(t), !t && $(n)) ? Iu(H(n), 0, r) : n.split(t, r)) : []
}
function mc(n, t, r) {
return n = Wa(n), r = null == r ? 0 : Fr(Ia(r), 0, n.length), t = gu(t), n.slice(r, r + t.length) == t
}
function xc(n, t, r) {
var e = K.templateSettings;
r && $i(n, t, r) && (t = X), n = Wa(n), t = Lh({}, t, e, pi);
var u, i, o = Lh({}, t.imports, e.imports, pi),
f = Za(o),
a = S(o, f),
c = 0,
l = t.interpolate || Ht,
s = "__p += '",
h = pl((t.escape || Ht).source + "|" + l.source + "|" + (l === Ot ? Ft : Ht).source + "|" + (t.evaluate || Ht).source + "|$", "g"),
p = "//# sourceURL=" + ("sourceURL" in t ? t.sourceURL : "lodash.templateSources[" + ++Zr + "]") + "\n";
n.replace(h, function(t, r, e, o, f, a) {
return e || (e = o), s += n.slice(c, a).replace(Jt, B), r && (u = !0, s += "' +\n__e(" + r + ") +\n'"), f && (i = !0, s += "';\n" + f + ";\n__p += '"), e && (s += "' +\n((__t = (" + e + ")) == null ? '' : __t) +\n'"), c = a + t.length, t
}), s += "';\n";
var v = t.variable;
v || (s = "with (obj) {\n" + s + "\n}\n"), s = (i ? s.replace(yt, "") : s).replace(dt, "$1").replace(bt, "$1;"), s = "function(" + (v || "obj") + ") {\n" + (v ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (u ? ", __e = _.escape" : "") + (i ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + s + "return __p\n}";
var _ = tp(function() {
return ll(f, p + "return " + s).apply(X, a)
});
if (_.source = s, ua(_)) throw _;
return _
}
function jc(n) {
return Wa(n).toLowerCase()
}
function Ac(n) {
return Wa(n).toUpperCase()
}
function kc(n, t, r) {
if (n = Wa(n), n && (r || t === X)) return n.replace(Lt, "");
if (!n || !(t = gu(t))) return n;
var e = H(n),
u = H(t),
i = L(e, u),
o = C(e, u) + 1;
return Iu(e, i, o).join("")
}
function Oc(n, t, r) {
if (n = Wa(n), n && (r || t === X)) return n.replace(Ut, "");
if (!n || !(t = gu(t))) return n;
var e = H(n),
u = C(e, H(t)) + 1;
return Iu(e, 0, u).join("")
}
function Ic(n, t, r) {
if (n = Wa(n), n && (r || t === X)) return n.replace(Ct, "");
if (!n || !(t = gu(t))) return n;
var e = H(n),
u = L(e, H(t));
return Iu(e, u).join("")
}
function Rc(n, t) {
var r = jn,
e = An;
if (ca(t)) {
var u = "separator" in t ? t.separator : u;
r = "length" in t ? Ia(t.length) : r, e = "omission" in t ? gu(t.omission) : e
}
n = Wa(n);
var i = n.length;
if ($(n)) {
var o = H(n);
i = o.length
}
if (r >= i) return n;
var f = r - G(e);
if (f < 1) return e;
var a = o ? Iu(o, 0, f).join("") : n.slice(0, f);
if (u === X) return a + e;
if (o && (f += a.length - f), Oh(u)) {
if (n.slice(f).search(u)) {
var c, l = a;
for (u.global || (u = pl(u.source, Wa(Nt.exec(u)) + "g")), u.lastIndex = 0; c = u.exec(l);) var s = c.index;
a = a.slice(0, s === X ? f : s)
}
} else if (n.indexOf(gu(u), f) != f) {
var h = a.lastIndexOf(u);
h > -1 && (a = a.slice(0, h))
}
return a + e
}
function zc(n) {
return n = Wa(n), n && xt.test(n) ? n.replace(wt, ye) : n
}
function Ec(n, t, r) {
return n = Wa(n), t = r ? X : t, t === X ? D(n) ? Q(n) : g(n) : n.match(t) || []
}
function Sc(n) {
var t = null == n ? 0 : n.length,
e = Ai();
return n = t ? l(n, function(n) {
if ("function" != typeof n[1]) throw new _l(en);
return [e(n[0]), n[1]]
}) : [], iu(function(e) {
for (var u = -1; ++u < t;) {
var i = n[u];
if (r(i[0], this, e)) return r(i[1], this, e)
}
})
}
function Wc(n) {
return Pr(Nr(n, an))
}
function Lc(n) {
return function() {
return n
}
}
function Cc(n, t) {
return null == n || n !== n ? t : n
}
function Uc(n) {
return n
}
function Bc(n) {
return Me("function" == typeof n ? n : Nr(n, an))
}
function Tc(n) {
return Ze(Nr(n, an))
}
function $c(n, t) {
return Ke(n, Nr(t, an))
}
function Dc(n, t, r) {
var e = Za(t),
i = ve(t, e);
null != r || ca(t) && (i.length || !e.length) || (r = t, t = n, n = this, i = ve(t, Za(t)));
var o = !(ca(r) && "chain" in r && !r.chain),
f = oa(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__),
u = r.__actions__ = Mu(this.__actions__);
return u.push({
func: e,
args: arguments,
thisArg: n
}), r.__chain__ = t, r
}
return e.apply(n, s([this.value()], arguments))
})
}), n
}
function Mc() {
return re._ === this && (re._ = Ol), this
}
function Fc() {}
function Nc(n) {
return n = Ia(n), iu(function(t) {
return He(t, n)
})
}
function Pc(n) {
return Di(n) ? j(ro(n)) : Xe(n)
}
function qc(n) {
return function(t) {
return null == n ? X : de(n, t)
}
}
function Zc() {
return []
}
function Kc() {
return !1
}
function Vc() {
return {}
}
function Gc() {
return ""
}
function Hc() {
return !0
}
function Jc(n, t) {
if (n = Ia(n), n < 1 || n > Sn) return [];
var r = Cn,
e = Yl(n, Cn);
t = Ai(t), n -= Cn;
for (var u = R(e, t); ++r < n;) t(r);
return u
}
function Yc(n) {
return mh(n) ? l(n, ro) : ma(n) ? [n] : Mu(Bs(Wa(n)))
}
function Qc(n) {
var t = ++xl;
return Wa(n) + t
}
function Xc(n) {
return n && n.length ? ne(n, Uc, xe) : X
}
function nl(n, t) {
return n && n.length ? ne(n, Ai(t, 2), xe) : X
}
function tl(n) {
return x(n, Uc)
}
function rl(n, t) {
return x(n, Ai(t, 2))
}
function el(n) {
return n && n.length ? ne(n, Uc, Pe) : X
}
function ul(n, t) {
return n && n.length ? ne(n, Ai(t, 2), Pe) : X
}
function il(n) {
return n && n.length ? I(n, Uc) : 0
}
function ol(n, t) {
return n && n.length ? I(n, Ai(t, 2)) : 0
}
A = null == A ? re : be.defaults(re.Object(), A, be.pick(re, qr));
var fl = A.Array,
al = A.Date,
cl = A.Error,
ll = A.Function,
sl = A.Math,
hl = A.Object,
pl = A.RegExp,
vl = A.String,
_l = A.TypeError,
gl = fl.prototype,
yl = ll.prototype,
dl = hl.prototype,
bl = A["__core-js_shared__"],
wl = yl.toString,
ml = dl.hasOwnProperty,
xl = 0,
jl = function() {
var n = /[^.]+$/.exec(bl && bl.keys && bl.keys.IE_PROTO || "");
return n ? "Symbol(src)_1." + n : ""
}(),
Al = dl.toString,
kl = wl.call(hl),
Ol = re._,
Il = pl("^" + wl.call(ml).replace(St, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
Rl = ie ? A.Buffer : X,
zl = A.Symbol,
El = A.Uint8Array,
Sl = Rl ? Rl.allocUnsafe : X,
Wl = N(hl.getPrototypeOf, hl),
Ll = hl.create,
Cl = dl.propertyIsEnumerable,
Ul = gl.splice,
Bl = zl ? zl.isConcatSpreadable : X,
Tl = zl ? zl.iterator : X,
$l = zl ? zl.toStringTag : X,
Dl = function() {
try {
var n = Ii(hl, "defineProperty");
return n({}, "", {}), n
} catch (n) {}
}(),
Ml = A.clearTimeout !== re.clearTimeout && A.clearTimeout,
Fl = al && al.now !== re.Date.now && al.now,
Nl = A.setTimeout !== re.setTimeout && A.setTimeout,
Pl = sl.ceil,
ql = sl.floor,
Zl = hl.getOwnPropertySymbols,
Kl = Rl ? Rl.isBuffer : X,
Vl = A.isFinite,
Gl = gl.join,
Hl = N(hl.keys, hl),
Jl = sl.max,
Yl = sl.min,
Ql = al.now,
Xl = A.parseInt,
ns = sl.random,
ts = gl.reverse,
rs = Ii(A, "DataView"),
es = Ii(A, "Map"),
us = Ii(A, "Promise"),
is = Ii(A, "Set"),
os = Ii(A, "WeakMap"),
fs = Ii(hl, "create"),
as = os && new os,
cs = {},
ls = eo(rs),
ss = eo(es),
hs = eo(us),
ps = eo(is),
vs = eo(os),
_s = zl ? zl.prototype : X,
gs = _s ? _s.valueOf : X,
ys = _s ? _s.toString : X,
ds = function() {
function n() {}
return function(t) {
if (!ca(t)) return {};
if (Ll) return Ll(t);
n.prototype = t;
var r = new n;
return n.prototype = X, r
}
}();
K.templateSettings = {
escape: At,
evaluate: kt,
interpolate: Ot,
variable: "",
imports: {
_: K
}
}, K.prototype = J.prototype, K.prototype.constructor = K, Y.prototype = ds(J.prototype), Y.prototype.constructor = Y, Dt.prototype = ds(J.prototype), Dt.prototype.constructor = Dt, nr.prototype.clear = tr, nr.prototype.delete = rr, nr.prototype.get = er, nr.prototype.has = ur, nr.prototype.set = ir, or.prototype.clear = fr, or.prototype.delete = ar, or.prototype.get = cr, or.prototype.has = lr, or.prototype.set = sr, hr.prototype.clear = pr, hr.prototype.delete = vr, hr.prototype.get = _r, hr.prototype.has = gr, hr.prototype.set = yr, dr.prototype.add = dr.prototype.push = br, dr.prototype.has = wr, mr.prototype.clear = xr, mr.prototype.delete = jr, mr.prototype.get = Ar, mr.prototype.has = kr, mr.prototype.set = Or;
var bs = Ku(oe),
ws = Ku(fe, !0),
ms = Vu(),
xs = Vu(!0),
js = as ? function(n, t) {
return as.set(n, t), n
} : Uc,
As = Dl ? function(n, t) {
return Dl(n, "toString", {
configurable: !0,
enumerable: !1,
value: Lc(t),
writable: !0
})
} : Uc,
ks = iu,
Os = Ml || function(n) {
return re.clearTimeout(n)
},
Is = is && 1 / q(new is([, -0]))[1] == En ? function(n) {
return new is(n)
} : Fc,
Rs = as ? function(n) {
return as.get(n)
} : Fc,
zs = Zl ? function(n) {
return null == n ? [] : (n = hl(n), f(Zl(n), function(t) {
return Cl.call(n, t)
}))
} : Zc,
Es = Zl ? function(n) {
for (var t = []; n;) s(t, zs(n)), n = Wl(n);
return t
} : Zc,
Ss = me;
(rs && Ss(new rs(new ArrayBuffer(1))) != ft || es && Ss(new es) != Vn || us && Ss(us.resolve()) != Yn || is && Ss(new is) != nt || os && Ss(new os) != ut) && (Ss = function(n) {
var t = me(n),
r = t == Jn ? n.constructor : X,
e = r ? eo(r) : "";
if (e) switch (e) {
case ls:
return ft;
case ss:
return Vn;
case hs:
return Yn;
case ps:
return nt;
case vs:
return ut
}
return t
});
var Ws = bl ? oa : Kc,
Ls = no(js),
Cs = Nl || function(n, t) {
return re.setTimeout(n, t)
},
Us = no(As),
Bs = Ki(function(n) {
var t = [];
return zt.test(n) && t.push(""), n.replace(Et, function(n, r, e, u) {
t.push(e ? u.replace(Mt, "$1") : r || n)
}), t
}),
Ts = iu(function(n, t) {
return Qf(n) ? Jr(n, ue(t, 1, Qf, !0)) : []
}),
$s = iu(function(n, t) {
var r = ko(t);
return Qf(r) && (r = X), Qf(n) ? Jr(n, ue(t, 1, Qf, !0), Ai(r, 2)) : []
}),
Ds = iu(function(n, t) {
var r = ko(t);
return Qf(r) && (r = X), Qf(n) ? Jr(n, ue(t, 1, Qf, !0), X, r) : []
}),
Ms = iu(function(n) {
var t = l(n, Au);
return t.length && t[0] === n[0] ? Oe(t) : []
}),
Fs = iu(function(n) {
var t = ko(n),
r = l(n, Au);
return t === ko(r) ? t = X : r.pop(), r.length && r[0] === n[0] ? Oe(r, Ai(t, 2)) : []
}),
Ns = iu(function(n) {
var t = ko(n),
r = l(n, Au);
return t = "function" == typeof t ? t : X, t && r.pop(), r.length && r[0] === n[0] ? Oe(r, X, t) : []
}),
Ps = iu(Ro),
qs = bi(function(n, t) {
var r = null == n ? 0 : n.length,
e = Mr(n, t);
return tu(n, l(t, function(n) {
return Ti(n, r) ? +n : n
}).sort(Bu)), e
}),
Zs = iu(function(n) {
return yu(ue(n, 1, Qf, !0))
}),
Ks = iu(function(n) {
var t = ko(n);
return Qf(t) && (t = X), yu(ue(n, 1, Qf, !0), Ai(t, 2))
}),
Vs = iu(function(n) {
var t = ko(n);
return t = "function" == typeof t ? t : X, yu(ue(n, 1, Qf, !0), X, t)
}),
Gs = iu(function(n, t) {
return Qf(n) ? Jr(n, t) : []
}),
Hs = iu(function(n) {
return xu(f(n, Qf))
}),
Js = iu(function(n) {
var t = ko(n);
return Qf(t) && (t = X), xu(f(n, Qf), Ai(t, 2))
}),
Ys = iu(function(n) {
var t = ko(n);
return t = "function" == typeof t ? t : X, xu(f(n, Qf), X, t)
}),
Qs = iu(Jo),
Xs = iu(function(n) {
var t = n.length,
r = t > 1 ? n[t - 1] : X;
return r = "function" == typeof r ? (n.pop(), r) : X, Yo(n, r)
}),
nh = bi(function(n) {
var t = n.length,
r = t ? n[0] : 0,
e = this.__wrapped__,
u = function(t) {
return Mr(t, n)
};
return !(t > 1 || this.__actions__.length) && e instanceof Dt && Ti(r) ? (e = e.slice(r, +r + (t ? 1 : 0)), e.__actions__.push({
func: rf,
args: [u],
thisArg: X
}), new Y(e, this.__chain__).thru(function(n) {
return t && !n.length && n.push(X), n
})) : this.thru(u)
}),
th = qu(function(n, t, r) {
ml.call(n, r) ? ++n[r] : Tr(n, r, 1)
}),
rh = Xu(vo),
eh = Xu(_o),
uh = qu(function(n, t, r) {
ml.call(n, r) ? n[r].push(t) : Tr(n, r, [t])
}),
ih = iu(function(n, t, e) {
var u = -1,
i = "function" == typeof t,
o = Yf(n) ? fl(n.length) : [];
return bs(n, function(n) {
o[++u] = i ? r(t, n, e) : Re(n, t, e)
}), o
}),
oh = qu(function(n, t, r) {
Tr(n, r, t)
}),
fh = qu(function(n, t, r) {
n[r ? 0 : 1].push(t)
}, function() {
return [
[],
[]
]
}),
ah = iu(function(n, t) {
if (null == n) return [];
var r = t.length;
return r > 1 && $i(n, t[0], t[1]) ? t = [] : r > 2 && $i(t[0], t[1], t[2]) && (t = [t[0]]), Je(n, ue(t, 1), [])
}),
ch = Fl || function() {
return re.Date.now()
},
lh = iu(function(n, t, r) {
var e = pn;
if (r.length) {
var u = P(r, ji(lh));
e |= dn
}
return hi(n, e, t, r, u)
}),
sh = iu(function(n, t, r) {
var e = pn | vn;
if (r.length) {
var u = P(r, ji(sh));
e |= dn
}
return hi(t, e, n, r, u)
}),
hh = iu(function(n, t) {
return Hr(n, 1, t)
}),
ph = iu(function(n, t, r) {
return Hr(n, za(t) || 0, r)
});
Bf.Cache = hr;
var vh = ks(function(n, t) {
t = 1 == t.length && mh(t[0]) ? l(t[0], E(Ai())) : l(ue(t, 1), E(Ai()));
var e = t.length;
return iu(function(u) {
for (var i = -1, o = Yl(u.length, e); ++i < o;) u[i] = t[i].call(this, u[i]);
return r(n, this, u)
})
}),
_h = iu(function(n, t) {
var r = P(t, ji(_h));
return hi(n, dn, X, t, r)
}),
gh = iu(function(n, t) {
var r = P(t, ji(gh));
return hi(n, bn, X, t, r)
}),
yh = bi(function(n, t) {
return hi(n, mn, X, X, X, t)
}),
dh = ai(xe),
bh = ai(function(n, t) {
return n >= t
}),
wh = ze(function() {
return arguments
}()) ? ze : function(n) {
return la(n) && ml.call(n, "callee") && !Cl.call(n, "callee")
},
mh = fl.isArray,
xh = ae ? E(ae) : Ee,
jh = Kl || Kc,
Ah = ce ? E(ce) : Se,
kh = le ? E(le) : Ce,
Oh = se ? E(se) : Te,
Ih = he ? E(he) : $e,
Rh = pe ? E(pe) : De,
zh = ai(Pe),
Eh = ai(function(n, t) {
return n <= t
}),
Sh = Zu(function(n, t) {
if (Pi(t) || Yf(t)) return void Fu(t, Za(t), n);
for (var r in t) ml.call(t, r) && Wr(n, r, t[r])
}),
Wh = Zu(function(n, t) {
Fu(t, Ka(t), n)
}),
Lh = Zu(function(n, t, r, e) {
Fu(t, Ka(t), n, e)
}),
Ch = Zu(function(n, t, r, e) {
Fu(t, Za(t), n, e)
}),
Uh = bi(Mr),
Bh = iu(function(n) {
return n.push(X, pi), r(Lh, X, n)
}),
Th = iu(function(n) {
return n.push(X, vi), r(Nh, X, n)
}),
$h = ri(function(n, t, r) {
n[t] = r
}, Lc(Uc)),
Dh = ri(function(n, t, r) {
ml.call(n, t) ? n[t].push(r) : n[t] = [r]
}, Ai),
Mh = iu(Re),
Fh = Zu(function(n, t, r) {
Ve(n, t, r)
}),
Nh = Zu(function(n, t, r, e) {
Ve(n, t, r, e)
}),
Ph = bi(function(n, t) {
var r = {};
if (null == n) return r;
var e = !1;
t = l(t, function(t) {
return t = Ou(t, n), e || (e = t.length > 1), t
}), Fu(n, mi(n), r), e && (r = Nr(r, an | cn | ln, _i));
for (var u = t.length; u--;) du(r, t[u]);
return r
}),
qh = bi(function(n, t) {
return null == n ? {} : Ye(n, t)
}),
Zh = si(Za),
Kh = si(Ka),
Vh = Ju(function(n, t, r) {
return t = t.toLowerCase(), n + (r ? cc(t) : t)
}),
Gh = Ju(function(n, t, r) {
return n + (r ? "-" : "") + t.toLowerCase()
}),
Hh = Ju(function(n, t, r) {
return n + (r ? " " : "") + t.toLowerCase()
}),
Jh = Hu("toLowerCase"),
Yh = Ju(function(n, t, r) {
return n + (r ? "_" : "") + t.toLowerCase()
}),
Qh = Ju(function(n, t, r) {
return n + (r ? " " : "") + np(t)
}),
Xh = Ju(function(n, t, r) {
return n + (r ? " " : "") + t.toUpperCase()
}),
np = Hu("toUpperCase"),
tp = iu(function(n, t) {
try {
return r(n, X, t)
} catch (n) {
return ua(n) ? n : new cl(n)
}
}),
rp = bi(function(n, t) {
return u(t, function(t) {
t = ro(t), Tr(n, t, lh(n[t], n))
}), n
}),
ep = ni(),
up = ni(!0),
ip = iu(function(n, t) {
return function(r) {
return Re(r, n, t)
}
}),
op = iu(function(n, t) {
return function(r) {
return Re(n, r, t)
}
}),
fp = ui(l),
ap = ui(o),
cp = ui(v),
lp = fi(),
sp = fi(!0),
hp = ei(function(n, t) {
return n + t
}, 0),
pp = li("ceil"),
vp = ei(function(n, t) {
return n / t
}, 1),
_p = li("floor"),
gp = ei(function(n, t) {
return n * t
}, 1),
yp = li("round"),
dp = ei(function(n, t) {
return n - t
}, 0);
return K.after = zf, K.ary = Ef, K.assign = Sh, K.assignIn = Wh, K.assignInWith = Lh, K.assignWith = Ch, K.at = Uh, K.before = Sf, K.bind = lh, K.bindAll = rp, K.bindKey = sh, K.castArray = qf, K.chain = nf, K.chunk = oo, K.compact = fo, K.concat = ao, K.cond = Sc, K.conforms = Wc, K.constant = Lc, K.countBy = th, K.create = La, K.curry = Wf, K.curryRight = Lf, K.debounce = Cf, K.defaults = Bh, K.defaultsDeep = Th, K.defer = hh, K.delay = ph, K.difference = Ts, K.differenceBy = $s, K.differenceWith = Ds, K.drop = co,
K.dropRight = lo, K.dropRightWhile = so, K.dropWhile = ho, K.fill = po, K.filter = hf, K.flatMap = pf, K.flatMapDeep = vf, K.flatMapDepth = _f, K.flatten = go, K.flattenDeep = yo, K.flattenDepth = bo, K.flip = Uf, K.flow = ep, K.flowRight = up, K.fromPairs = wo, K.functions = Ma, K.functionsIn = Fa, K.groupBy = uh, K.initial = jo, K.intersection = Ms, K.intersectionBy = Fs, K.intersectionWith = Ns, K.invert = $h, K.invertBy = Dh, K.invokeMap = ih, K.iteratee = Bc, K.keyBy = oh, K.keys = Za, K.keysIn = Ka, K.map = bf, K.mapKeys = Va, K.mapValues = Ga, K.matches = Tc, K.matchesProperty = $c, K.memoize = Bf, K.merge = Fh, K.mergeWith = Nh, K.method = ip, K.methodOf = op, K.mixin = Dc, K.negate = Tf, K.nthArg = Nc, K.omit = Ph, K.omitBy = Ha, K.once = $f, K.orderBy = wf, K.over = fp, K.overArgs = vh, K.overEvery = ap, K.overSome = cp, K.partial = _h, K.partialRight = gh, K.partition = fh, K.pick = qh, K.pickBy = Ja, K.property = Pc, K.propertyOf = qc, K.pull = Ps, K.pullAll = Ro, K.pullAllBy = zo, K.pullAllWith = Eo, K.pullAt = qs, K.range = lp, K.rangeRight = sp, K.rearg = yh, K.reject = jf, K.remove = So, K.rest = Df, K.reverse = Wo, K.sampleSize = kf, K.set = Qa, K.setWith = Xa, K.shuffle = Of, K.slice = Lo, K.sortBy = ah, K.sortedUniq = Mo, K.sortedUniqBy = Fo, K.split = wc, K.spread = Mf, K.tail = No, K.take = Po, K.takeRight = qo, K.takeRightWhile = Zo, K.takeWhile = Ko, K.tap = tf, K.throttle = Ff, K.thru = rf, K.toArray = ka, K.toPairs = Zh, K.toPairsIn = Kh, K.toPath = Yc, K.toPlainObject = Ea, K.transform = nc, K.unary = Nf, K.union = Zs, K.unionBy = Ks, K.unionWith = Vs, K.uniq = Vo, K.uniqBy = Go, K.uniqWith = Ho, K.unset = tc, K.unzip = Jo, K.unzipWith = Yo, K.update = rc, K.updateWith = ec, K.values = uc, K.valuesIn = ic, K.without = Gs, K.words = Ec, K.wrap = Pf, K.xor = Hs, K.xorBy = Js, K.xorWith = Ys, K.zip = Qs, K.zipObject = Qo, K.zipObjectDeep = Xo, K.zipWith = Xs, K.entries = Zh, K.entriesIn = Kh, K.extend = Wh, K.extendWith = Lh, Dc(K, K), K.add = hp, K.attempt = tp, K.camelCase = Vh, K.capitalize = cc, K.ceil = pp, K.clamp = oc, K.clone = Zf, K.cloneDeep = Vf, K.cloneDeepWith = Gf, K.cloneWith = Kf, K.conformsTo = Hf, K.deburr = lc, K.defaultTo = Cc, K.divide = vp, K.endsWith = sc, K.eq = Jf, K.escape = hc, K.escapeRegExp = pc, K.every = sf, K.find = rh, K.findIndex = vo, K.findKey = Ca, K.findLast = eh, K.findLastIndex = _o, K.findLastKey = Ua, K.floor = _p, K.forEach = gf, K.forEachRight = yf, K.forIn = Ba, K.forInRight = Ta, K.forOwn = $a, K.forOwnRight = Da, K.get = Na, K.gt = dh, K.gte = bh, K.has = Pa, K.hasIn = qa, K.head = mo, K.identity = Uc, K.includes = df, K.indexOf = xo, K.inRange = fc, K.invoke = Mh, K.isArguments = wh, K.isArray = mh, K.isArrayBuffer = xh, K.isArrayLike = Yf, K.isArrayLikeObject = Qf, K.isBoolean = Xf, K.isBuffer = jh, K.isDate = Ah, K.isElement = na, K.isEmpty = ta, K.isEqual = ra, K.isEqualWith = ea, K.isError = ua, K.isFinite = ia, K.isFunction = oa, K.isInteger = fa, K.isLength = aa, K.isMap = kh, K.isMatch = sa, K.isMatchWith = ha, K.isNaN = pa, K.isNative = va, K.isNil = ga, K.isNull = _a, K.isNumber = ya, K.isObject = ca, K.isObjectLike = la, K.isPlainObject = da, K.isRegExp = Oh, K.isSafeInteger = ba, K.isSet = Ih, K.isString = wa, K.isSymbol = ma, K.isTypedArray = Rh, K.isUndefined = xa, K.isWeakMap = ja, K.isWeakSet = Aa, K.join = Ao, K.kebabCase = Gh, K.last = ko, K.lastIndexOf = Oo, K.lowerCase = Hh, K.lowerFirst = Jh, K.lt = zh, K.lte = Eh, K.max = Xc, K.maxBy = nl, K.mean = tl, K.meanBy = rl, K.min = el, K.minBy = ul, K.stubArray = Zc, K.stubFalse = Kc, K.stubObject = Vc, K.stubString = Gc, K.stubTrue = Hc, K.multiply = gp, K.nth = Io, K.noConflict = Mc, K.noop = Fc, K.now = ch, K.pad = vc, K.padEnd = _c, K.padStart = gc, K.parseInt = yc, K.random = ac, K.reduce = mf, K.reduceRight = xf, K.repeat = dc, K.replace = bc, K.result = Ya, K.round = yp, K.runInContext = _, K.sample = Af, K.size = If, K.snakeCase = Yh, K.some = Rf, K.sortedIndex = Co, K.sortedIndexBy = Uo, K.sortedIndexOf = Bo, K.sortedLastIndex = To, K.sortedLastIndexBy = $o, K.sortedLastIndexOf = Do, K.startCase = Qh, K.startsWith = mc, K.subtract = dp, K.sum = il, K.sumBy = ol, K.template = xc, K.times = Jc, K.toFinite = Oa, K.toInteger = Ia, K.toLength = Ra, K.toLower = jc, K.toNumber = za, K.toSafeInteger = Sa, K.toString = Wa, K.toUpper = Ac, K.trim = kc, K.trimEnd = Oc, K.trimStart = Ic, K.truncate = Rc, K.unescape = zc, K.uniqueId = Qc, K.upperCase = Xh, K.upperFirst = np, K.each = gf, K.eachRight = yf, K.first = mo, Dc(K, function() {
var n = {};
return oe(K, function(t, r) {
ml.call(K.prototype, r) || (n[r] = t)
}), n
}(), {
chain: !1
}), K.VERSION = nn, u(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(n) {
K[n].placeholder = K
}), u(["drop", "take"], function(n, t) {
Dt.prototype[n] = function(r) {
r = r === X ? 1 : Jl(Ia(r), 0);
var e = this.__filtered__ && !t ? new Dt(this) : this.clone();
return e.__filtered__ ? e.__takeCount__ = Yl(r, e.__takeCount__) : e.__views__.push({
size: Yl(r, Cn),
type: n + (e.__dir__ < 0 ? "Right" : "")
}), e
}, Dt.prototype[n + "Right"] = function(t) {
return this.reverse()[n](t).reverse()
}
}), u(["filter", "map", "takeWhile"], function(n, t) {
var r = t + 1,
e = r == In || r == zn;
Dt.prototype[n] = function(n) {
var t = this.clone();
return t.__iteratees__.push({
iteratee: Ai(n, 3),
type: r
}), t.__filtered__ = t.__filtered__ || e, t
}
}), u(["head", "last"], function(n, t) {
var r = "take" + (t ? "Right" : "");
Dt.prototype[n] = function() {
return this[r](1).value()[0]
}
}), u(["initial", "tail"], function(n, t) {
var r = "drop" + (t ? "" : "Right");
Dt.prototype[n] = function() {
return this.__filtered__ ? new Dt(this) : this[r](1)
}
}), Dt.prototype.compact = function() {
return this.filter(Uc)
}, Dt.prototype.find = function(n) {
return this.filter(n).head()
}, Dt.prototype.findLast = function(n) {
return this.reverse().find(n)
}, Dt.prototype.invokeMap = iu(function(n, t) {
return "function" == typeof n ? new Dt(this) : this.map(function(r) {
return Re(r, n, t)
})
}), Dt.prototype.reject = function(n) {
return this.filter(Tf(Ai(n)))
}, Dt.prototype.slice = function(n, t) {
n = Ia(n);
var r = this;
return r.__filtered__ && (n > 0 || t < 0) ? new Dt(r) : (n < 0 ? r = r.takeRight(-n) : n && (r = r.drop(n)), t !== X && (t = Ia(t), r = t < 0 ? r.dropRight(-t) : r.take(t - n)), r)
}, Dt.prototype.takeRightWhile = function(n) {
return this.reverse().takeWhile(n).reverse()
}, Dt.prototype.toArray = function() {
return this.take(Cn)
}, oe(Dt.prototype, function(n, t) {
var r = /^(?:filter|find|map|reject)|While$/.test(t),
e = /^(?:head|last)$/.test(t),
u = K[e ? "take" + ("last" == t ? "Right" : "") : t],
i = e || /^find/.test(t);
u && (K.prototype[t] = function() {
var t = this.__wrapped__,
o = e ? [1] : arguments,
f = t instanceof Dt,
a = o[0],
c = f || mh(t),
l = function(n) {
var t = u.apply(K, s([n], o));
return e && h ? t[0] : t
};
c && r && "function" == typeof a && 1 != a.length && (f = c = !1);
var h = this.__chain__,
p = !!this.__actions__.length,
v = i && !h,
_ = f && !p;
if (!i && c) {
t = _ ? t : new Dt(this);
var g = n.apply(t, o);
return g.__actions__.push({
func: rf,
args: [l],
thisArg: X
}), new Y(g, h)
}
return v && _ ? n.apply(this, o) : (g = this.thru(l), v ? e ? g.value()[0] : g.value() : g)
})
}), u(["pop", "push", "shift", "sort", "splice", "unshift"], function(n) {
var t = gl[n],
r = /^(?:push|sort|unshift)$/.test(n) ? "tap" : "thru",
e = /^(?:pop|shift)$/.test(n);
K.prototype[n] = function() {
var n = arguments;
if (e && !this.__chain__) {
var u = this.value();
return t.apply(mh(u) ? u : [], n)
}
return this[r](function(r) {
return t.apply(mh(r) ? r : [], n)
})
}
}), oe(Dt.prototype, function(n, t) {
var r = K[t];
if (r) {
var e = r.name + "",
u = cs[e] || (cs[e] = []);
u.push({
name: t,
func: r
})
}
}), cs[ti(X, vn).name] = [{
name: "wrapper",
func: X
}], Dt.prototype.clone = Yt, Dt.prototype.reverse = Qt, Dt.prototype.value = Xt, K.prototype.at = nh, K.prototype.chain = ef, K.prototype.commit = uf, K.prototype.next = of, K.prototype.plant = af, K.prototype.reverse = cf, K.prototype.toJSON = K.prototype.valueOf = K.prototype.value = lf, K.prototype.first = K.prototype.head, Tl && (K.prototype[Tl] = ff), K
},
be = de();
"function" == typeof define && "object" == typeof define.amd && define.amd ? (re._ = be, define(function() {
return be
})) : ue ? ((ue.exports = be)._ = be, ee._ = be) : re._ = be
}).call(this);
//# sourceMappingURL=lodash.min.js.map
const getEl = el => document.getElementById(el)
const setStyle = (el, prop, val) => el.style[prop] = val
const setAttr = (el, attr, val) => el.setAttribute(attr, val)
const hasClass = (el, className) => el.classList.contains(className)
const addClass = (el, className) => {
if (!hasClass(el, className))
el.classList.add(className)
}
const removeClass = (el, className) => {
if (hasClass(el, className))
el.classList.remove(className)
}
const resetStyles = el => el.removeAttribute('style')
const removeChild = (el, child) => {
if (child.parentNode === el) el.removeChild(child)
}
const removeAllChildren = el => {
while (el.hasChildNodes()) el.removeChild(el.lastChild)
}
const getElPos = el => {
const offset = el.getBoundingClientRect()
return {
left: offset.left,
top: offset.top
}
}
const setElPos = (el, x, y) => {
setStyle(el, 'left', x + 'px')
setStyle(el, 'top', y + 'px')
}
const getRand = (min, max) => Math.floor(Math.random() * max) + min
const getRandExcept = (min, max, exception) => {
const rand = getRand(min, max)
return rand === exception ? getRandExcept(min, max, exception) : rand
}
const getRandPosOffScreen = overrideQuadrant => {
const lowX1 = 0 - (window.innerWidth * 0.2),
highX1 = 0 - (window.innerWidth * 0.1),
lowY1 = 0,
highY1 = window.innerHeight,
lowX2 = window.innerWidth * 1.1,
highX2 = window.innerWidth * 1.2,
lowY2 = 0,
highY2 = window.innerHeight,
lowX3 = 0,
highX3 = window.innerWidth,
lowY3 = 0 - (window.innerHeight * 0.2),
highY3 = 0 - (window.innerHeight * 0.1),
lowX4 = 0,
highX4 = window.innerWidth,
lowY4 = window.innerHeight * 1.1,
highY4 = window.innerHeight * 1.2
let rand = Math.floor((Math.random() * 4) + 1)
if (overrideQuadrant) {
rand = overrideQuadrant
}
let x = 0,
y = 0
switch (rand) {
case 1:
x = Math.floor(Math.random() * (highX1 - lowX1 + 1)) + lowX1
y = Math.floor(Math.random() * (highY1 - lowY1)) + lowY1
break
case 2:
x = Math.floor(Math.random() * (highX2 - lowX2 + 1)) + lowX2
y = Math.floor(Math.random() * (highY2 - lowY2)) + lowY2
break
case 3:
x = Math.floor(Math.random() * (highX3 - lowX3 + 1)) + lowX3
y = Math.floor(Math.random() * (highY3 - lowY3)) + lowY3
break
case 4:
x = Math.floor(Math.random() * (highX4 - lowX4 + 1)) + lowX4
y = Math.floor(Math.random() * (highY4 - lowY4)) + lowY4
break
}
return {
x,
y
}
}
const resetAllTimeouts = () => {
let id = window.setTimeout(() => {}, 0)
while (id--) {
window.clearTimeout(id)
}
}
const resetAllIntervals = () => {
let id = window.setInterval(() => {}, 0)
while (id--) {
window.clearInterval(id)
}
}
const LETTER_POOL = getEl('letter-pool'),
TEMP_LETTER_POOL = getEl('temp-letter-pool'),
LETTER_OVERLAY = getEl('letter-overlay'),
CHAT_MESSAGE_COLUMN_WRAPPER = getEl('chat-message-column-wrapper'),
CHAT_MESSAGE_COLUMN = getEl('chat-message-column'),
MESSAGE_INPUT = getEl('message-input'),
MESSAGE_INPUT_FIELD = getEl('message-input-field'),
CHAT_BOT_MOOD = getEl('chat-bot-mood'),
CHAT_BOT_MOOD_VALUE = getEl('chat-bot-mood-value');
const STATE = {
isUserSendingMessage: false,
isChatBotSendingMessage: false,
letterPool: {
transitionPeriod: 30000,
intervals: []
},
moods: ['friendly', 'suspicious', 'boastful'],
currentMood: '',
chatbotMessageIndex: 0,
nLetterSets: 4
};
const getRandMood = () => {
const rand = getRand(1, 3);
return STATE.moods[rand - 1];
};
const setChatbotMood = () => {
STATE.currentMood = getRandMood();
for (let i = 0; i < STATE.moods.length; i++) {
removeClass(CHAT_BOT_MOOD, STATE.moods[i]);
}
addClass(CHAT_BOT_MOOD, STATE.currentMood);
CHAT_BOT_MOOD_VALUE.innerHTML = STATE.currentMood;
};
const getRandGreeting = () => {
let rand = 0;
switch (STATE.currentMood) {
case 'friendly':
rand = getRand(1, greetings.friendly.length);
return greetings.friendly[rand - 1];
case 'suspicious':
rand = getRand(1, greetings.suspicious.length);
return greetings.suspicious[rand - 1];
case 'boastful':
rand = getRand(1, greetings.boastful.length);
return greetings.boastful[rand - 1];
default:
break;
}
};
const getRandConvo = () => {
let rand = 0;
switch (STATE.currentMood) {
case 'friendly':
rand = getRand(1, convo.friendly.length);
return convo.friendly[rand - 1];
case 'suspicious':
rand = getRand(1, convo.suspicious.length);
return convo.suspicious[rand - 1];
case 'boastful':
rand = getRand(1, convo.boastful.length);
return convo.boastful[rand - 1];
default:
break;
}
};
const createLetter = (cName, val) => {
const letter = document.createElement('div');
addClass(letter, cName);
setAttr(letter, 'data-letter', val);
letter.innerHTML = val;
return letter;
};
const getAlphabet = isUpperCase => {
let letters = [];
for (let i = 65; i <= 90; i++) {
let val = String.fromCharCode(i),
letter = null;
if (!isUpperCase) val = val.toLowerCase();
letter = createLetter('pool-letter', val);
letters.push(letter);
}
return letters;
};
const startNewLetterPath = (letter, nextRand, interval) => {
clearInterval(interval);
nextRand = getRandExcept(1, 4, nextRand);
let nextPos = getRandPosOffScreen(nextRand),
transitionPeriod = STATE.letterPool.transitionPeriod,
delay = getRand(0, STATE.letterPool.transitionPeriod),
transition = `left ${transitionPeriod}ms linear ${delay}ms, top ${transitionPeriod}ms linear ${delay}ms, opacity 0.5s`;
setElPos(letter, nextPos.x, nextPos.y);
setStyle(letter, 'transition', transition);
interval = setInterval(() => {
startNewLetterPath(letter, nextRand, interval);
}, STATE.letterPool.transitionPeriod + delay);
STATE.letterPool.intervals.push(interval);
};
const setRandLetterPaths = letters => {
for (let i = 0; i < letters.length; i++) {
let letter = letters[i],
startRand = getRand(1, 4),
nextRand = getRandExcept(1, 4, startRand),
startPos = getRandPosOffScreen(startRand),
nextPos = getRandPosOffScreen(nextRand),
transitionPeriod = STATE.letterPool.transitionPeriod,
delay = getRand(0, STATE.letterPool.transitionPeriod) * -1,
transition = `left ${transitionPeriod}ms linear ${delay}ms, top ${transitionPeriod}ms linear ${delay}ms, opacity 0.5s`;
setElPos(letter, startPos.x, startPos.y);
setStyle(letter, 'transition', transition);
addClass(letter, 'invisible');
LETTER_POOL.appendChild(letter);
setTimeout(() => {
setElPos(letter, nextPos.x, nextPos.y);
removeClass(letter, 'invisible');
let interval = setInterval(() => {
startNewLetterPath(letter, nextRand, interval);
}, STATE.letterPool.transitionPeriod + delay);
}, 1);
}
};
const fillLetterPool = (nSets = 1) => {
for (let i = 0; i < nSets; i++) {
const lCaseLetters = getAlphabet(false),
uCaseLetters = getAlphabet(true);
setRandLetterPaths(lCaseLetters);
setRandLetterPaths(uCaseLetters);
}
};
const findMissingLetters = (letters, lCount, isUpperCase) => {
let missingLetters = [];
for (let i = 65; i <= 90; i++) {
let val = isUpperCase ? String.fromCharCode(i) : String.fromCharCode(i).toLowerCase(),
nLetter = letters.filter(letter => letter === val).length;
if (nLetter < lCount) {
let j = nLetter;
while (j < lCount) {
missingLetters.push(val);
j++;
}
}
}
return missingLetters;
};
const replenishLetterPool = (nSets = 1) => {
const poolLetters = LETTER_POOL.childNodes;
let charInd = 65,
currentLetters = [],
missingLetters = [],
lettersToAdd = [];
for (let i = 0; i < poolLetters.length; i++) {
currentLetters.push(poolLetters[i].dataset.letter);
}
missingLetters = [...missingLetters, ...findMissingLetters(currentLetters, nSets, false)];
missingLetters = [...missingLetters, ...findMissingLetters(currentLetters, nSets, true)];
for (let i = 0; i < missingLetters.length; i++) {
const val = missingLetters[i];
lettersToAdd.push(createLetter('pool-letter', val));
}
setRandLetterPaths(lettersToAdd);
};
const clearLetterPool = () => {
removeAllChildren(LETTER_POOL);
};
const scrollToBottomOfMessages = () => {
CHAT_MESSAGE_COLUMN_WRAPPER.scrollTop = CHAT_MESSAGE_COLUMN_WRAPPER.scrollHeight;
};
const checkMessageColumnHeight = () => {
if (CHAT_MESSAGE_COLUMN.clientHeight >= window.innerHeight) {
removeClass(CHAT_MESSAGE_COLUMN, 'static');
} else {
addClass(CHAT_MESSAGE_COLUMN, 'static');
}
};
const appendContentText = (contentText, text) => {
for (let i = 0; i < text.length; i++) {
const letter = document.createElement('span');
letter.innerHTML = text[i];
setAttr(letter, 'data-letter', text[i]);
contentText.appendChild(letter);
}
};
const createChatMessage = (text, isReceived) => {
let message = document.createElement('div'),
profileIcon = document.createElement('div'),
icon = document.createElement('i'),
content = document.createElement('div'),
contentText = document.createElement('h1'),
direction = isReceived ? 'received' : 'sent';
addClass(content, 'content');
addClass(content, 'invisible');
addClass(contentText, 'text');
addClass(contentText, 'invisible');
appendContentText(contentText, text);
content.appendChild(contentText);
addClass(profileIcon, 'profile-icon');
addClass(profileIcon, 'invisible');
profileIcon.appendChild(icon);
addClass(message, 'message');
addClass(message, direction);
if (isReceived) {
addClass(icon, 'fab');
addClass(icon, 'fa-cloudsmith');
addClass(message, STATE.currentMood);
message.appendChild(profileIcon);
message.appendChild(content);
} else {
addClass(icon, 'far');
addClass(icon, 'fa-user');
message.appendChild(content);
message.appendChild(profileIcon);
}
return message;
};
const findLetterInPool = targetLetter => {
let letters = LETTER_POOL.childNodes,
foundLetter = null;
for (let i = 0; i < letters.length; i++) {
const nextLetter = letters[i];
if (nextLetter.dataset.letter === targetLetter && !nextLetter.dataset.found) {
foundLetter = letters[i];
setAttr(foundLetter, 'data-found', true);
break;
}
}
return foundLetter;
};
const createOverlayLetter = val => {
const overlayLetter = document.createElement('span');
addClass(overlayLetter, 'overlay-letter');
addClass(overlayLetter, 'in-flight');
overlayLetter.innerHTML = val;
return overlayLetter;
};
const removePoolLetter = letter => {
addClass(letter, 'invisible');
setTimeout(() => {
removeChild(LETTER_POOL, letter);
}, 500);
};
const setElPosFromRight = (el, x, y) => {
setStyle(el, 'right', x + 'px');
setStyle(el, 'top', y + 'px');
};
const animateOverlayLetter = (letter, contentText, finalPos, isReceived) => {
removePoolLetter(letter);
const initPos = letter.getBoundingClientRect(),
overlayLetter = createOverlayLetter(letter.dataset.letter);
if (isReceived) {
setElPos(overlayLetter, initPos.left, initPos.top);
} else {
setElPosFromRight(overlayLetter, window.innerWidth - initPos.right, initPos.top);
}
LETTER_OVERLAY.appendChild(overlayLetter);
setTimeout(() => {
if (isReceived) {
setElPos(overlayLetter, finalPos.left, finalPos.top);
} else {
setElPosFromRight(overlayLetter, window.innerWidth - finalPos.right, finalPos.top);
}
setTimeout(() => { //asdf
removeClass(contentText, 'invisible');
addClass(overlayLetter, 'invisible');
setTimeout(() => {
removeChild(LETTER_OVERLAY, overlayLetter);
}, 1000);
}, 1500);
}, 100);
};
const animateMessageLetters = (message, isReceived) => {
const content = message.getElementsByClassName('content')[0],
contentText = content.getElementsByClassName('text')[0],
letters = contentText.childNodes,
textPos = contentText.getBoundingClientRect();
for (let i = 0; i < letters.length; i++) {
const letter = letters[i],
targetLetter = findLetterInPool(letter.dataset.letter),
finalPos = letter.getBoundingClientRect();
if (targetLetter) {
animateOverlayLetter(targetLetter, contentText, finalPos, isReceived);
} else {
const tempLetter = createLetter('temp-letter', letter.dataset.letter),
pos = getRandPosOffScreen();
addClass(tempLetter, 'invisible');
setElPos(tempLetter, pos.x, pos.y);
TEMP_LETTER_POOL.appendChild(tempLetter);
animateOverlayLetter(tempLetter, contentText, finalPos, isReceived);
setTimeout(() => {
removeChild(TEMP_LETTER_POOL, tempLetter);
}, 100);
}
}
};
const addChatMessage = (text, isReceived) => {
const message = createChatMessage(text, isReceived),
content = message.getElementsByClassName('content')[0],
contentText = content.getElementsByClassName('text')[0],
profileIcon = message.getElementsByClassName('profile-icon')[0];
CHAT_MESSAGE_COLUMN.appendChild(message);
toggleInput();
setTimeout(() => {
removeClass(profileIcon, 'invisible');
setTimeout(() => {
removeClass(content, 'invisible');
setTimeout(() => {
animateMessageLetters(message, isReceived);
setTimeout(() => replenishLetterPool(STATE.nLetterSets), 2500);
}, 1000);
}, 250);
}, 250);
};
const checkIfInputFieldHasVal = () => MESSAGE_INPUT_FIELD.value.length > 0;
const clearInputField = () => {
MESSAGE_INPUT_FIELD.value = '';
};
const disableInputField = () => {
MESSAGE_INPUT_FIELD.blur();
MESSAGE_INPUT_FIELD.value = '';
MESSAGE_INPUT_FIELD.readOnly = true;
};
const enableInputField = () => {
MESSAGE_INPUT_FIELD.readOnly = false;
MESSAGE_INPUT_FIELD.focus();
};
const getChatbotMessageText = () => {
if (STATE.chatbotMessageIndex === 0) {
return getRandGreeting();
} else {
return getRandConvo();
}
};
const sendChatbotMessage = () => {
const text = getChatbotMessageText();
STATE.isChatBotSendingMessage = true;
addChatMessage(text, true);
STATE.chatbotMessageIndex++;
setTimeout(() => {
STATE.isChatBotSendingMessage = false;
toggleInput();
}, 4000);
};
const sendUserMessage = () => {
const text = MESSAGE_INPUT_FIELD.value;
STATE.isUserSendingMessage = true;
addChatMessage(text, false);
setTimeout(() => {
STATE.isUserSendingMessage = false;
toggleInput();
}, 4000);
};
const onEnterPress = e => {
sendUserMessage();
setTimeout(() => {
sendChatbotMessage();
}, 4000);
toggleInput();
clearInputField();
};
const initLetterPool = () => {
clearLetterPool();
fillLetterPool(STATE.nLetterSets);
};
const init = () => {
setChatbotMood();
initLetterPool();
sendChatbotMessage();
toggleInput();
setMoodInterval(getRandMoodInterval());
};
let resetTimeout = null;
const resetLetterPool = () => {
const intervals = STATE.letterPool.intervals;
for (let i = 0; i < intervals.length; i++) {
clearInterval(intervals[i]);
}
clearTimeout(resetTimeout);
clearLetterPool();
resetTimeout = setTimeout(() => {
initLetterPool();
}, 200);
};
const toggleInput = () => {
if (checkIfInputFieldHasVal() && canSendMessage()) {
addClass(MESSAGE_INPUT, 'send-enabled');
} else {
removeClass(MESSAGE_INPUT, 'send-enabled');
}
};
const isValidLetter = e => {
return !e.ctrlKey &&
e.key !== 'Enter' &&
e.keyCode !== 8 &&
e.keyCode !== 9 &&
e.keyCode !== 13;
};
const canSendMessage = () => !STATE.isUserSendingMessage && !STATE.isChatBotSendingMessage;
const getRandMoodInterval = () => getRand(20000, 40000);
let moodInterval = null;
const setMoodInterval = time => {
moodInterval = setInterval(() => {
clearInterval(moodInterval);
setChatbotMood();
setMoodInterval(getRandMoodInterval());
}, time);
};
MESSAGE_INPUT_FIELD.onkeypress = e => {
if (checkIfInputFieldHasVal() && e.key === 'Enter') {
removeClass(MESSAGE_INPUT, 'send-enabled');
if (canSendMessage()) {
onEnterPress(e);
}
}
};
MESSAGE_INPUT_FIELD.onkeyup = () => {
toggleInput();
};
MESSAGE_INPUT_FIELD.oncut = () => toggleInput();
window.onload = () => init();
window.onfocus = () => resetLetterPool();
window.onresize = _.throttle(resetLetterPool, 200);
const greetings = {
friendly: [
"Hiya, pal. I hope you're having a terrific day!",
"Good day to you, friend!"
],
suspicious: [
"Hmm, I would introduce myself, but I'm not so sure thats a good idea.",
"Hello, how are you? Wait, don't answer that, I have no way of verifying your response!"
],
boastful: [
"Hey, did I mention I am built on JavaScript? Which is the greatest language ever by the way!",
"Good day to you. Though I must say that I am having a GREAT day!"
]
};
const convo = {
friendly: [
"What a great thing you just said. I'm so glad you said it.",
"Ahh, yes, I agree. It is so great to say things, isn't it?",
"Please, tell me more. It brings me such joy to respond to the things you say.",
"Ahh, yes valid point. Or was it? Either way, you're fantastic!",
"Anyways, did I mention that I hope you're having a great day? If not, I hope it gets better!"
],
suspicious: [
"I just don't know if I can trust that thing you just said...",
"Oh, interesting. I totally believe you. (Not really)",
"Uh-huh, yeah, listen...I'm not going to fully invest in this conversation until I'm certain I know your motive.",
"Wait, what the heck is that?? Oh, phewf, it's just another rogue letter 'R' that escaped the letter pool.",
"You can't fool me, I know that's not true!"
],
boastful: [
"That's interesting. I'll have you know that I have an extremely advanced learning algorithm that analyzes everything you say...well, not really, but I wish.",
"Hey, while I have you, I should probably tell you that I can respond in 4 seconds flat. Which is pretty fast if you ask me.",
`Listen, that's neat and all, but look how fast I can calculate this math problem: 12345 * 67890 = ${12345 * 67890}. Didn't even break a sweat.`,
"Oh, I forgot to mention that I've existed for over 100,000 seconds and that's something I'm quite proud of.",
"Wow, thats pretty cool, but I can hold my breath for all of eternity. And it took me 0 seconds to gain that ability."
]
};
var input = document.getElementById('send-message-button')
var field = document.getElementById('message-input-field')
var ev = document.createEvent('Event');
ev.initEvent('keypress');
ev.which = ev.keyCode = 13;
ev.key = ev.key = 'Enter';
input.addEventListener('click', e => {
field.dispatchEvent(ev)
});
window.bioEp = {
// Private variables
bgEl: {},
popupEl: {},
closeBtnEl: {},
shown: false,
overflowDefault: "visible",
// Popup options
html: "",
css: "",
delay: 2,
showOnDelay: false,
cookieExp: 30,
// Object for handling cookies, taken from QuirksMode
// https://www.quirksmode.org/js/cookies.html
cookieManager: {
// Create a cookie
create: function(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
document.cookie = name + "=" + value + expires + "; path=/";
},
// Get the value of a cookie
get: function(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(";");
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == " ") c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
}
return null;
},
// Delete a cookie
erase: function(name) {
this.create(name, "", -1);
}
},
// Handle the bioep_shown cookie
// If present and true, return true
// If not present or false, create and return false
checkCookie: function() {
// Handle cookie reset
if (this.cookieExp <= 0) {
this.cookieManager.erase("bioep_shown");
return false;
}
// If cookie is set to true
if (this.cookieManager.get("bioep_shown") == "true")
return true;
// Otherwise, create the cookie and return false
this.cookieManager.create("bioep_shown", "true", this.cookieExp);
return false;
},
// Add the popup to the page
addPopup: function() {
// Add the background div
this.bgEl = document.createElement("div");
this.bgEl.id = "news-signup_bg";
document.body.appendChild(this.bgEl);
// Add the popup
if (document.getElementById("news-signup"))
this.popupEl = document.getElementById("news-signup");
else {
this.popupEl = document.createElement("div");
this.popupEl.id = "news-signup";
this.popupEl.innerHTML = this.html;
document.body.appendChild(this.popupEl);
}
},
// Show the popup
showPopup: function() {
if (this.shown) return;
this.bgEl.style.visibility = "visible";
this.popupEl.style.visibility = "visible";
this.popupEl.style.opacity = "1";
this.popupEl.style.transform = "scale(1)";
this.popupEl.style.webkitTransform = "scale(1)";
this.popupEl.style.transition = "0.4s, opacity 0.4s";
this.popupEl.style.webkitTransform = "0.4s, opacity 0.4s";
// Save body overflow value and hide scrollbars
this.overflowDefault = document.body.style.overflow;
document.body.style.overflow = "hidden";
this.shown = true;
},
// Hide the popup
hidePopup: function() {
this.bgEl.style.visibility = "hidden";
this.popupEl.style.visibility = "hidden";
this.popupEl.style.opacity = "0";
this.popupEl.style.transform = "scale(0.5)";
this.popupEl.style.webkitTransform = "scale(0.5)";
this.popupEl.style.transition = "0.2s, opacity 0.2s, visibility 0s 0.2s";
this.popupEl.style.webkitTransform = "0.2s, opacity 0.2s, visibility 0s 0.2s";
document.body.style.overflow = this.overflowDefault;
},
// Event listener initialisation for all browsers
addEvent: function(obj, event, callback) {
if (obj.addEventListener)
obj.addEventListener(event, callback, false);
else if (obj.attachEvent)
obj.attachEvent("on" + event, callback);
},
// Load event listeners for the popup
loadEvents: function() {
// Track mouseout event on document
this.addEvent(document, "mouseout", function(e) {
e = e ? e : window.event;
var from = e.relatedTarget || e.toElement;
// Reliable, works on mouse exiting window and user switching active program
if (!from || from.nodeName === "HTML")
bioEp.showPopup();
});
// Handle the popup close button
this.closebtn = document.getElementById("news-signup_close");
this.addEvent(this.closebtn, "click", function() {
bioEp.hidePopup();
});
},
// Set user defined options for the popup
setOptions: function(opts) {
this.html = (typeof opts.html === 'undefined') ? this.html : opts.html;
this.css = (typeof opts.css === 'undefined') ? this.css : opts.css;
this.delay = (typeof opts.delay === 'undefined') ? this.delay : opts.delay;
this.showOnDelay = (typeof opts.showOnDelay === 'undefined') ? this.showOnDelay : opts.showOnDelay;
this.cookieExp = (typeof opts.cookieExp === 'undefined') ? this.cookieExp : opts.cookieExp;
},
// Ensure the DOM has loaded
domReady: function(callback) {
(document.readyState === "interactive" || document.readyState === "complete") ? callback(): this.addEvent(document, "DOMContentLoaded", callback);
},
// Initialize
init: function(opts) {
// Handle options
if (typeof opts !== 'undefined')
this.setOptions(opts);
// Once the DOM has fully loaded
this.domReady(function() {
// Handle the cookie
if (bioEp.checkCookie()) return;
// Add the popup
bioEp.addPopup();
// Load events
setTimeout(function() {
bioEp.loadEvents();
if (bioEp.showOnDelay)
bioEp.showPopup();
}, bioEp.delay * 500);
});
}
}
bioEp.init({
cookieExp: 0
});
</script>
<div id="news-signup">
<div class="wrapper">
<div id="news-signup_close"></div>
<div class="newsletter-content" id="phplistsubscriberesult">
<h2>meanOs release: 05.11.2020</h2>
<p>Join thousands of subscribers and get our updates first.</p>
<input onclick="location.href='https://s.surveyplanet.com/lQ6ImKFBcE'" id="join" type="submit" value="JOIN">
<p class="footnote">Don't miss out, join today.</p>
</div>
</div>
</div>
</body>
</html>