diff --git a/install.sh b/install.sh index 57a5281ad..094bab316 100644 --- a/install.sh +++ b/install.sh @@ -2,8 +2,22 @@ alias=r1 +# 20220527 +if [[ $( pacman -Q camilladsp 2> /dev/null ) == 'camilladsp 0.6.3-1' ]]; then + systemctl stop camilladsp camillagui + pacman -R --noconfirm camillagui + pacman -Sy --noconfirm camilladsp camillagui-backend python-pycamilladsp python-pycamilladsp-plot + rm -rf /srv/http/settings/camillagui/build + mkdir /srv/http/settings/camillagui/build + ln -sf /srv/http/assets/fonts /srv/http/settings/camillagui/build +fi +if grep -q 'force user = mpd' /etc/samba/smb.conf; then + sed -i 's/\(force user = \).*/\1http/' /etc/samba/smb.conf + systemctl try-restart smb +fi + # 20220505 -[[ ! -e /srv/http/data/system/asoundcard ]] && cp /srv/http/data/{shm,system}/asoundcard +[[ ! -e /srv/http/data/system/asoundcard && ! -e /srv/http/data/shm/nosound ]] && cp /srv/http/data/{shm,system}/asoundcard dir=/srv/http/shareddata if [[ -e $dir ]]; then diff --git a/srv/http/assets/css/camillagui.css b/srv/http/assets/css/camillagui.css deleted file mode 100644 index 955b5cb35..000000000 --- a/srv/http/assets/css/camillagui.css +++ /dev/null @@ -1,687 +0,0 @@ -@font-face { - font-family: rern; - src: url( '../fonts/rern.woff2' ) format( 'woff2' ); - font-display: block; - font-style: normal; - font-weight: normal; -} -@font-face { - font-family: Lato; - src: url( '../fonts/Lato-Regular.woff2' ) format( 'woff2' ); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: Lato; - src: url( '../fonts/Lato-Light.woff2' ) format( 'woff2' ); - font-weight: 300; - font-style: normal; -} -@font-face { - font-family: Inconsolata; - src: url('../fonts/Inconsolata.woff2') format('woff2'); - font-weight: normal; - font-style: normal; -} -.fa { - display: inline-block; - font-family: rern; - font-style: normal; -} -.fa-camilladsp::before { content: '\f59D'; position: absolute; color: var( --cg75 ); } -.fa-camilladsp::after { content: '\f59C'; position: relative; } -.fa-help::before { content: '\f560' } -.fa-info-circle::before { content: '\f561' } -.fa-times::before { content: '\f51A' } - -.css-variables { - --background-color: var( --cg ); - --button-add-icon-color: #46c846; - --button-background-color: var( --cg ); - --error-field-background-color: #bb2828 !important; - --border-radius: 3px; - --gain-color: hsl( 200 100% 45% ); - --phase-color: hsl( 0 40% 55% ); - --success-text-color: var( --cml ); -} -body { - padding-top: 40px; - font-family: Lato; - font-size: 16px; - color: var( --cw ); - background: #000000; -} -#root { - max-width: 700px; - margin: auto; -} -/* head + help ------------------------------------------------------------------ */ -.head { - position: fixed; - top: 0; - width: 100%; - height: 40px; - line-height: 40px; - background: var( --cga ); - box-shadow: 0px 4px 10px #000000; - z-index: 10; -} -.head .page-icon { - float: left; - width: 40px; - height: 40px; - font-size: 24px; - line-height: 38px; - text-align: center; - background: var( --cm ); -} -.head span { - margin-left: 15px; - font-size: 26px; - font-weight: 300; - letter-spacing: 20px; -} -#help { - float: right; - margin-right: 5px; - font-size: 24px; - color: var( --cg60 ); -} -#close { - float: right; - font-size: 30px; - color: var( --cm ); -} -.head i { - width: 40px; - height: 40px; - text-shadow: -1px 0 2px #000000; -} -#divhelp { - position: sticky; - top: 40px; - max-width: 720px; - margin: auto; - padding: 20px; - text-align: right; - background: #000000; -} -#divhelp a { - color: var( --cg60 ); - text-decoration: none; -} -#divhelp i { - color: var( --cg60 ); -} -#divhelp i { - margin: 0 2px -} -#logo { - position: absolute; - font-size: 14px; - text-align: left; - color: var( --cg60 ); -} -#logo img { - width: 145px; - margin-bottom: 5px; -} -#version { - font-size: 12px; -} -/* common --------------------------------------------------------------------- */ -/* main container */ -.configapp { - display: block; - padding: 5px 0; -} -.configapp:after { - display: block; - content: ''; - clear: both; -} -.box { - margin: 5px 0; - padding: 10px; - border: 1px solid var( --cg ); -} -legend { - width: fit-content; - font-size: 18px; - letter-spacing: 2px; -} -legend label { - font-size: 16px; - letter-spacing: 0; -} -.two-column-grid { - width: fit-content; - margin: auto; -} -.setting, -.alignRight { - color: var( --cg60 ); -} -hr { - border: none; -} -/* ---------------------------------------------------------------------------- */ -input, -select { - margin: 4px 0; - padding: 0 5px !important; - font-family: Lato; - font-size: 16px; - border: solid 1px var( --cgl ) !important; -} -input[type=text] { - width: 150px !important; -} -input[data-tip='Mixer name, must be unique'] { - width: 150px !important; -} -select { - width: 100% !important; - max-width: 175px; - padding: 0 !important; -} -input[type=number] { - width: 70px !important; -} -input[type=checkbox] { - -webkit-appearance: none; - width: 24px; - height: 24px; - margin: 4px 0 !important; - vertical-align: -12px; - border: none; - border-radius: 3px; - background-color: var(--cg) !important; - background: radial-gradient( 160% 100% at 50% -50%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); - background: -webkit-radial-gradient( 50% -50%, 160% 200%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); -} -input:checked { - background-color: var( --cm ) !important; -} -input[type=text]:focus { - outline: solid 2px var( --cg60 ); -} -input[type=range] { - --gloss: radial-gradient( 225% 90% at 100% 0%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); - --wkgloss: -webkit-radial-gradient( 100% 0%, 225% 90%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); - --track: linear-gradient( 90deg, transparent 10px, var( --cg ) 10px, var( --cg ) calc( 100% - 10px ), transparent 10px ); - --trackborder : 1px solid var( --cgd ); - display: block; - width: 270px !important; - height: 4px; - margin: 24px auto !important; - padding: 0 9px !important; - background-color: var( --cga ) !important; - -webkit-appearance: none; -} -@supports (-moz-appearance:none) { - input[type=range] { padding: 0 !important } -} -input[type=range]::-webkit-slider-thumb { - height: 36px; - width: 36px; - margin-top: -18px; - border: none; - border-radius: 3px; - background: var( --gloss ); - background: var( --wkgloss ); - background-color: var( --cm ); - -webkit-appearance: none; - box-shadow: -2px 2px 4px #000000; -} -input[type=range]::-moz-range-thumb { - height: 36px; - width: 36px; - border: none; - border-radius: 3px; - background: var( --gloss ); - background: var( --wkgloss ); - background-color: var( --cm ); - box-shadow: -2px 2px 4px #000000; -} -input[type=range]::-webkit-slider-runnable-track { - width: 100%; - margin: -10px; - height: 4px; - background: var( --track ); - border: var( --trackborder ); -} -input[type=range]:focus::-webkit-slider-runnable-track { - background: var( --track ); -} -input[type=range]::-moz-range-track { - width: 100%; - height: 2px; - background: var( --track ); - border: var( --trackborder ); -} -input[type=range]:disabled::-webkit-slider-thumb { - background-color: var( --cmd ); -} -input[type=range]:disabled::-moz-range-thumb { - background-color: var( --cmd ); -} - -/* ---------------------------------------------------------------------------- */ -.button { - border: none; - background-color: var( --cg ) !important; - background: radial-gradient( 160% 100% at 50% -50%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); - background: -webkit-radial-gradient( 50% -50%, 160% 200%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); - text-shadow: -1px 1px 2px #000000; - width:36px; - height: 36px; -} -.highlighted-button, -.highlighted-button:active { - background-color: var( --cm ) !important; -} -svg { - -webkit-filter: drop-shadow( -1px 1px 2px #000000 ); - filter: drop-shadow( -1px 1px 2px #000000 ); -} -.smallbutton { - width: 36px !important; - height: 36px !important; -} -.smallbutton svg { - width: 36px !important; -} -.button-with-text { - padding: 0px 10px; - font-size: 16px; - justify-content: left; - text-shadow: -1px 1px 2px #000000; -} -.button[data-tip]:not(.highlighted-button) { - background-color: var( --cg ); -} -/* volume + status ------------------------------------------------------------ */ -section.tabpanel { - position: fixed; - display: block; - float: left; - width: 270px !important; - margin: auto; - padding: 16px 10px 0 10px; -} -section.tabpanel img { - display: none; -} -section.tabpanel .smallbutton { - margin-top: -20px; -} -section.tabpanel .box { - position: relative; - max-width: calc( 100vw - 50px ); - margin-bottom: 20px; - padding: 10px 0; - border: none; -} -section.tabpanel legend { - padding: 0; -} -section.tabpanel legend .horizontally-spaced-content { - width: 270px; - border-bottom: 1px solid var( --cg ); -} -/* vu + volume bar */ -section.tabpanel .split-20-80 { - grid-template-columns: 14% 85%; - column-gap: 0; - line-height: 15px; -} -.split-20-80 div:first-child { - display: flex; - height: 100%; - align-items: center; - justify-content: right; - padding-right: 5px; - background: #000000; - z-index: 1; -} -section.tabpanel .split-20-80 svg { - position: relative; - margin: 0 -1px 0 -3px; -} -.rc-progress-line-path { - stroke-width: 2; - stroke: var( --cml ); -} -.rc-progress-line-trail { - stroke-width: 2; - stroke: var( --cg ); -} - -section .horizontally-spaced-content:first-of-type div:first-child { - width: 100% !important; - font-family: Inconsolata; - font-size: 16px; - font-weight: 300; - letter-spacing: 0; -} -section.tabpanel .box:last-of-type div:not([class]):first-of-type { - width: 250px !important; - padding: 0 10px; - font-family: Inconsolata; - line-height: 26px; - background: var( --cga ); -} -section.tabpanel .box:last-of-type div:not([class]):nth-of-type( 3 ) { - padding-top: 10px; - text-align: left !important; - color: var( --cg60 ); -} -section.tabpanel .box:last-of-type div:not([class]):nth-of-type( 3 ) input { - float: left; - margin: -3px 6px 0 0 !important; -} -section.tabpanel .box:last-of-type .two-column-grid { - display: block; - margin-top: 15px; - text-align: center; -} - -/* Fetch and Apply button */ -section .two-column-grid:nth-of-type( 2 ) { - display: block; - text-align: center; -} -section:first-of-type .button-with-text { - display: inline-block; - width: 70px !important; - height: 34px; - margin: 0 5px; - font-size: 14px; - line-height: 34px; - text-align: center; -} -section.tabpanel .box:nth-last-of-type( 2 ) .button { - position: absolute; - top: -41px; - left: 105px; - width: 40px !important; - padding-top: 7px; - line-height: 0; - background: none !important; - color: transparent; - text-shadow: none; -} -section.tabpanel .box:nth-last-of-type( 2 ) .button:before { - content: '\f50A'; - font-family: rern; - font-size: 18px; - line-height: 20px; - color: var( --cg60 ); -} -section.tabpanel .box:nth-last-of-type( 2 ) .button:hover { - background: none !important; -} -section.tabpanel .box:last-of-type .button { - white-space: break-spaces; - overflow: hidden; - width: 75px !important; - padding: 0px 20px; -} -section.tabpanel .box:last-of-type .button:last-of-type { - background-color: var( --cm ) !important; -} -.config-status { - position: absolute; - top: -31px; - right: -4px; - font-family: Inconsolata; - font-weight: bold; -} -.versions { - display: none; -} -/* config ----------------------------------------------------------------- */ -.configtabs { - display: block; - width: 410px; - max-width: 100vw; - margin-left: 300px !important; - padding: 0; -} -.configtabs .tabpanel { - width: 400px !important; - min-height: calc( 100vh - 140px ); - padding: 50px 5px 40px 5px; - background: var( --cgd ); -} -.react-tabs__tab-list { - position: fixed; - width: 410px; - margin-top: -6px; - padding-top: 10px; - background: #000000; - box-shadow: 0px 4px 10px #000000; - border: none; - z-index: 1; -} -.react-tabs__tab { - position: static; - width: calc( 100% / 5 - 1px ); - padding: 0; - line-height: 36px; - text-align: center; - text-shadow: -1px 1px 2px #000000; - background: var( --cga); - border: none; - border-radius: 5px 5px 0 0; - border-right: 1px solid #000000; -} -.react-tabs__tab-panel:nth-of-type( 5 ) { - width: calc( 100% / 5 ); - border: none; -} -.react-tabs__tab-list .react-tabs__tab--selected { - background: var( --cgl ); -} -.react-tabs__tab-list span { - display: none; -} -/* Devices ------------------------------ */ -.react-tabs__tab-panel:nth-of-type( 1 ) .setting-label { - width: 50%; - min-width: 160px; -} -.react-tabs__tab-panel:nth-of-type( 1 ) input:not[type=checkbox] { - width: 100% !important; - max-width: 150px; -} -.react-tabs__tab-panel:nth-of-type( 1 ) select { - width: 100% !important; - max-width: 170px; -} -/* Filters ------------------------------- */ -label.setting[style*="text-align"] { - text-align: left !important; -} -label.setting select:first-child { - width: 125px !important; - margin-left: 23px; -} -.react-tabs__tab-panel:nth-of-type( 2 ) .button[data-tip*="Delete"] { - margin-top: auto; -} -/* Mixers ------------------------------- */ -.react-tabs__tab-panel:nth-of-type( 3 ) div[style*='display: flex; justify-content: space-evenly;'] { - margin: 10px 0; - padding: 0 25px 0 15px; - background: var( --cga ); -} -.react-tabs__tab-panel:nth-of-type( 3 ) select { - max-width: 200px; -} -.react-tabs__tab-panel:nth-of-type( 3 ) legend .setting-label { - min-width: 35px; -} -.react-tabs__tab-panel:nth-of-type( 3 ) .horizontally-spaced-content legend .setting-label { - min-width: 130px; -} -.react-tabs__tab-panel:nth-of-type( 3 ) .setting-label { - letter-spacing: 0; -} -.react-tabs__tab-panel:nth-of-type( 3 ) .box .box input { - width: 60px !important; -} -.react-tabs__tab-panel:nth-of-type( 3 ) .horizontally-spaced-content div svg { - width: 36px !important; -} -/* Pipeline ----------------------------- */ -.react-tabs__tab-panel:nth-of-type( 4 ) legend { - margin-bottom: 5px; - padding-left: 0; -} -.react-tabs__tab-panel:nth-of-type( 4 ) legend label { - margin-left: -4px; -} -.react-tabs__tab-panel:nth-of-type( 4 ) select { - width: 170px !important; -} -.react-tabs__tab-panel:nth-of-type( 4 ) input[type=number] { - width: 50px !important; -} -.react-tabs__tab-panel:nth-of-type( 4 ) .dropTargetParent > div > div:not(.horizontally-spaced-content) { - position: absolute; - top: 9px; - left: 35px; - letter-spacing: normal; - color: var( --cw ) !important; -} -.react-tabs__tab-panel:nth-of-type( 4 ) .pipeline-channel { - width: 100%; - margin: 10px auto; - line-height: 26px; - letter-spacing: 2px; - background: var( --cga ); -} -.react-tabs__tab-panel:nth-of-type( 4 ) .box > div > .horizontally-spaced-content:last-of-type { - margin-top: 10px; -} -/* Files -------------------------------- */ -.react-tabs__tab-panel:nth-of-type( 5 ) .button-with-text { - width: 100% !important; - height: 36px; -} -.react-tabs__tab-panel:nth-of-type( 5 ) div:not([class]) { - max-width: 215px !important; -} -.react-tabs__tab-panel:nth-of-type( 5 ) div:not([class]) .button-with-text { - display: block; - font-family: Inconsolata; - line-height: 36px; - text-align: center; -} -.react-tabs__tab-panel:nth-of-type( 5 ) input[type=text] { - width: 100% !important; - font-family: Inconsolata; -} -/* popup --------------------------------- */ -#popup-root h3 { - font-size: 18px; - font-weight: normal; -} -textarea { - padding: 5px; - border: none; - background: var( --cgd ); - font-family: Inconsolata; - font-size: 15px; - color: var( --cw ); -} -textarea:focus-visible { - outline: none; -} -.popup-overlay { - background: rgba( 0, 0, 0, .85 ); -} -.popup-content { - padding: 0; - border: none !important; - border-radius: 6px !important; - background-color: var( --cgd ) !important; - box-shadow: 0px 0px 5px var( --cgl ); -} -.popup-content div:not([class]) { - float: right; - text-align: center !important; - color: transparent; -} -/* ---------------------------------------------------------------------------- */ -@media (max-width: 719px) { - #divhelp { margin: 0 20px } - section.tabpanel { - position: relative; - float: none; - min-width: 380px !important; - margin: auto; - padding: 0; - } - section.tabpanel legend .horizontally-spaced-content { - width: 380px; - padding-top: 15px; - } - section.tabpanel .split-20-80 { - margin-left: 55px; - width: 270px; - } - .configtabs .tabpanel { - width: 400px !important; - padding: 15px 5px 5px 5px; - } - .configapp > :last-child { - float: none; - margin: 0 auto !important; - } - .react-tabs__tab-list { - position: sticky; - top: 80px; - background: #000; - padding-top: 10px; - } - .popup-content { - width: 100% !important; - min-width: 100%; - } -} -@media (max-width: 490px) { - .head span { - margin-left: 10px; - letter-spacing: calc( 100vw / 30 - 1px ); - } -} -@media (max-width: 440px) { - .head span { - letter-spacing: calc( 100vw / 50 - 3px ); - } - .two-column-grid .alignRight { - width: fit-content; - } - .react-tabs__tab-panel:nth-of-type( 5 ) div:not([class]) { - max-width: calc( 100vw - 180px ) !important; - } -} -/* ---------------------------------------------------------------------------- */ -.button:hover { - background-color: var( --cga ) !important; - border: none; -} -.highlighted-button:hover, -section:first-of-type .button-with-text:nth-of-type( 2 ):hover { - background-color: var( --cma ) !important; -} -.head i, -#divhelp i, -#logo, -input[type=range] { - cursor: pointer; -} - diff --git a/srv/http/assets/css/common.css b/srv/http/assets/css/common.css index f351dd6e7..3202021ae 100644 --- a/srv/http/assets/css/common.css +++ b/srv/http/assets/css/common.css @@ -121,7 +121,7 @@ input::-moz-focus-inner { .fa-btreceiver::before { content: '\f595' } .fa-btsender::before { content: '\f596' } .fa-brush::before { content: '\f536' } -.fa-camilladsp::before {content: '\f59D'; position: absolute; color: var( --cg60 ); } +.fa-camilladsp::before {content: '\f59D'; position: absolute; color: var( --cg60 ); text-shadow: none; } .fa-camilladsp::after {content: '\f59C'; position: relative; } /* position: relative - fix order */ .fa-capslock:before { content: '\f607' } .fa-check::before { content: '\f51B' } diff --git a/srv/http/assets/img/camilladsp.svg b/srv/http/assets/img/camilladsp.svg new file mode 100644 index 000000000..1cfe1a0a1 --- /dev/null +++ b/srv/http/assets/img/camilladsp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/srv/http/assets/js/main.js b/srv/http/assets/js/main.js index 1b307de1c..1c37cba08 100644 --- a/srv/http/assets/js/main.js +++ b/srv/http/assets/js/main.js @@ -157,7 +157,7 @@ $( '#settings' ).on( 'click', '.submenu', function() { switch ( this.id ) { case 'camilladsp': bash( 'systemctl start camillagui', function() { - urlReachable( 'http://'+ location.host +':5005' ); + urlReachable( 'http://'+ location.host +':5000' ); } ); loader(); break; diff --git a/srv/http/bash/cmd.sh b/srv/http/bash/cmd.sh index 0bd8f8d0c..a48e74d8e 100644 --- a/srv/http/bash/cmd.sh +++ b/srv/http/bash/cmd.sh @@ -973,6 +973,11 @@ plsimilar ) ;; power ) action=${args[1]} + if [[ $action == reboot ]]; then + pushstreamNotifyBlink Power 'Reboot ...' reboot + else + pushstreamNotify Power 'Off ...' 'power blink' 10000 + fi touch $dirshm/power mpc -q stop pushstream btreceiver false @@ -989,11 +994,6 @@ power ) sleep 2 fi systemctl -q is-active camilladsp && $dirbash/settings/camilladsp-gain.py - if [[ $action == reboot ]]; then - pushstreamNotifyBlink Power 'Reboot ...' reboot - else - pushstreamNotify Power 'Off ...' 'power blink' 10000 - fi ply-image /srv/http/assets/img/splash.png &> /dev/null if mount | grep -q /mnt/MPD/NAS; then umount -l /mnt/MPD/NAS/* &> /dev/null diff --git a/srv/http/bash/settings/camilladsp-setformat.sh b/srv/http/bash/settings/camilladsp-setformat.sh index e3785a59c..62fcb14dd 100644 --- a/srv/http/bash/settings/camilladsp-setformat.sh +++ b/srv/http/bash/settings/camilladsp-setformat.sh @@ -31,6 +31,9 @@ if [[ $formatok ]]; then sleep 1 systemctl start camilladsp $dirbash/settings/camilladsp-gain.py set + defaultyml=$dirdata/camilladsp/configs/default_config.yml + lineformat=$( sed -n '/playback:/,/format:/=' $defaultyml | tail -1 ) + sed -i "$lineformat s/\(format: \).*/\1$format/" $defaultyml else pushstreamNotify CamillaDSP "Playback format: Setting required" camilladsp 10000 fi diff --git a/srv/http/bash/settings/system-datareset.sh b/srv/http/bash/settings/system-datareset.sh index 08f7c680c..cde4d1d7d 100644 --- a/srv/http/bash/settings/system-datareset.sh +++ b/srv/http/bash/settings/system-datareset.sh @@ -57,78 +57,8 @@ if [[ $version ]]; then # from create-ros.sh else mv /tmp/addons $dirdata fi -# camilladsp -if [[ -e /usr/bin/camilladsp ]]; then - dircamilladsp=$dirdata/camilladsp - mkdir -p $dircamilladsp/{coeffs,configs} - cat << EOF > $dircamilladsp/configs/default_config.yml ---- -devices: - adjust_period: 10 - capture: - channels: 2 - device: hw:Loopback,0 - format: S32LE - type: Alsa - capture_samplerate: 0 - chunksize: 2048 - enable_rate_adjust: false - enable_resampling: false - playback: - channels: 2 - device: hw:0,0 - format: S32LE - type: Alsa - queuelimit: 4 - rate_measure_interval: 1 - resampler_type: Synchronous - samplerate: 44100 - silence_threshold: -60 - silence_timeout: 3 - stop_on_rate_change: false - target_level: 0 -filters: - Volume: - parameters: - ramp_time: 200 - type: Volume -mixers: {} -pipeline: -- channel: 0 - names: - - Volume - type: Filter -- channel: 1 - names: - - Volume - type: Filter -EOF - [[ ! -e $dircamilladsp/configs/camilladsp.yml ]] && cp $dircamilladsp/configs/{default_config,camilladsp}.yml - ln -sf $dircamilladsp/configs/{camilladsp,active_config}.yml - cat << EOF > /srv/http/settings/camillagui/config/camillagui.yml ---- -camilla_host: "0.0.0.0" -camilla_port: 1234 -port: 5005 -config_dir: "$dircamilladsp/configs" -coeff_dir: "$dircamilladsp/coeffs" -default_config: "$dircamilladsp/configs/default_config.yml" -active_config: "$dircamilladsp/configs/active_config.yml" -log_file: "/var/log/camilladsp.log" -update_symlink: true -on_set_active_config: "/srv/http/bash/settings/features.sh camilladspasound" -on_get_active_config: null -supported_capture_types: null -supported_playback_types: null -EOF -fi - if [[ $( camilladsp -V ) == CamillaDSP 0.6.3 ]]; then - sed -i '/capture:/ a\ - avoid_blocking_read: false\ - retry_on_error: false -' $dircamilladsp/configs/default_config.yml - sed -i '/log_file/ d' /srv/http/settings/camillagui/config/camillagui.yml - fi +# camillagui +ln -sf /srv/http/assets/fonts /srv/http/settings/camillagui/build # display cat << EOF > $dirsystem/display { diff --git a/srv/http/settings/camillagui/build/camilladsp.svg b/srv/http/settings/camillagui/build/camilladsp.svg deleted file mode 100644 index 609f9b133..000000000 --- a/srv/http/settings/camillagui/build/camilladsp.svg +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/srv/http/settings/camillagui/build/camillagui.css b/srv/http/settings/camillagui/build/camillagui.css index 6f133630f..b23ede601 100644 --- a/srv/http/settings/camillagui/build/camillagui.css +++ b/srv/http/settings/camillagui/build/camillagui.css @@ -1,25 +1,18 @@ -@font-face { - font-family: rern; - src: url( './static/assets/fonts/rern.woff2' ) format( 'woff2' ); - font-display: block; - font-style: normal; - font-weight: normal; -} @font-face { font-family: Lato; - src: url( './static/assets/fonts/Lato-Regular.woff2' ) format( 'woff2' ); + src: url( './fonts/Lato-Regular.woff2' ) format( 'woff2' ); font-weight: normal; font-style: normal; } @font-face { font-family: Lato; - src: url( './static/assets/fonts/Lato-Light.woff2' ) format( 'woff2' ); + src: url( './fonts/Lato-Light.woff2' ) format( 'woff2' ); font-weight: 300; font-style: normal; } @font-face { font-family: Inconsolata; - src: url('./static/assets/fonts/Inconsolata.woff2') format('woff2'); + src: url('./fonts/Inconsolata.woff2') format('woff2'); font-weight: normal; font-style: normal; } @@ -31,32 +24,49 @@ textarea, .files input[type=text], .quick-config-switch .button, #status pre, -#fileconfig { +#compactview .two-column-grid, +#fileconfig, +#volume .label { font-family: Inconsolata; } -.fa { - display: inline-block; - font-family: rern; - font-style: normal; -} -.fa-camilladsp::before { content: '\f59D'; position: absolute; color: var( --cg75 ); } -.fa-camilladsp::after { content: '\f59C'; position: relative; } -.fa-gears::before { content: '\f50A' } -.fa-help::before { content: '\f560' } -.fa-info-circle::before { content: '\f561' } -.fa-power::before { content: '\f520' } -.fa-times::before { content: '\f51A' } - -.css-variables { +:root { + --cd : hsl(200,100%,35%); /* default main */ + --cw : hsl(0,0%,90%); /* white */ + --cml : hsl(200,100%,40%); /* main-light */ + --cm : hsl(200,100%,35%); /* main */ + --cma : hsl(200,100%,30%); /* main-active */ + --cmd : hsl(200,100%,20%); /* main-dark */ + --cg75 : hsl(200,3%,75%); /* gray-75% */ + --cg70 : hsl(200,3%,70%); /* gray-70% */ + --cg60 : hsl(200,3%,60%); /* gray-60% */ + --cgl : hsl(200,3%,40%); /* gray-light */ + --cg : hsl(200,3%,30%); /* gray */ + --cga : hsl(200,3%,20%); /* gray-active */ + --cgd : hsl(200,3%,10%); /* gray-dark */ + --background-color: var( --cg ); --button-add-icon-color: #46c846; --button-background-color: var( --cg ); - --error-field-background-color: #bb2828 !important; + + --button-remove-icon-color: #bd3e3e; + --error-field-background-color: #bd3e3e !important; + --error-text-color: #bd3e3e; + --error-field-background-color: #bd3e3e; + --red: #bd3e3e; + --border-radius: 3px; - --gain-color: hsl( 200 100% 45% ); - --phase-color: hsl( 0 40% 55% ); - --red: #bb2828; + --success-text-color: #46c846; + --disabled-button-opacity: 0.4; + --axes-color: #555; + --gain-color: #0077b3; + --phase-color: #bd3e3e; + --impulse-color: #46c846; + --text-color: var( --cw ); + --arrow-color: #555; + --frame-background-color: #333; + --block-background-color: rgb(200, 200, 200); + --block-text-color: rgb(16, 10, 90); } html, body { @@ -69,7 +79,7 @@ body { color: var( --cw ); } #root { - max-width: 700px; + max-width: 710px; margin: auto; } @@ -77,6 +87,7 @@ body { .head { position: fixed; top: 0; + left: 0; width: 100%; height: 40px; line-height: 40px; @@ -88,52 +99,55 @@ body { float: left; width: 40px; height: 40px; - font-size: 24px; - line-height: 38px; - text-align: center; background: var( --cm ); } +.head .page-icon svg { + width: 37px; + margin: 6px 2px; + filter: none; +} .head span { margin-left: 15px; font-size: 26px; font-weight: 300; letter-spacing: 20px; } +#close, #help { float: right; - margin-right: 5px; - font-size: 24px; + width: 26px; + height: 26px; + padding: 7px; color: var( --cg60 ); } #close { - float: right; - font-size: 30px; + width: 30px; + height: 30px; + padding: 5px; + margin-right: 10px; color: var( --cm ); } -.head i { - width: 40px; - height: 40px; - text-shadow: -1px 0 2px #000000; +.head svg { + filter: drop-shadow(-1px 1px 2px #000000); } #divhelp { position: sticky; top: 40px; max-width: 720px; margin: auto; - padding: 20px; + padding: 20px 0; text-align: right; background: #000000; } #divhelp a { - color: var( --cg60 ); + color: var( --cml ); text-decoration: none; } -#divhelp i { +#divhelp svg { + width: 18px; + vertical-align: -3px; color: var( --cg60 ); } -#divhelp i { - margin: 0 2px -} #logo { float: left; } @@ -146,9 +160,6 @@ body { text-align: left; color: var( --cg60 ); } -.hide { - display: none; -} /* common --------------------------------------------------------------------- */ /* main container */ .configapp { @@ -190,7 +201,10 @@ code { border-radius: 3px; color: var( --cg75 ); white-space: pre; - background: var( --cga ); + background: var( --cg ); +} +.hide { + display: none; } /* ---------------------------------------------------------------------------- */ input, @@ -328,18 +342,79 @@ input[type=range]:disabled::-moz-range-thumb { margin-top: -20px; } #button-mute, -#button-dim { +#button-undo { + border-right: 1px solid var( --cga ); margin-right: 0 !important; border-radius: 3px 0 0 3px; background: radial-gradient( 225% 90% at 100% 0%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); background: -webkit-radial-gradient( 100% 0%, 225% 90%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); } -#button-dim { - border-left: 1px solid var( --cga ); +#button-dim, +#button-redo { border-radius: 0 3px 3px 0; background: radial-gradient( 300% 90% at 0% 0%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); background: -webkit-radial-gradient( 0% 0%, 300% 90%, hsla(0,0%,100%,.3) 50%, hsla(0,0%,100%,0) 55% ); } +/* compact view */ +::marker { + color: transparent; +} +.tab-buttons { + position: absolute; + left: -290px; + width: 270px; + height: 36px; + background: none; +} +#button-compactview { + float: none !important; +} +.button-compactview { + margin-top: 0; +} +#compactview .smallbutton { + margin-top: -20px; +} +#button-undo, +#button-redo { + float: right; +} +.tab-buttons svg { + height: 24px !important; + width: 24px !important; +} +/* compact page ------------------------------------------------------------ */ +.react-tabs__tab--disabled { + color: var( --cw ); +} +.quick-config-switch .button { + display: block; + width: 200px; + margin: 5px auto; + line-height: 36px; + text-align: center; +} +#compactview { + width: 370px; + margin-top: 3px !important; + padding: 0; +} +#compactview legend { + padding-left: 5px; +} +#compactview .two-column-grid { + display: block; + color: var( --cg60 ); +} +#diveqhelp { + padding: 10px; + font-size: 16px; + line-height: 22px; + letter-spacing: 0; + color: var( --cg60 ); +} +/* Compact view button ------------------- */ +#compactview .box, #mainpanel .box { position: relative; max-width: calc( 100vw - 50px ); @@ -347,9 +422,19 @@ input[type=range]:disabled::-moz-range-thumb { padding: 10px 0; border: none; } +#compactview .box { + margin-left: 3px; +} +#compactview #volume { + margin-top: 21px; +} #mainpanel legend { padding: 0; } +#compactview legend .horizontally-spaced-content { + width: 360px; + border-bottom: 1px solid var( --cg ); +} #mainpanel legend .horizontally-spaced-content { width: 270px; border-bottom: 1px solid var( --cg ); @@ -359,9 +444,15 @@ input[type=range]:disabled::-moz-range-thumb { min-width: 110px; font-size: 16px; font-weight: 300; - text-align: right; letter-spacing: 0; } +#equalizer .db-label { + width: 4ch !important; + min-width: auto; +} +.bass.db-label { + margin-left: 20px; +} /* volume + status ------------------------------------------------------------ */ #mainpanel { position: fixed; @@ -369,47 +460,57 @@ input[type=range]:disabled::-moz-range-thumb { float: left; width: 270px !important; margin: auto; - padding: 16px 10px 0 10px; + padding: 60px 10px 0 10px; } #mainpanel .split-20-80 { margin: 10px 0; - grid-template-columns: 12% 88%; + grid-template-columns: 13% 87%; column-gap: 0; } -#volume .label { - text-align: right; -} #volume .label { display: flex; height: 100%; + padding-right: 3px; + justify-content: right; + align-items: center; background: #000000; outline: 3px solid #000000; z-index: 1; - justify-content: right; - align-items: center; - padding-right: 3px; } -.split-20-80>* { - height: 17px; -} -.rc-progress-line { +#log, +#eqhelp { position: absolute; - right: 0; - width: 238px; + top: -26px; + left: 65px; + width: 24px !important; + font-size: 22px; + text-align: center; + background: none !important; + color: var( --cg60 ); + text-shadow: none; } -.rc-progress-line:last-child { - margin-top: 10px; +#eqhelp { + left: auto; + right: 5px; } #status pre { margin: 0px 0; - padding: 5px; + padding: 0 5px; + line-height: 26px; background: var( --cga ); } #fileconfig { width: 100% !important; - line-height: 27px; + line-height: 26px; background: var( --cga ); } +#applyauto { + color: var( --cg60 ); +} +#applyauto input { + float: left; + margin: -3px 6px 0 0 !important; +} /* Fetch and Apply button */ #config .two-column-grid { display: block; @@ -469,6 +570,11 @@ input[type=range]:disabled::-moz-range-thumb { border-radius: 5px 5px 0 0; border-right: 1px solid #000000; } +.react-tabs__tab:focus:after { + content: ''; + height: 0; + position: absolute; +} .tab-files { width: calc( 100% / 5 ); border: none; @@ -479,6 +585,15 @@ input[type=range]:disabled::-moz-range-thumb { .react-tabs__tab-list span { display: none; } +legend { + padding-inline-start: 0; + padding-inline-end: 0; +} +.devices legend, +.files legend { + padding-inline-start: 4px; + padding-inline-end: 4px; +} /* Devices ------------------------------ */ .devices .setting-label { width: 50%; @@ -575,9 +690,27 @@ label.setting select:first-child { width: 100% !important; } /* popup --------------------------------- */ +.popup-overlay { + background: #000000 !important; +} +.popup-content { + background-color: #000000 !important; +} #popup-root h3 { - font-size: 18px; + margin: 0 0 10px 0; + width: 100%; + text-align: center !important; + letter-spacing: 10px; + text-indent: 20px; font-weight: normal; + color: var( --cw ); +} +.closepopup { + position: absolute; + top: 0; + right: 0; + width: 28px; + color: var(--cm); } textarea { padding: 5px; @@ -585,25 +718,11 @@ textarea { background: var( --cgd ); font-size: 15px; color: var( --cw ); + box-shadow: 0px 0px 5px var( --cgl ); } textarea:focus-visible { outline: none; } -.popup-overlay { - background: rgba( 0, 0, 0, .85 ); -} -.popup-content { - padding: 0; - border: none !important; - border-radius: 6px !important; - background-color: var( --cgd ) !important; - box-shadow: 0px 0px 5px var( --cgl ); -} -.popup-content div:not([class]) { - float: right; - text-align: center !important; - color: transparent; -} /* ---------------------------------------------------------------------------- */ @media (max-width: 719px) { #help, @@ -628,6 +747,10 @@ textarea:focus-visible { box-shadow: 0px 4px 5px #000000; z-index: -1; } + #button-compactview { + position: fixed; + top: 48px; + } #divhelp { margin: 0 20px; } @@ -636,7 +759,7 @@ textarea:focus-visible { float: none; min-width: 360px !important; margin: auto; - padding-top: 35px; + padding-top: 60px; } #mainpanel legend .horizontally-spaced-content { width: 360px; @@ -691,10 +814,11 @@ textarea:focus-visible { #button-apply:hover { background-color: var( --cma ) !important; } -.head i, -#divhelp i, -#logo, -input[type=range] { +.closepopup, +.head svg, +.popup-overlay::before, +#eqhelp, +#log, +#logo { cursor: pointer; } - diff --git a/srv/http/settings/camillagui/build/camillagui.js b/srv/http/settings/camillagui/build/camillagui.js deleted file mode 100644 index 346fd1114..000000000 --- a/srv/http/settings/camillagui/build/camillagui.js +++ /dev/null @@ -1,46 +0,0 @@ -fetch( '/api/status' ) - .then( response => response.json() ) - .then( status => { - document.getElementById( 'version' ).innerHTML = `\ - CamillaDSP ${ status.cdsp_version } -
pyCamillaDSP ${ status.py_cdsp_version } -
Backend ${ status.backend_version } -`; -} ); - -if ( [ 'localhost', '127.0.0.1' ].includes( location.hostname ) ) document.getElementById( 'help' ).classList.add( 'hide' ); - -document.body.addEventListener( 'click', function( e ) { - if ( e.target.id === 'close' ) { - var hostname = location.hostname; - var http = new XMLHttpRequest(); - http.open( 'POST', 'http://' + hostname + '/cmd.php', true ); - http.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' ); - http.send( 'cmd=bash&bash=systemctl%20stop%20camillagui' ); - location.href = 'http://' + hostname; - } else if ( e.target.id === 'help' || e.target.id === 'eqhelp' ) { - document.getElementById( 'div'+ e.target.id ).classList.toggle( 'hide' ); - } -}); - -cacheBusting = () => { - setTimeout( () => { - var buttons = document.getElementsByClassName( 'button-with-text' ); - if ( !buttons.length ) { - cacheBusting(); - return - } - - var hash = '?v='+ Date.now(); - document.querySelectorAll( 'link' ).forEach( ( link ) => { - link.href = link.href + hash; - } ); - document.querySelectorAll( 'script' ).forEach( ( script ) => { - script.src = script.attributes.src.textContent + hash; - } ); - setTimeout( () => { - document.body.classList.toggle( 'hide' ); - }, 300 ); - }, 300 ); -} -cacheBusting(); diff --git a/srv/http/settings/camillagui/build/css-variables.css b/srv/http/settings/camillagui/build/css-variables.css deleted file mode 100644 index 8ab00dccf..000000000 --- a/srv/http/settings/camillagui/build/css-variables.css +++ /dev/null @@ -1,117 +0,0 @@ -/* Dark skin. */ -.css-variables { - - /* - Styling is only supported using the following CSS variables. - They will be maintained in a backwards-compatible manner as good as possible. - It is technically possible to add any valid CSS to this file, - but there are no guarantees with respect to backwards-compatibility. - - Variable types: - - variables ending with -color: any valid CSS color - - variables ending with -border: any value valid for the CSS border shorthand property (e.g. 1px solid red) - - border-radius: any positive CSS length/percentage - - variables ending with -opacity: any positive CSS float value (e.g. 0.5) - */ - - /* General */ - --background-color: #202020; - --text-color: #ddd; - --error-text-color: #dc4646; - --error-field-background-color: var(--error-text-color); - --success-text-color: #46c846; - --neutral-text-color: #bbb; - --border-radius: 5px; - - /* Buttons */ - --button-icon-color: var(--text-color); - --button-add-icon-color: var(--success-text-color); - --button-remove-icon-color: var(--error-text-color); - --button-text-color: var(--text-color); - --button-background-color: #333; - --button-border: 2px solid rgb(70, 70, 70); - --hovered-button-background-color: #444; - --hovered-button-border: 2px solid #bbb; - --active-button-background-color: #555; - --active-button-border: 2px solid #ddd; - --disabled-button-opacity: 0.4; - --disabled-button-background-color: var(--button-background-color); - --disabled-button-border: var(--button-border); - --highlighted-button-background-color: #242; - --highlighted-button-border: 2px solid #4b4; - - /* Boxes */ - --box-border-width: 2px; - --box-border-color: rgb(70, 70, 70); - --box-border: var(--box-border-width) solid var(--box-border-color); - - /* Inputs */ - --input-border: 2px solid rgba(70, 70, 70, 0.5); - --focused-input-border: 2px solid var(--success-text-color); - - /* Filter plot */ - --axes-color: #555; - --gain-color: #4646f0; - --phase-color: var(--error-text-color); - --impulse-color: var(--success-text-color); - - /* Pipeline plot */ - --arrow-color: var(--axes-color); - --frame-background-color: #333; - --block-background-color: rgb(200, 200, 200); - --block-text-color: rgb(16, 10, 90); -} - -/* - Bright skin (black/white) - Rename to .css-variables to enable -*/ -.css-variables-disabled { - - /* General */ - --background-color: white; - --text-color: black; - --error-text-color: #f00; - --error-field-background-color: var(--error-text-color); - --success-text-color: #0c0; - --neutral-text-color: #bbb; - --border-radius: 5px; - - /* Buttons */ - --button-icon-color: var(--text-color); - --button-add-icon-color: var(--success-text-color); - --button-remove-icon-color: var(--error-text-color); - --button-text-color: var(--text-color); - --button-background-color: #f3f3f3; - --button-border: 1px inset #9090B0; - --hovered-button-background-color: #ddd; - --hovered-button-border: var(--button-border); - --active-button-background-color: #aaa; - --active-button-border: var(--button-border); - --disabled-button-opacity: 1.0; - --disabled-button-background-color: #aaa; - --disabled-button-border: var(--button-border); - --highlighted-button-background-color: #cfc; - --highlighted-button-border: var(--button-border); - - /* Boxes */ - --box-border-width: 1px; - --box-border-color: #9090B0; - --box-border: var(--box-border-width) solid var(--box-border-color); - - /* Inputs */ - --input-border: 1px solid #9090B0; - --focused-input-border: 2px solid #9292f6; - - /* Filter plot */ - --axes-color: #555; - --gain-color: rgba(0,0,220,1); - --phase-color: rgba(0,220,0,1); - --impulse-color: rgba(220,0,0,1); - - /* Pipeline plot */ - --arrow-color: var(--text-color); - --frame-background-color: rgb(180, 180, 180); - --block-background-color: rgb(233, 233, 233); - --block-text-color: rgb(16, 10, 90); -} \ No newline at end of file diff --git a/srv/http/settings/camillagui/build/icon.png b/srv/http/settings/camillagui/build/icon.png new file mode 100644 index 000000000..2f6d0d9ed Binary files /dev/null and b/srv/http/settings/camillagui/build/icon.png differ diff --git a/srv/http/settings/camillagui/build/index.html b/srv/http/settings/camillagui/build/index.html index 4b799be46..e794030da 100644 --- a/srv/http/settings/camillagui/build/index.html +++ b/srv/http/settings/camillagui/build/index.html @@ -1,42 +1 @@ - - - - CamillaDSP - - - - - - - - - - -
- - CamillaDSP - -
-
- - User Manual -
- Devices •  - Filters •  - Mixers •  - Pipeline -
-
Discussions: -
- #1 •  - #2 -
-
- -
- - - - - - +CamillaDSP
\ No newline at end of file diff --git a/srv/http/settings/camillagui/build/static/css/main.css b/srv/http/settings/camillagui/build/static/css/main.css index fbf00f59c..7d3276434 100644 --- a/srv/http/settings/camillagui/build/static/css/main.css +++ b/srv/http/settings/camillagui/build/static/css/main.css @@ -1 +1,2 @@ -.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{border:1px solid transparent;border-bottom:none;bottom:-1px;cursor:pointer;display:inline-block;list-style:none;padding:6px 12px;position:relative}.react-tabs__tab--selected{background:#fff;border-color:#aaa;border-radius:5px 5px 0 0;color:#000}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{border-color:#0188fe;box-shadow:0 0 5px #0188fe;outline:none}.react-tabs__tab:focus:after{background:#fff;bottom:-5px;content:"";height:5px;left:-4px;position:absolute;right:-4px}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}hr{margin:2px 0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input:not([type=checkbox]),select{background-color:var(--background-color);border:var(--input-border);border-radius:var(--border-radius);box-sizing:border-box;color:var(--text-color);height:28px;padding:0 4px}input:not([type=checkbox]):focus,select:focus{border:var(--focused-input-border);outline:none}input[type=range]{background-color:transparent}input[type=checkbox]{cursor:pointer}.react-tabs__tab--selected{background:var(--background-color);border:var(--box-border);border-bottom:none;border-radius:var(--border-radius) var(--border-radius) 0 0;bottom:calc(var(--box-border-width)*-1);color:var(--text-color)}.react-tabs__tab-list{border-bottom:var(--box-border)}.checkbox-area{cursor:pointer;display:inline-block;padding:2px}.tabpanel{align-items:flex-start;border:4px;display:flex;flex-direction:column;padding:10px 0;text-align:left;width:450px}.tabpanel>*{margin:5px 0}.configapp{align-items:flex-start;display:flex;flex-direction:row;padding:5px}.configapp>:last-child{margin-left:10px}.configtabs{display:flex;flex-direction:column;float:left;padding:10px;text-align:left}.setting{box-sizing:border-box;display:table;height:28px;text-align:left;width:100%}.setting-label{border-right:5px solid transparent;display:table-cell;text-align:right;width:45%}.setting-input{display:table-cell;width:100%}.small-setting-input{width:5em}.box{border-radius:var(--border-radius);box-sizing:border-box;padding:5px 12px 12px;width:100%}.box,div .popup-content{border:var(--box-border)}div .popup-content{background-color:var(--background-color);border-radius:var(--border-radius);width:50%}@media (max-width:1023px){div .popup-content{width:80%}}.horizontally-spaced-content{display:flex;flex-direction:row}.horizontally-spaced-content>:not(:last-child){margin-right:5px}.vertically-spaced-content{display:flex;flex-direction:column}.vertically-spaced-content>:not(:last-child){margin-bottom:5px}.two-column-grid{grid-column-gap:5px;grid-row-gap:2px;display:grid;grid-template-columns:-webkit-max-content auto;grid-template-columns:max-content auto}.two-column-grid .alignRight{justify-self:right}.split-20-80{grid-gap:5px;display:grid;grid-template-columns:20% 80%;width:100%}.split-20-80>*{align-self:center}.button{align-items:center;background-color:var(--button-background-color);border:var(--button-border);border-radius:var(--border-radius);box-sizing:border-box;color:var(--button-text-color);cursor:pointer;display:inline-flex;font-size:smaller;justify-content:center;text-decoration:none}.button-with-text{padding:3px 6px}.button-with-icon{color:var(--button-icon-color);height:36px;width:36px}.smallbutton{height:28px;padding:1px 3px;width:32px}@media (hover:hover) and (pointer:fine){.button:hover{background-color:var(--hovered-button-background-color);border:var(--hovered-button-border)}}.button:active{background-color:var(--active-button-background-color);border:var(--active-button-border)}.disabled-button,.disabled-button:active,.disabled-button:hover{background-color:var(--disabled-button-background-color);cursor:auto;opacity:var(--disabled-button-opacity)}.highlighted-button,.highlighted-button:active,.highlighted-button:hover{background-color:var(--highlighted-button-background-color);border:var(--highlighted-button-border)}.config-status{margin:10px 4px 2px}.versions{display:flex;flex-direction:row;font-size:xx-small;justify-content:space-evenly;margin:15px 0;width:100%}.success-text{color:var(--success-text-color)}.error-text{color:var(--error-text-color)}.pipeline-channel{text-align:center;width:100%}.drag-handle{cursor:move;outline:transparent}.dragSource{opacity:.5;z-index:10}.dropTargetParent{position:relative}.dropTarget:after{border:var(--highlighted-button-border);border-radius:var(--border-radius);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.popup-content{background:#fff;border:1px solid #d7d7d7;margin:auto;padding:5px;width:50%}[role=tooltip].popup-content{border-radius:5px;box-shadow:0 0 3px rgba(0,0,0,.16);width:200px}.popup-overlay{background:rgba(0,0,0,.5)}[data-popup=tooltip].popup-overlay{background:transparent}.popup-arrow{stroke-width:2px;stroke:#d7d7d7;stroke-dasharray:30px;stroke-dashoffset:-54px;bottom:0;color:#fff;-webkit-filter:drop-shadow(0 -3px 3px rgba(0,0,0,.16));filter:drop-shadow(0 -3px 3px rgba(0,0,0,.16));left:0;right:0;top:0} +.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{border:1px solid transparent;border-bottom:none;bottom:-1px;cursor:pointer;display:inline-block;list-style:none;padding:6px 12px;position:relative}.react-tabs__tab--selected{background:#fff;border-color:#aaa;border-radius:5px 5px 0 0;color:#000}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{outline:none}.react-tabs__tab:focus:after{background:#fff;bottom:-5px;content:"";height:5px;left:-4px;position:absolute;right:-4px}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}hr{margin:2px 0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input:not([type=checkbox]),select{background-color:var(--background-color);border:var(--input-border);border-radius:var(--border-radius);box-sizing:border-box;color:var(--text-color);height:28px;padding:0 4px}input:not([type=checkbox]):focus,select:focus{border:var(--focused-input-border);outline:none}input[type=range]{background-color:transparent}input[type=checkbox]{cursor:pointer}textarea{background-color:var(--background-color);color:var(--text-color)}textarea.logfileviewer{accent-color:var(--background-color);resize:none}.react-tabs__tab--selected{background:var(--background-color);border:var(--box-border);border-bottom:none;border-radius:var(--border-radius) var(--border-radius) 0 0;bottom:calc(var(--box-border-width)*-1);color:var(--text-color)}.react-tabs__tab-list{border-bottom:var(--box-border)}.checkbox-area{cursor:pointer;display:inline-block;padding:2px}.tabpanel{align-items:flex-start;border:4px;display:flex;flex-direction:column;padding:10px 0;text-align:left;width:450px}.tabpanel>*{margin:5px 0}.configapp{align-items:flex-start;display:flex;flex-direction:row;padding:5px}.configapp>:last-child{margin-left:10px}.configtabs{display:flex;flex-direction:column;float:left;padding:10px;text-align:left}.setting{box-sizing:border-box;display:table;height:28px;text-align:left;width:100%}.setting-label{border-right:5px solid transparent;display:table-cell;text-align:right;width:45%}.setting-input{display:table-cell;width:100%}.small-setting-input{width:5em}.box{border-radius:var(--border-radius);box-sizing:border-box;padding:5px 12px 12px;width:100%}.box,div .popup-content{border:var(--box-border)}div .popup-content{background-color:var(--background-color);border-radius:var(--border-radius);width:50%}@media (max-width:1023px){div .popup-content{width:80%}}.horizontally-spaced-content{display:flex;flex-direction:row}.horizontally-spaced-content>:not(:last-child){margin-right:5px}.vertically-spaced-content{display:flex;flex-direction:column}.vertically-spaced-content>:not(:last-child){margin-bottom:5px}.two-column-grid{grid-column-gap:5px;grid-row-gap:2px;display:grid;grid-template-columns:auto auto}.two-column-grid .alignRight{justify-self:right}.split-20-80{grid-gap:5px;display:grid;grid-template-columns:20% 80%;width:100%}.split-20-80>*{align-self:center}.button{align-items:center;background-color:var(--button-background-color);border:var(--button-border);border-radius:var(--border-radius);box-sizing:border-box;color:var(--button-text-color);cursor:pointer;display:inline-flex;font-size:smaller;justify-content:center;text-decoration:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.button-with-text{padding:3px 6px}.button-with-icon{color:var(--button-icon-color);height:36px;width:36px}.smallbutton{height:28px;padding:1px 3px;width:32px}.tinybutton{height:auto;padding:1px 3px;width:auto}@media (hover:hover) and (pointer:fine){.button:hover{background-color:var(--hovered-button-background-color);border:var(--hovered-button-border)}}.button:active{background-color:var(--active-button-background-color);border:var(--active-button-border)}.disabled-button,.disabled-button:active,.disabled-button:hover{background-color:var(--disabled-button-background-color);cursor:default;opacity:var(--disabled-button-opacity)}.highlighted-button,.highlighted-button:active,.highlighted-button:hover{background-color:var(--highlighted-button-background-color);border:var(--highlighted-button-border)}.config-status{margin:10px 4px 2px}.db-label{display:inline-block;margin-left:5px;text-align:right;width:5ch}.versions{display:flex;flex-direction:row;font-size:xx-small;justify-content:space-evenly;margin:15px 0;width:100%}.quick-config-switch>*{margin:5px}.success-text{color:var(--success-text-color)}.error-text{color:var(--error-text-color)}.pipeline-channel{text-align:center;width:100%}.drag-handle{cursor:move;outline:transparent}.dragSource{opacity:.5;z-index:10}.dropTargetParent{position:relative}.dropTarget:after{border:var(--highlighted-button-border);border-radius:var(--border-radius);bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.popup-content{background:#fff;border:1px solid #d7d7d7;margin:auto;padding:5px;width:50%}[role=tooltip].popup-content{border-radius:5px;box-shadow:0 0 3px rgba(0,0,0,.16);width:200px}.popup-overlay{background:rgba(0,0,0,.5)}[data-popup=tooltip].popup-overlay{background:transparent}.popup-arrow{stroke-width:2px;stroke:#d7d7d7;stroke-dasharray:30px;stroke-dashoffset:-54px;bottom:0;color:#fff;-webkit-filter:drop-shadow(0 -3px 3px rgba(0,0,0,.16));filter:drop-shadow(0 -3px 3px rgba(0,0,0,.16));left:0;right:0;top:0} +/*# sourceMappingURL=main.css.map*/ \ No newline at end of file diff --git a/srv/http/settings/camillagui/build/static/css/main.css.map b/srv/http/settings/camillagui/build/static/css/main.css.map new file mode 100644 index 000000000..d2fce5232 --- /dev/null +++ b/srv/http/settings/camillagui/build/static/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.9a9c0e0b.css","mappings":"AAAA,YACE,uCACF,CAEA,sBACE,4BAA6B,CAC7B,eAAgB,CAChB,SACF,CAEA,iBAGE,4BAAmB,CAAnB,kBAAmB,CACnB,WAAY,CAIZ,cAAe,CAPf,oBAAqB,CAKrB,eAAgB,CAChB,gBAAiB,CAFjB,iBAIF,CAEA,2BACE,eAAgB,CAChB,iBAAkB,CAElB,yBAA0B,CAD1B,UAEF,CAEA,2BACE,cAAe,CACf,cACF,CAEA,uBACE,YACF,CAEA,6BAOE,eAAgB,CADhB,WAAY,CALZ,UAAW,CAEX,UAAW,CACX,SAAU,CAFV,iBAAkB,CAGlB,UAGF,CAEA,uBACE,YACF,CAEA,iCACE,aACF,CCnDA,KAOE,kCAAmC,CACnC,iCAAkC,CANlC,wCAAyC,CADzC,uBAAwB,CAGxB,mIAEY,CAHZ,QAMF,CAEA,GACE,YACF,CAEA,KACE,uEAEF,CAEA,kCAEE,wCAAyC,CAGzC,0BAA2B,CAD3B,kCAAmC,CADnC,qBAAsB,CAFtB,uBAAwB,CAKxB,WAAY,CACZ,aACF,CAEA,8CACE,kCAAmC,CACnC,YACF,CAEA,kBACE,4BACF,CAEA,qBACE,cACF,CAEA,SAEE,wCAAyC,CADzC,uBAEF,CAEA,uBAEE,oCAAqC,CADrC,WAEF,CAEA,2BAEE,kCAAmC,CACnC,wBAAyB,CACzB,kBAAmB,CAEnB,2DAA4D,CAD5D,uCAA0C,CAJ1C,uBAMF,CAEA,sBACE,+BACF,CAEA,eACE,cAAe,CACf,oBAAqB,CACrB,WACF,CAEA,UAME,sBAAuB,CALvB,UAAW,CAGX,YAAa,CACb,qBAAsB,CAFtB,cAAe,CADf,eAAgB,CAKhB,WACF,CAEA,YACE,YACF,CAEA,WAIE,sBAAuB,CAFvB,YAAa,CACb,kBAAmB,CAFnB,WAIF,CAEA,uBACE,gBACF,CAEA,YAIE,YAAa,CACb,qBAAsB,CAJtB,UAAW,CAEX,YAAa,CADb,eAIF,CAEA,SACE,qBAAsB,CACtB,aAAc,CAEd,WAAY,CACZ,eAAgB,CAFhB,UAGF,CAEA,eAIE,kCAAmC,CAHnC,kBAAmB,CAEnB,gBAAiB,CADjB,SAGF,CAEA,eACE,kBAAmB,CACnB,UACF,CAEA,qBACE,SACF,CAEA,KAGE,kCAAmC,CAFnC,qBAAsB,CAItB,qBAA2B,CAH3B,UAIF,CAEA,wBAJE,wBASF,CALA,mBAEE,wCAAyC,CAEzC,kCAAmC,CAHnC,SAIF,CAEA,0BACE,mBACE,SACF,CACF,CAEA,6BACE,YAAa,CACb,kBACF,CAEA,+CACE,gBACF,CAEA,2BACE,YAAa,CACb,qBACF,CAEA,6CACE,iBACF,CAEA,iBAEE,mBAAoB,CACpB,gBAAiB,CAFjB,YAAa,CAGb,+BACF,CAEA,6BACE,kBACF,CAEA,aAIE,YAAa,CAFb,YAAa,CACb,6BAA8B,CAF9B,UAIF,CAEA,eACE,iBACF,CAEA,QAUE,kBAAmB,CANnB,+CAAgD,CAEhD,2BAA4B,CAD5B,kCAAmC,CAFnC,qBAAsB,CAFtB,8BAA+B,CAU/B,cAAe,CAHf,mBAAoB,CADpB,iBAAkB,CAElB,sBAAuB,CAPvB,oBAAqB,CAUrB,wBAAiB,CAAjB,oBAAiB,CAAjB,gBACF,CAEA,kBACE,eACF,CAEA,kBAGE,8BAA+B,CAD/B,WAAY,CADZ,UAGF,CAEA,aAEE,WAAY,CADZ,eAAgB,CAEhB,UACF,CAEA,YAGE,WAAa,CAFb,eAAgB,CAChB,UAEF,CAGA,wCACE,cACE,uDAAwD,CACxD,mCACF,CACF,CAEA,eACE,sDAAuD,CACvD,kCACF,CAEA,gEACE,wDAAyD,CAEzD,cAAe,CADf,sCAEF,CAEA,yEACE,2DAA4D,CAC5D,uCACF,CAEA,eACE,mBACF,CAEA,UACE,oBAAqB,CAGrB,eAAgB,CADhB,gBAAiB,CADjB,SAGF,CAEA,UAGE,YAAa,CACb,kBAAmB,CAEnB,kBAAmB,CADnB,4BAA6B,CAH7B,aAAc,CADd,UAMF,CAEA,uBACE,UACF,CAEA,cACE,+BACF,CAEA,YACE,6BACF,CAEA,kBAEE,iBAAkB,CADlB,UAEF,CAEA,aACE,WAAY,CACZ,mBACF,CAEA,YACE,UAAY,CACZ,UACF,CAEA,kBACE,iBACF,CAEA,kBASE,uCAAwC,CADxC,kCAAmC,CAHnC,QAAS,CAJT,UAAW,CACX,aAAc,CAId,MAAO,CAHP,iBAAkB,CAIlB,OAAQ,CAHR,KAMF,CC1TA,eAA2B,eAAe,CAAuB,wBAAuB,CAAzE,WAAW,CAA2B,WAAW,CAArB,SAA8C,CAAC,6BAA4E,iBAAgB,CAAnD,kCAAkC,CAA9C,WAAgE,CAAC,eAAe,yBAAyB,CAAC,mCAAmC,sBAAsB,CAAC,aAA8H,gBAAgB,CAAC,cAAc,CAAC,qBAAqB,CAAC,uBAAuB,CAAsB,QAAO,CAArH,UAAU,CAAhH,sDAAsD,CAAC,8CAA8C,CAA0F,MAAM,CAAC,OAAO,CAAC,KAAc","sources":["../node_modules/react-tabs/style/react-tabs.css","index.css","../node_modules/reactjs-popup/dist/index.css"],"sourcesContent":[".react-tabs {\n -webkit-tap-highlight-color: transparent;\n}\n\n.react-tabs__tab-list {\n border-bottom: 1px solid #aaa;\n margin: 0 0 10px;\n padding: 0;\n}\n\n.react-tabs__tab {\n display: inline-block;\n border: 1px solid transparent;\n border-bottom: none;\n bottom: -1px;\n position: relative;\n list-style: none;\n padding: 6px 12px;\n cursor: pointer;\n}\n\n.react-tabs__tab--selected {\n background: #fff;\n border-color: #aaa;\n color: black;\n border-radius: 5px 5px 0 0;\n}\n\n.react-tabs__tab--disabled {\n color: GrayText;\n cursor: default;\n}\n\n.react-tabs__tab:focus {\n outline: none;\n}\n\n.react-tabs__tab:focus:after {\n content: '';\n position: absolute;\n height: 5px;\n left: -4px;\n right: -4px;\n bottom: -5px;\n background: #fff;\n}\n\n.react-tabs__tab-panel {\n display: none;\n}\n\n.react-tabs__tab-panel--selected {\n display: block;\n}\n","/* For available CSS variables see public/css-variables.css */\r\n\r\nbody {\r\n color: var(--text-color);\r\n background-color: var(--background-color);\r\n margin: 0;\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\nhr {\r\n margin: 2px 0;\r\n}\r\n\r\ncode {\r\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\r\n monospace;\r\n}\r\n\r\ninput:not([type='checkbox']), select {\r\n color: var(--text-color);\r\n background-color: var(--background-color);\r\n box-sizing: border-box;\r\n border-radius: var(--border-radius);\r\n border: var(--input-border);\r\n height: 28px;\r\n padding: 0 4px;\r\n}\r\n\r\ninput:not([type='checkbox']):focus, select:focus {\r\n border: var(--focused-input-border);\r\n outline: none;\r\n}\r\n\r\ninput[type='range'] {\r\n background-color: transparent;\r\n}\r\n\r\ninput[type='checkbox'] {\r\n cursor: pointer;\r\n}\r\n\r\ntextarea {\r\n color: var(--text-color);\r\n background-color: var(--background-color);\r\n}\r\n\r\ntextarea.logfileviewer {\r\n resize: none;\r\n accent-color: var(--background-color);\r\n}\r\n\r\n.react-tabs__tab--selected {\r\n color: var(--text-color);\r\n background: var(--background-color);\r\n border: var(--box-border);\r\n border-bottom: none;\r\n bottom: calc(-1 * var(--box-border-width));\r\n border-radius: var(--border-radius) var(--border-radius) 0 0;\r\n}\r\n\r\n.react-tabs__tab-list {\r\n border-bottom: var(--box-border);\r\n}\r\n\r\n.checkbox-area {\r\n cursor: pointer;\r\n display: inline-block;\r\n padding: 2px;\r\n}\r\n\r\n.tabpanel {\r\n border: 4px;\r\n text-align: left;\r\n padding: 10px 0;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n width: 450px;\r\n}\r\n\r\n.tabpanel > * {\r\n margin: 5px 0;\r\n}\r\n\r\n.configapp {\r\n padding: 5px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n}\r\n\r\n.configapp > :last-child {\r\n margin-left: 10px;\r\n}\r\n\r\n.configtabs {\r\n float: left;\r\n text-align: left;\r\n padding: 10px;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.setting {\r\n box-sizing: border-box;\r\n display: table;\r\n width: 100%;\r\n height: 28px;\r\n text-align: left;\r\n}\r\n\r\n.setting-label {\r\n display: table-cell;\r\n width: 45%;\r\n text-align: right;\r\n border-right: 5px solid transparent;\r\n}\r\n\r\n.setting-input {\r\n display: table-cell;\r\n width: 100%;\r\n}\r\n\r\n.small-setting-input {\r\n width: 5em;\r\n}\r\n\r\n.box {\r\n box-sizing: border-box;\r\n width: 100%;\r\n border-radius: var(--border-radius);\r\n border: var(--box-border);\r\n padding: 5px 12px 12px 12px;\r\n}\r\n\r\ndiv .popup-content {\r\n width: 50%;\r\n background-color: var(--background-color);\r\n border: var(--box-border);\r\n border-radius: var(--border-radius);\r\n}\r\n\r\n@media (max-width: 1023px) {\r\n div .popup-content {\r\n width: 80%;\r\n }\r\n}\r\n\r\n.horizontally-spaced-content {\r\n display: flex;\r\n flex-direction: row;\r\n}\r\n\r\n.horizontally-spaced-content > *:not(:last-child) {\r\n margin-right: 5px;\r\n}\r\n\r\n.vertically-spaced-content {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.vertically-spaced-content > *:not(:last-child) {\r\n margin-bottom: 5px;\r\n}\r\n\r\n.two-column-grid {\r\n display: grid;\r\n grid-column-gap: 5px;\r\n grid-row-gap: 2px;\r\n grid-template-columns: auto auto;\r\n}\r\n\r\n.two-column-grid .alignRight {\r\n justify-self: right;\r\n}\r\n\r\n.split-20-80 {\r\n width: 100%;\r\n display: grid;\r\n grid-template-columns: 20% 80%;\r\n grid-gap: 5px;\r\n}\r\n\r\n.split-20-80 > * {\r\n align-self: center;\r\n}\r\n\r\n.button {\r\n color: var(--button-text-color);\r\n text-decoration: none;\r\n box-sizing: border-box;\r\n background-color: var(--button-background-color);\r\n border-radius: var(--border-radius);\r\n border: var(--button-border);\r\n font-size: smaller;\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n cursor: pointer;\r\n user-select: none;\r\n}\r\n\r\n.button-with-text {\r\n padding: 3px 6px;\r\n}\r\n\r\n.button-with-icon {\r\n width: 36px;\r\n height: 36px;\r\n color: var(--button-icon-color);\r\n}\r\n\r\n.smallbutton {\r\n padding: 1px 3px;\r\n height: 28px;\r\n width: 32px;\r\n}\r\n\r\n.tinybutton {\r\n padding: 1px 3px;\r\n width: unset;\r\n height: unset;\r\n}\r\n\r\n/* Disable hover for mobile/tablets */\r\n@media (hover: hover) and (pointer: fine) {\r\n .button:hover {\r\n background-color: var(--hovered-button-background-color);\r\n border: var(--hovered-button-border);\r\n }\r\n}\r\n\r\n.button:active {\r\n background-color: var(--active-button-background-color);\r\n border: var(--active-button-border)\r\n}\r\n\r\n.disabled-button, .disabled-button:hover, .disabled-button:active {\r\n background-color: var(--disabled-button-background-color);\r\n opacity: var(--disabled-button-opacity);\r\n cursor: default;\r\n}\r\n\r\n.highlighted-button, .highlighted-button:hover, .highlighted-button:active {\r\n background-color: var(--highlighted-button-background-color);\r\n border: var(--highlighted-button-border);\r\n}\r\n\r\n.config-status {\r\n margin: 10px 4px 2px;\r\n}\r\n\r\n.db-label {\r\n display: inline-block;\r\n width: 5ch;\r\n text-align: right;\r\n margin-left: 5px;\r\n}\r\n\r\n.versions {\r\n width: 100%;\r\n margin: 15px 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-evenly;\r\n font-size: xx-small;\r\n}\r\n\r\n.quick-config-switch > * {\r\n margin: 5px;\r\n}\r\n\r\n.success-text {\r\n color: var(--success-text-color);\r\n}\r\n\r\n.error-text {\r\n color: var(--error-text-color);\r\n}\r\n\r\n.pipeline-channel {\r\n width: 100%;\r\n text-align: center;\r\n}\r\n\r\n.drag-handle {\r\n cursor: move;\r\n outline: transparent;\r\n}\r\n\r\n.dragSource {\r\n opacity: 0.5;\r\n z-index: 10;\r\n}\r\n\r\n.dropTargetParent {\r\n position: relative;\r\n}\r\n\r\n.dropTarget:after {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n border-radius: var(--border-radius);\r\n border: var(--highlighted-button-border);\r\n}",".popup-content{margin:auto;background:#fff;width:50%;padding:5px;border:1px solid #d7d7d7}[role=tooltip].popup-content{width:200px;box-shadow:0 0 3px rgba(0,0,0,.16);border-radius:5px}.popup-overlay{background:rgba(0,0,0,.5)}[data-popup=tooltip].popup-overlay{background:transparent}.popup-arrow{-webkit-filter:drop-shadow(0 -3px 3px rgba(0,0,0,.16));filter:drop-shadow(0 -3px 3px rgba(0,0,0,.16));color:#fff;stroke-width:2px;stroke:#d7d7d7;stroke-dasharray:30px;stroke-dashoffset:-54px;left:0;right:0;top:0;bottom:0}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/srv/http/settings/camillagui/build/static/js/main.js b/srv/http/settings/camillagui/build/static/js/main.js index 978f793dd..d406c3dba 100644 --- a/srv/http/settings/camillagui/build/static/js/main.js +++ b/srv/http/settings/camillagui/build/static/js/main.js @@ -1,2 +1,3 @@ -/*! For license information please see main.49b055f9.js.LICENSE.txt */ -!function(){var e={7757:function(e,t,n){e.exports=n(4596)},4798:function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t){e.exports=n(8731)},function(e,t){e.exports=n(9867)},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(C.transform=D.join(" "),C.transformOrigin="center",O&&(j=r.createElement("g",{style:C},P,r.createElement("rect",{width:"24",height:"24",fill:"transparent"}))));var I,A=j,N=!0===k||"number"!=typeof k?2:k,L=!O&&(m||b);if(N<0&&(L=!L),k&&(A=r.createElement("g",{style:{animation:"spin"+(L?"-inverse":"")+" linear "+Math.abs(N)+"s infinite",transformOrigin:"center"}},j,!(m||b||0!==x)&&r.createElement("rect",{width:"24",height:"24",fill:"transparent"}))),O)return A;var F,R="icon_labelledby_"+o,z="icon_describedby_"+o;if(s)I=f?R+" "+z:R;else if(F="presentation",f)throw new Error("title attribute required when description is set");return r.createElement("svg",l({ref:t,viewBox:"0 0 24 24",style:C,role:F,"aria-labelledby":I},E),s&&r.createElement("title",{id:R},s),f&&r.createElement("desc",{id:z},f),!O&&k&&(L?r.createElement("style",null,"@keyframes spin-inverse { to { transform: rotate(-360deg) } }"):r.createElement("style",null,"@keyframes spin { to { transform: rotate(360deg) } }")),A)}));f.displayName="Icon",f.propTypes={path:i.string.isRequired,size:i.oneOfType([i.number,i.string]),color:i.string,horizontal:i.bool,vertical:i.bool,rotate:i.number,spin:i.oneOfType([i.bool,i.number]),style:i.object,inStack:i.bool,className:i.string},f.defaultProps={size:null,color:"currentColor",horizontal:!1,vertical:!1,rotate:0,spin:!1},t.default=f}])},4589:function(e,t,n){e.exports=function(e){"use strict";function t(e,t){return e(t={exports:{}},t.exports),t.exports}function n(e){return e&&e.default||e}e=e&&e.hasOwnProperty("default")?e.default:e;var r={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},i=t((function(e){var t={};for(var n in r)r.hasOwnProperty(n)&&(t[r[n]]=n);var i=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var o in i)if(i.hasOwnProperty(o)){if(!("channels"in i[o]))throw new Error("missing channels property: "+o);if(!("labels"in i[o]))throw new Error("missing channel labels property: "+o);if(i[o].labels.length!==i[o].channels)throw new Error("channel and label counts mismatch: "+o);var a=i[o].channels,s=i[o].labels;delete i[o].channels,delete i[o].labels,Object.defineProperty(i[o],"channels",{value:a}),Object.defineProperty(i[o],"labels",{value:s})}function u(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}i.rgb.hsl=function(e){var t,n,r=e[0]/255,i=e[1]/255,o=e[2]/255,a=Math.min(r,i,o),s=Math.max(r,i,o),u=s-a;return s===a?t=0:r===s?t=(i-o)/u:i===s?t=2+(o-r)/u:o===s&&(t=4+(r-i)/u),(t=Math.min(60*t,360))<0&&(t+=360),n=(a+s)/2,[t,100*(s===a?0:n<=.5?u/(s+a):u/(2-s-a)),100*n]},i.rgb.hsv=function(e){var t,n,r,i,o,a=e[0]/255,s=e[1]/255,u=e[2]/255,l=Math.max(a,s,u),c=l-Math.min(a,s,u),f=function(e){return(l-e)/6/c+.5};return 0===c?i=o=0:(o=c/l,t=f(a),n=f(s),r=f(u),a===l?i=r-n:s===l?i=1/3+t-r:u===l&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*l]},i.rgb.hwb=function(e){var t=e[0],n=e[1],r=e[2];return[i.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(n,r))*100,100*(r=1-1/255*Math.max(t,Math.max(n,r)))]},i.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-i)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-i-t)/(1-t)||0),100*t]},i.rgb.keyword=function(e){var n=t[e];if(n)return n;var i,o=1/0;for(var a in r)if(r.hasOwnProperty(a)){var s=u(e,r[a]);s.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},i.rgb.lab=function(e){var t=i.rgb.xyz(e),n=t[0],r=t[1],o=t[2];return r/=100,o/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},i.hsl.rgb=function(e){var t,n,r,i,o,a=e[0]/360,s=e[1]/100,u=e[2]/100;if(0===s)return[o=255*u,o,o];t=2*u-(n=u<.5?u*(1+s):u+s-u*s),i=[0,0,0];for(var l=0;l<3;l++)(r=a+1/3*-(l-1))<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[l]=255*o;return i},i.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,i=n,o=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,i*=o<=1?o:2-o,[t,100*(0===r?2*i/(o+i):2*n/(r+n)),(r+n)/2*100]},i.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),u=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,u,a];case 1:return[s,r,a];case 2:return[a,r,u];case 3:return[a,s,r];case 4:return[u,a,r];case 5:return[r,a,s]}},i.hsv.hsl=function(e){var t,n,r,i=e[0],o=e[1]/100,a=e[2]/100,s=Math.max(a,.01);return r=(2-o)*a,n=o*s,[i,100*(n=(n/=(t=(2-o)*s)<=1?t:2-t)||0),100*(r/=2)]},i.hwb.rgb=function(e){var t,n,r,i,o,a,s,u=e[0]/360,l=e[1]/100,c=e[2]/100,f=l+c;switch(f>1&&(l/=f,c/=f),r=6*u-(t=Math.floor(6*u)),0!==(1&t)&&(r=1-r),i=l+r*((n=1-c)-l),t){default:case 6:case 0:o=n,a=i,s=l;break;case 1:o=i,a=n,s=l;break;case 2:o=l,a=n,s=i;break;case 3:o=l,a=i,s=n;break;case 4:o=i,a=l,s=n;break;case 5:o=n,a=l,s=i}return[255*o,255*a,255*s]},i.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},i.xyz.rgb=function(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100;return n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,t=(t=3.2406*i+-1.5372*o+-.4986*a)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},i.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},i.lab.xyz=function(e){var t,n,r,i=e[0];t=e[1]/500+(n=(i+16)/116),r=n-e[2]/200;var o=Math.pow(n,3),a=Math.pow(t,3),s=Math.pow(r,3);return n=o>.008856?o:(n-16/116)/7.787,t=a>.008856?a:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},i.lab.lch=function(e){var t,n=e[0],r=e[1],i=e[2];return(t=360*Math.atan2(i,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+i*i),t]},i.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},i.rgb.ansi16=function(e){var t=e[0],n=e[1],r=e[2],o=1 in arguments?arguments[1]:i.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var a=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(a+=60),a},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},i.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},i.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},i.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},i.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},i.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,i=e[2]/255,o=Math.max(Math.max(n,r),i),a=Math.min(Math.min(n,r),i),s=o-a;return t=s<=0?0:o===n?(r-i)/s%6:o===r?2+(i-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?a/(1-s):0)]},i.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,i=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},i.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},i.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i=[0,0,0],o=t%1*6,a=o%1,s=1-a,u=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=a,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=a;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=a,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return u=(1-n)*r,[255*(n*i[0]+u),255*(n*i[1]+u),255*(n*i[2]+u)]},i.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},i.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},i.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},i.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=i.gray.hsv=function(e){return[0,0,e[0]]},i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function o(){for(var e={},t=Object.keys(i),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function d(e){var t=function(t){if(void 0===t||null===t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"===typeof n)for(var r=n.length,i=0;i=0&&t<1?j(Math.round(255*t)):"")}function k(e,t){return t<1||e[3]&&e[3]<1?S(e,t):"rgb("+e[0]+", "+e[1]+", "+e[2]+")"}function S(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"}function C(e,t){return t<1||e[3]&&e[3]<1?T(e,t):"rgb("+Math.round(e[0]/255*100)+"%, "+Math.round(e[1]/255*100)+"%, "+Math.round(e[2]/255*100)+"%)"}function T(e,t){return"rgba("+Math.round(e[0]/255*100)+"%, "+Math.round(e[1]/255*100)+"%, "+Math.round(e[2]/255*100)+"%, "+(t||e[3]||1)+")"}function O(e,t){return t<1||e[3]&&e[3]<1?E(e,t):"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)"}function E(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+t+")"}function M(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+(void 0!==t&&1!==t?", "+t:"")+")"}function D(e){return I[e.slice(0,3)]}function P(e,t,n){return Math.min(Math.max(t,e),n)}function j(e){var t=e.toString(16).toUpperCase();return t.length<2?"0"+t:t}var I={};for(var A in p)I[p[A]]=A;var N=function e(t){return t instanceof e?t:this instanceof e?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"===typeof t?(n=g.getRgba(t))?this.setValues("rgb",n):(n=g.getHsla(t))?this.setValues("hsl",n):(n=g.getHwb(t))&&this.setValues("hwb",n):"object"===typeof t&&(void 0!==(n=t).r||void 0!==n.red?this.setValues("rgb",n):void 0!==n.l||void 0!==n.lightness?this.setValues("hsl",n):void 0!==n.v||void 0!==n.value?this.setValues("hsv",n):void 0!==n.w||void 0!==n.whiteness?this.setValues("hwb",n):void 0===n.c&&void 0===n.cyan||this.setValues("cmyk",n)))):new e(t);var n};N.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return 1!==e.alpha?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return void 0===e?this.values.alpha:(this.setValues("alpha",e),this)},red:function(e){return this.setChannel("rgb",0,e)},green:function(e){return this.setChannel("rgb",1,e)},blue:function(e){return this.setChannel("rgb",2,e)},hue:function(e){return e&&(e=(e%=360)<0?360+e:e),this.setChannel("hsl",0,e)},saturation:function(e){return this.setChannel("hsl",1,e)},lightness:function(e){return this.setChannel("hsl",2,e)},saturationv:function(e){return this.setChannel("hsv",1,e)},whiteness:function(e){return this.setChannel("hwb",1,e)},blackness:function(e){return this.setChannel("hwb",2,e)},value:function(e){return this.setChannel("hsv",2,e)},cyan:function(e){return this.setChannel("cmyk",0,e)},magenta:function(e){return this.setChannel("cmyk",1,e)},yellow:function(e){return this.setChannel("cmyk",2,e)},black:function(e){return this.setChannel("cmyk",3,e)},hexString:function(){return g.hexString(this.values.rgb)},rgbString:function(){return g.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return g.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return g.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return g.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return g.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return g.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return g.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues("rgb",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues("hsl",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues("hsl",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues("hsl",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues("hsl",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues("hwb",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues("hwb",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues("rgb",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues("alpha",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues("alpha",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues("hsl",t),this},mix:function(e,t){var n=this,r=e,i=void 0===t?.5:t,o=2*i-1,a=n.alpha()-r.alpha(),s=((o*a===-1?o:(o+a)/(1+o*a))+1)/2,u=1-s;return this.rgb(s*n.red()+u*r.red(),s*n.green()+u*r.green(),s*n.blue()+u*r.blue()).alpha(n.alpha()*i+r.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new N,r=this.values,i=n.values;for(var o in r)r.hasOwnProperty(o)&&(e=r[o],"[object Array]"===(t={}.toString.call(e))?i[o]=e.slice(0):"[object Number]"===t?i[o]=e:console.error("unexpected color value:",e));return n}},N.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},N.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},N.prototype.getValues=function(e){for(var t=this.values,n={},r=0;r=0;i--)t.call(n,e[i],i);else for(i=0;i=1?e:-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-(e-=1)*e)},easeInOutCirc:function(e){return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeInElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),-r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n))},easeOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/n)+1)},easeInOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:2===(e/=.5)?1:(n||(n=.45),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),e<1?r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*-.5:r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:function(e){return 1-V.easeOutBounce(1-e)},easeOutBounce:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:function(e){return e<.5?.5*V.easeInBounce(2*e):.5*V.easeOutBounce(2*e-1)+.5}},H={effects:V};z.easingEffects=V;var B=Math.PI,W=B/180,U=2*B,Y=B/2,q=B/4,K=2*B/3,G={clear:function(e){e.ctx.clearRect(0,0,e.width,e.height)},roundedRect:function(e,t,n,r,i,o){if(o){var a=Math.min(o,i/2,r/2),s=t+a,u=n+a,l=t+r-a,c=n+i-a;e.moveTo(t,u),st.left-n&&e.xt.top-n&&e.y0&&e.requestAnimationFrame()},advance:function(){for(var e,t,n,r,i=this.animations,o=0;o=n?(ae.callback(e.onAnimationComplete,[e],t),t.animating=!1,i.splice(o,1)):++o}},ye=ae.options.resolve,be=["push","pop","shift","splice","unshift"];function _e(e,t){e._chartjs?e._chartjs.listeners.push(t):(Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),be.forEach((function(t){var n="onData"+t.charAt(0).toUpperCase()+t.slice(1),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:function(){var t=Array.prototype.slice.call(arguments),i=r.apply(this,t);return ae.each(e._chartjs.listeners,(function(e){"function"===typeof e[n]&&e[n].apply(e,t)})),i}})})))}function xe(e,t){var n=e._chartjs;if(n){var r=n.listeners,i=r.indexOf(t);-1!==i&&r.splice(i,1),r.length>0||(be.forEach((function(t){delete e[t]})),delete e._chartjs)}}var we=function(e,t){this.initialize(e,t)};ae.extend(we.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(e,t){var n=this;n.chart=e,n.index=t,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(e){this.index=e},linkScales:function(){var e=this,t=e.getMeta(),n=e.chart,r=n.scales,i=e.getDataset(),o=n.options.scales;null!==t.xAxisID&&t.xAxisID in r&&!i.xAxisID||(t.xAxisID=i.xAxisID||o.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in r&&!i.yAxisID||(t.yAxisID=i.yAxisID||o.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(e){return this.chart.scales[e]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&xe(this._data,this)},createMetaDataset:function(){var e=this,t=e.datasetElementType;return t&&new t({_chart:e.chart,_datasetIndex:e.index})},createMetaData:function(e){var t=this,n=t.dataElementType;return n&&new n({_chart:t.chart,_datasetIndex:t.index,_index:e})},addElements:function(){var e,t,n=this,r=n.getMeta(),i=n.getDataset().data||[],o=r.data;for(e=0,t=i.length;er&&e.insertElements(r,i-r)},insertElements:function(e,t){for(var n=0;ni?(o=i/t.innerRadius,e.arc(a,s,t.innerRadius-i,r+o,n-o,!0)):e.arc(a,s,i,r+Math.PI/2,n-Math.PI/2),e.closePath(),e.clip()}function Te(e,t,n,r){var i,o=n.endAngle;for(r&&(n.endAngle=n.startAngle+Se,Ce(e,n),n.endAngle=o,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=Se,n.fullCircles--)),e.beginPath(),e.arc(n.x,n.y,n.innerRadius,n.startAngle+Se,n.startAngle,!0),i=0;is;)i-=Se;for(;i=a&&i<=s,l=o>=n.innerRadius&&o<=n.outerRadius;return u&&l}return!1},getCenterPoint:function(){var e=this._view,t=(e.startAngle+e.endAngle)/2,n=(e.innerRadius+e.outerRadius)/2;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},getArea:function(){var e=this._view;return Math.PI*((e.endAngle-e.startAngle)/(2*Math.PI))*(Math.pow(e.outerRadius,2)-Math.pow(e.innerRadius,2))},tooltipPosition:function(){var e=this._view,t=e.startAngle+(e.endAngle-e.startAngle)/2,n=(e.outerRadius-e.innerRadius)/2+e.innerRadius;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},draw:function(){var e,t=this._chart.ctx,n=this._view,r="inner"===n.borderAlign?.33:0,i={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-r,0),pixelMargin:r,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/Se)};if(t.save(),t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor,i.fullCircles){for(i.endAngle=i.startAngle+Se,t.beginPath(),t.arc(i.x,i.y,i.outerRadius,i.startAngle,i.endAngle),t.arc(i.x,i.y,i.innerRadius,i.endAngle,i.startAngle,!0),t.closePath(),e=0;ee.x&&(t=Ve(t,"left","right")):e.basen?n:r,r:u.right||i<0?0:i>t?t:i,b:u.bottom||o<0?0:o>n?n:o,l:u.left||a<0?0:a>t?t:a}}function We(e){var t=ze(e),n=t.right-t.left,r=t.bottom-t.top,i=Be(e,n/2,r/2);return{outer:{x:t.left,y:t.top,w:n,h:r},inner:{x:t.left+i.l,y:t.top+i.t,w:n-i.l-i.r,h:r-i.t-i.b}}}function Ue(e,t,n){var r=null===t,i=null===n,o=!(!e||r&&i)&&ze(e);return o&&(r||t>=o.left&&t<=o.right)&&(i||n>=o.top&&n<=o.bottom)}Q._set("global",{elements:{rectangle:{backgroundColor:Fe,borderColor:Fe,borderSkipped:"bottom",borderWidth:0}}});var Ye=pe.extend({_type:"rectangle",draw:function(){var e=this._chart.ctx,t=this._view,n=We(t),r=n.outer,i=n.inner;e.fillStyle=t.backgroundColor,e.fillRect(r.x,r.y,r.w,r.h),r.w===i.w&&r.h===i.h||(e.save(),e.beginPath(),e.rect(r.x,r.y,r.w,r.h),e.clip(),e.fillStyle=t.borderColor,e.rect(i.x,i.y,i.w,i.h),e.fill("evenodd"),e.restore())},height:function(){var e=this._view;return e.base-e.y},inRange:function(e,t){return Ue(this._view,e,t)},inLabelRange:function(e,t){var n=this._view;return Re(n)?Ue(n,e,null):Ue(n,null,t)},inXRange:function(e){return Ue(this._view,e,null)},inYRange:function(e){return Ue(this._view,null,e)},getCenterPoint:function(){var e,t,n=this._view;return Re(n)?(e=n.x,t=(n.y+n.base)/2):(e=(n.x+n.base)/2,t=n.y),{x:e,y:t}},getArea:function(){var e=this._view;return Re(e)?e.width*Math.abs(e.y-e.base):e.height*Math.abs(e.x-e.base)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y}}}),qe={},Ke=Ee,Ge=Pe,$e=Le,Xe=Ye;qe.Arc=Ke,qe.Line=Ge,qe.Point=$e,qe.Rectangle=Xe;var Qe=ae._deprecated,Ze=ae.valueOrDefault;function Je(e,t){var n,r,i,o,a=e._length;for(i=1,o=t.length;i0?Math.min(a,Math.abs(r-n)):a,n=r;return a}function et(e,t,n){var r,i,o=n.barThickness,a=t.stackCount,s=t.pixels[e],u=ae.isNullOrUndef(o)?Je(t.scale,t.pixels):-1;return ae.isNullOrUndef(o)?(r=u*n.categoryPercentage,i=n.barPercentage):(r=o*a,i=1),{chunk:r/a,ratio:i,start:s-r/2}}function tt(e,t,n){var r,i=t.pixels,o=i[e],a=e>0?i[e-1]:null,s=e=0&&v.min>=0?v.min:v.max,x=void 0===v.start?v.end:v.max>=0&&v.min>=0?v.max-v.min:v.min-v.max,w=g.length;if(y||void 0===y&&void 0!==b)for(r=0;r=0&&l.max>=0?l.max:l.min,(v.min<0&&o<0||v.max>=0&&o>0)&&(_+=o));return a=d.getPixelForValue(_),u=(s=d.getPixelForValue(_+x))-a,void 0!==m&&Math.abs(u)=0&&!h||x<0&&h?a-m:a+m),{size:u,base:a,head:s,center:s+u/2}},calculateBarIndexPixels:function(e,t,n,r){var i=this,o="flex"===r.barThickness?tt(t,n,r):et(t,n,r),a=i.getStackIndex(e,i.getMeta().stack),s=o.start+o.chunk*a+o.chunk/2,u=Math.min(Ze(r.maxBarThickness,1/0),o.chunk*o.ratio);return{base:s-u/2,head:s+u/2,center:s,size:u}},draw:function(){var e=this,t=e.chart,n=e._getValueScale(),r=e.getMeta().data,i=e.getDataset(),o=r.length,a=0;for(ae.canvas.clipArea(t.ctx,t.chartArea);a=st?-ut:y<-st?ut:0)+v,_=Math.cos(y),x=Math.sin(y),w=Math.cos(b),k=Math.sin(b),S=y<=0&&b>=0||b>=ut,C=y<=lt&&b>=lt||b>=ut+lt,T=y<=-lt&&b>=-lt||b>=st+lt,O=y===-st||b>=st?-1:Math.min(_,_*g,w,w*g),E=T?-1:Math.min(x,x*g,k,k*g),M=S?1:Math.max(_,_*g,w,w*g),D=C?1:Math.max(x,x*g,k,k*g);l=(M-O)/2,c=(D-E)/2,f=-(M+O)/2,d=-(D+E)/2}for(r=0,i=p.length;r0&&!isNaN(e)?ut*(Math.abs(e)/t):0},getMaxBorderWidth:function(e){var t,n,r,i,o,a,s,u,l=this,c=0,f=l.chart;if(!e)for(t=0,n=f.data.datasets.length;t(c=s>c?s:c)?u:c);return c},setHoverStyle:function(e){var t=e._model,n=e._options,r=ae.getHoverColor;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth},t.backgroundColor=at(n.hoverBackgroundColor,r(n.backgroundColor)),t.borderColor=at(n.hoverBorderColor,r(n.borderColor)),t.borderWidth=at(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(e){for(var t=0,n=0;n0&&pt(l[e-1]._model,u)&&(n.controlPointPreviousX=c(n.controlPointPreviousX,u.left,u.right),n.controlPointPreviousY=c(n.controlPointPreviousY,u.top,u.bottom)),e0&&(o=e.getDatasetMeta(o[0]._datasetIndex).data),o},"x-axis":function(e,t){return Dt(e,t,{intersect:!1})},point:function(e,t){return Ot(e,Ct(t,e))},nearest:function(e,t,n){var r=Ct(t,e);n.axis=n.axis||"xy";var i=Mt(n.axis);return Et(e,r,n.intersect,i)},x:function(e,t,n){var r=Ct(t,e),i=[],o=!1;return Tt(e,(function(e){e.inXRange(r.x)&&i.push(e),e.inRange(r.x,r.y)&&(o=!0)})),n.intersect&&!o&&(i=[]),i},y:function(e,t,n){var r=Ct(t,e),i=[],o=!1;return Tt(e,(function(e){e.inYRange(r.y)&&i.push(e),e.inRange(r.x,r.y)&&(o=!0)})),n.intersect&&!o&&(i=[]),i}}},jt=ae.extend;function It(e,t){return ae.where(e,(function(e){return e.pos===t}))}function At(e,t){return e.sort((function(e,n){var r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function Nt(e){var t,n,r,i=[];for(t=0,n=(e||[]).length;t div {\r\n\tposition: absolute;\r\n\twidth: 1000000px;\r\n\theight: 1000000px;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n\r\n.chartjs-size-monitor-shrink > div {\r\n\tposition: absolute;\r\n\twidth: 200%;\r\n\theight: 200%;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n",Kt=n(Object.freeze({__proto__:null,default:qt})),Gt="$chartjs",$t="chartjs-",Xt=$t+"size-monitor",Qt=$t+"render-monitor",Zt=$t+"render-animation",Jt=["animationstart","webkitAnimationStart"],en={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function tn(e,t){var n=ae.getStyle(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?Number(r[1]):void 0}function nn(e,t){var n=e.style,r=e.getAttribute("height"),i=e.getAttribute("width");if(e[Gt]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",null===i||""===i){var o=tn(e,"width");void 0!==o&&(e.width=o)}if(null===r||""===r)if(""===e.style.height)e.height=e.width/(t.options.aspectRatio||2);else{var a=tn(e,"height");void 0!==o&&(e.height=a)}return e}var rn=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("e",null,t)}catch(n){}return e}(),on=!!rn&&{passive:!0};function an(e,t,n){e.addEventListener(t,n,on)}function sn(e,t,n){e.removeEventListener(t,n,on)}function un(e,t,n,r,i){return{type:e,chart:t,native:i||null,x:void 0!==n?n:null,y:void 0!==r?r:null}}function ln(e,t){var n=en[e.type]||e.type,r=ae.getRelativePosition(e,t);return un(n,t,r.x,r.y,e)}function cn(e,t){var n=!1,r=[];return function(){r=Array.prototype.slice.call(arguments),t=t||this,n||(n=!0,ae.requestAnimFrame.call(window,(function(){n=!1,e.apply(t,r)})))}}function fn(e){var t=document.createElement("div");return t.className=e||"",t}function dn(e){var t=1e6,n=fn(Xt),r=fn(Xt+"-expand"),i=fn(Xt+"-shrink");r.appendChild(fn()),i.appendChild(fn()),n.appendChild(r),n.appendChild(i),n._reset=function(){r.scrollLeft=t,r.scrollTop=t,i.scrollLeft=t,i.scrollTop=t};var o=function(){n._reset(),e()};return an(r,"scroll",o.bind(r,"expand")),an(i,"scroll",o.bind(i,"shrink")),n}function hn(e,t){var n=e[Gt]||(e[Gt]={}),r=n.renderProxy=function(e){e.animationName===Zt&&t()};ae.each(Jt,(function(t){an(e,t,r)})),n.reflow=!!e.offsetParent,e.classList.add(Qt)}function pn(e){var t=e[Gt]||{},n=t.renderProxy;n&&(ae.each(Jt,(function(t){sn(e,t,n)})),delete t.renderProxy),e.classList.remove(Qt)}function gn(e,t,n){var r=e[Gt]||(e[Gt]={}),i=r.resizer=dn(cn((function(){if(r.resizer){var i=n.options.maintainAspectRatio&&e.parentNode,o=i?i.clientWidth:0;t(un("resize",n)),i&&i.clientWidth0){var o=e[0];o.label?n=o.label:o.xLabel?n=o.xLabel:i>0&&o.index-1?e.split("\n"):e}function En(e){var t=e._xScale,n=e._yScale||e._scale,r=e._index,i=e._datasetIndex,o=e._chart.getDatasetMeta(i).controller,a=o._getIndexScale(),s=o._getValueScale();return{xLabel:t?t.getLabelForIndex(r,i):"",yLabel:n?n.getLabelForIndex(r,i):"",label:a?""+a.getLabelForIndex(r,i):"",value:s?""+s.getLabelForIndex(r,i):"",index:r,datasetIndex:i,x:e._model.x,y:e._model.y}}function Mn(e){var t=Q.global;return{xPadding:e.xPadding,yPadding:e.yPadding,xAlign:e.xAlign,yAlign:e.yAlign,rtl:e.rtl,textDirection:e.textDirection,bodyFontColor:e.bodyFontColor,_bodyFontFamily:kn(e.bodyFontFamily,t.defaultFontFamily),_bodyFontStyle:kn(e.bodyFontStyle,t.defaultFontStyle),_bodyAlign:e.bodyAlign,bodyFontSize:kn(e.bodyFontSize,t.defaultFontSize),bodySpacing:e.bodySpacing,titleFontColor:e.titleFontColor,_titleFontFamily:kn(e.titleFontFamily,t.defaultFontFamily),_titleFontStyle:kn(e.titleFontStyle,t.defaultFontStyle),titleFontSize:kn(e.titleFontSize,t.defaultFontSize),_titleAlign:e.titleAlign,titleSpacing:e.titleSpacing,titleMarginBottom:e.titleMarginBottom,footerFontColor:e.footerFontColor,_footerFontFamily:kn(e.footerFontFamily,t.defaultFontFamily),_footerFontStyle:kn(e.footerFontStyle,t.defaultFontStyle),footerFontSize:kn(e.footerFontSize,t.defaultFontSize),_footerAlign:e.footerAlign,footerSpacing:e.footerSpacing,footerMarginTop:e.footerMarginTop,caretSize:e.caretSize,cornerRadius:e.cornerRadius,backgroundColor:e.backgroundColor,opacity:0,legendColorBackground:e.multiKeyBackground,displayColors:e.displayColors,borderColor:e.borderColor,borderWidth:e.borderWidth}}function Dn(e,t){var n=e._chart.ctx,r=2*t.yPadding,i=0,o=t.body,a=o.reduce((function(e,t){return e+t.before.length+t.lines.length+t.after.length}),0);a+=t.beforeBody.length+t.afterBody.length;var s=t.title.length,u=t.footer.length,l=t.titleFontSize,c=t.bodyFontSize,f=t.footerFontSize;r+=s*l,r+=s?(s-1)*t.titleSpacing:0,r+=s?t.titleMarginBottom:0,r+=a*c,r+=a?(a-1)*t.bodySpacing:0,r+=u?t.footerMarginTop:0,r+=u*f,r+=u?(u-1)*t.footerSpacing:0;var d=0,h=function(e){i=Math.max(i,n.measureText(e).width+d)};return n.font=ae.fontString(l,t._titleFontStyle,t._titleFontFamily),ae.each(t.title,h),n.font=ae.fontString(c,t._bodyFontStyle,t._bodyFontFamily),ae.each(t.beforeBody.concat(t.afterBody),h),d=t.displayColors?c+2:0,ae.each(o,(function(e){ae.each(e.before,h),ae.each(e.lines,h),ae.each(e.after,h)})),d=0,n.font=ae.fontString(f,t._footerFontStyle,t._footerFontFamily),ae.each(t.footer,h),{width:i+=2*t.xPadding,height:r}}function Pn(e,t){var n,r,i,o,a,s=e._model,u=e._chart,l=e._chart.chartArea,c="center",f="center";s.yu.height-t.height&&(f="bottom");var d=(l.left+l.right)/2,h=(l.top+l.bottom)/2;"center"===f?(n=function(e){return e<=d},r=function(e){return e>d}):(n=function(e){return e<=t.width/2},r=function(e){return e>=u.width-t.width/2}),i=function(e){return e+t.width+s.caretSize+s.caretPadding>u.width},o=function(e){return e-t.width-s.caretSize-s.caretPadding<0},a=function(e){return e<=h?"top":"bottom"},n(s.x)?(c="left",i(s.x)&&(c="center",f=a(s.y))):r(s.x)&&(c="right",o(s.x)&&(c="center",f=a(s.y)));var p=e._options;return{xAlign:p.xAlign?p.xAlign:c,yAlign:p.yAlign?p.yAlign:f}}function jn(e,t,n,r){var i=e.x,o=e.y,a=e.caretSize,s=e.caretPadding,u=e.cornerRadius,l=n.xAlign,c=n.yAlign,f=a+s,d=u+s;return"right"===l?i-=t.width:"center"===l&&((i-=t.width/2)+t.width>r.width&&(i=r.width-t.width),i<0&&(i=0)),"top"===c?o+=f:o-="bottom"===c?t.height+f:t.height/2,"center"===c?"left"===l?i+=f:"right"===l&&(i-=f):"left"===l?i-=d:"right"===l&&(i+=d),{x:i,y:o}}function In(e,t){return"center"===t?e.x+e.width/2:"right"===t?e.x+e.width-e.xPadding:e.x+e.xPadding}function An(e){return Tn([],On(e))}var Nn=pe.extend({initialize:function(){this._model=Mn(this._options),this._lastActive=[]},getTitle:function(){var e=this,t=e._options.callbacks,n=t.beforeTitle.apply(e,arguments),r=t.title.apply(e,arguments),i=t.afterTitle.apply(e,arguments),o=[];return o=Tn(o,On(n)),o=Tn(o,On(r)),o=Tn(o,On(i))},getBeforeBody:function(){return An(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(e,t){var n=this,r=n._options.callbacks,i=[];return ae.each(e,(function(e){var o={before:[],lines:[],after:[]};Tn(o.before,On(r.beforeLabel.call(n,e,t))),Tn(o.lines,r.label.call(n,e,t)),Tn(o.after,On(r.afterLabel.call(n,e,t))),i.push(o)})),i},getAfterBody:function(){return An(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var e=this,t=e._options.callbacks,n=t.beforeFooter.apply(e,arguments),r=t.footer.apply(e,arguments),i=t.afterFooter.apply(e,arguments),o=[];return o=Tn(o,On(n)),o=Tn(o,On(r)),o=Tn(o,On(i))},update:function(e){var t,n,r=this,i=r._options,o=r._model,a=r._model=Mn(i),s=r._active,u=r._data,l={xAlign:o.xAlign,yAlign:o.yAlign},c={x:o.x,y:o.y},f={width:o.width,height:o.height},d={x:o.caretX,y:o.caretY};if(s.length){a.opacity=1;var h=[],p=[];d=Cn[i.position].call(r,s,r._eventPosition);var g=[];for(t=0,n=s.length;t0&&n.stroke()},draw:function(){var e=this._chart.ctx,t=this._view;if(0!==t.opacity){var n={width:t.width,height:t.height},r={x:t.x,y:t.y},i=Math.abs(t.opacity<.001)?0:t.opacity,o=t.title.length||t.beforeBody.length||t.body.length||t.afterBody.length||t.footer.length;this._options.enabled&&o&&(e.save(),e.globalAlpha=i,this.drawBackground(r,t,e,n),r.y+=t.yPadding,ae.rtl.overrideTextDirection(e,t.textDirection),this.drawTitle(r,t,e),this.drawBody(r,t,e),this.drawFooter(r,t,e),ae.rtl.restoreTextDirection(e,t.textDirection),e.restore())}},handleEvent:function(e){var t=this,n=t._options,r=!1;return t._lastActive=t._lastActive||[],"mouseout"===e.type?t._active=[]:(t._active=t._chart.getElementsAtEventForMode(e,n.mode,n),n.reverse&&t._active.reverse()),(r=!ae.arrayEquals(t._active,t._lastActive))&&(t._lastActive=t._active,(n.enabled||n.custom)&&(t._eventPosition={x:e.x,y:e.y},t.update(!0),t.pivot())),r}}),Ln=Cn,Fn=Nn;Fn.positioners=Ln;var Rn=ae.valueOrDefault;function zn(){return ae.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,n,r){if("xAxes"===e||"yAxes"===e){var i,o,a,s=n[e].length;for(t[e]||(t[e]=[]),i=0;i=t[e].length&&t[e].push({}),!t[e][i].type||a.type&&a.type!==t[e][i].type?ae.merge(t[e][i],[wn.getScaleDefaults(o),a]):ae.merge(t[e][i],a)}else ae._merger(e,t,n,r)}})}function Vn(){return ae.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,n,r){var i=t[e]||Object.create(null),o=n[e];"scales"===e?t[e]=zn(i,o):"scale"===e?t[e]=ae.merge(i,[wn.getScaleDefaults(o.type),o]):ae._merger(e,t,n,r)}})}function Hn(e){var t=(e=e||Object.create(null)).data=e.data||{};return t.datasets=t.datasets||[],t.labels=t.labels||[],e.options=Vn(Q.global,Q[e.type],e.options||{}),e}function Bn(e){var t=e.options;ae.each(e.scales,(function(t){Ut.removeBox(e,t)})),t=Vn(Q.global,Q[e.config.type],t),e.options=e.config.options=t,e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.tooltip._options=t.tooltips,e.tooltip.initialize()}function Wn(e,t,n){var r,i=function(e){return e.id===r};do{r=t+n++}while(ae.findIndex(e,i)>=0);return r}function Un(e){return"top"===e||"bottom"===e}function Yn(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}Q._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var qn=function(e,t){return this.construct(e,t),this};ae.extend(qn.prototype,{construct:function(e,t){var n=this;t=Hn(t);var r=_n.acquireContext(e,t),i=r&&r.canvas,o=i&&i.height,a=i&&i.width;n.id=ae.uid(),n.ctx=r,n.canvas=i,n.config=t,n.width=a,n.height=o,n.aspectRatio=o?a/o:null,n.options=t.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,qn.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(e){n.config.data=e}}),r&&i?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var e=this;return xn.notify(e,"beforeInit"),ae.retinaScale(e,e.options.devicePixelRatio),e.bindEvents(),e.options.responsive&&e.resize(!0),e.initToolTip(),xn.notify(e,"afterInit"),e},clear:function(){return ae.canvas.clear(this),this},stop:function(){return me.cancelAnimation(this),this},resize:function(e){var t=this,n=t.options,r=t.canvas,i=n.maintainAspectRatio&&t.aspectRatio||null,o=Math.max(0,Math.floor(ae.getMaximumWidth(r))),a=Math.max(0,Math.floor(i?o/i:ae.getMaximumHeight(r)));if((t.width!==o||t.height!==a)&&(r.width=t.width=o,r.height=t.height=a,r.style.width=o+"px",r.style.height=a+"px",ae.retinaScale(t,n.devicePixelRatio),!e)){var s={width:o,height:a};xn.notify(t,"resize",[s]),n.onResize&&n.onResize(t,s),t.stop(),t.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var e=this.options,t=e.scales||{},n=e.scale;ae.each(t.xAxes,(function(e,n){e.id||(e.id=Wn(t.xAxes,"x-axis-",n))})),ae.each(t.yAxes,(function(e,n){e.id||(e.id=Wn(t.yAxes,"y-axis-",n))})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var e=this,t=e.options,n=e.scales||{},r=[],i=Object.keys(n).reduce((function(e,t){return e[t]=!1,e}),{});t.scales&&(r=r.concat((t.scales.xAxes||[]).map((function(e){return{options:e,dtype:"category",dposition:"bottom"}})),(t.scales.yAxes||[]).map((function(e){return{options:e,dtype:"linear",dposition:"left"}})))),t.scale&&r.push({options:t.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),ae.each(r,(function(t){var r=t.options,o=r.id,a=Rn(r.type,t.dtype);Un(r.position)!==Un(t.dposition)&&(r.position=t.dposition),i[o]=!0;var s=null;if(o in n&&n[o].type===a)(s=n[o]).options=r,s.ctx=e.ctx,s.chart=e;else{var u=wn.getScaleConstructor(a);if(!u)return;s=new u({id:o,type:a,options:r,ctx:e.ctx,chart:e}),n[s.id]=s}s.mergeTicksOptions(),t.isDefault&&(e.scale=s)})),ae.each(i,(function(e,t){e||delete n[t]})),e.scales=n,wn.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e,t,n=this,r=[],i=n.data.datasets;for(e=0,t=i.length;e=0;--n)r.drawDataset(t[n],e);xn.notify(r,"afterDatasetsDraw",[e])}},drawDataset:function(e,t){var n=this,r={meta:e,index:e.index,easingValue:t};!1!==xn.notify(n,"beforeDatasetDraw",[r])&&(e.controller.draw(t),xn.notify(n,"afterDatasetDraw",[r]))},_drawTooltip:function(e){var t=this,n=t.tooltip,r={tooltip:n,easingValue:e};!1!==xn.notify(t,"beforeTooltipDraw",[r])&&(n.draw(),xn.notify(t,"afterTooltipDraw",[r]))},getElementAtEvent:function(e){return Pt.modes.single(this,e)},getElementsAtEvent:function(e){return Pt.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return Pt.modes["x-axis"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,t,n){var r=Pt.modes[t];return"function"===typeof r?r(this,e,n):[]},getDatasetAtEvent:function(e){return Pt.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(e){var t=this,n=t.data.datasets[e];n._meta||(n._meta={});var r=n._meta[t.id];return r||(r=n._meta[t.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n.order||0,index:e}),r},getVisibleDatasetCount:function(){for(var e=0,t=0,n=this.data.datasets.length;t=0;r--){var i=e[r];if(t(i))return i}},ae.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},ae.almostEquals=function(e,t,n){return Math.abs(e-t)=e},ae.max=function(e){return e.reduce((function(e,t){return isNaN(t)?e:Math.max(e,t)}),Number.NEGATIVE_INFINITY)},ae.min=function(e){return e.reduce((function(e,t){return isNaN(t)?e:Math.min(e,t)}),Number.POSITIVE_INFINITY)},ae.sign=Math.sign?function(e){return Math.sign(e)}:function(e){return 0===(e=+e)||isNaN(e)?e:e>0?1:-1},ae.toRadians=function(e){return e*(Math.PI/180)},ae.toDegrees=function(e){return e*(180/Math.PI)},ae._decimalPlaces=function(e){if(ae.isFinite(e)){for(var t=1,n=0;Math.round(e*t)/t!==e;)t*=10,n++;return n}},ae.getAngleFromPoint=function(e,t){var n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r),o=Math.atan2(r,n);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:i}},ae.distanceBetweenPoints=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},ae.aliasPixel=function(e){return e%2===0?0:.5},ae._alignPixel=function(e,t,n){var r=e.currentDevicePixelRatio,i=n/2;return Math.round((t-i)*r)/r+i},ae.splineCurve=function(e,t,n,r){var i=e.skip?t:e,o=t,a=n.skip?t:n,s=Math.sqrt(Math.pow(o.x-i.x,2)+Math.pow(o.y-i.y,2)),u=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2)),l=s/(s+u),c=u/(s+u),f=r*(l=isNaN(l)?0:l),d=r*(c=isNaN(c)?0:c);return{previous:{x:o.x-f*(a.x-i.x),y:o.y-f*(a.y-i.y)},next:{x:o.x+d*(a.x-i.x),y:o.y+d*(a.y-i.y)}}},ae.EPSILON=Number.EPSILON||1e-14,ae.splineCurveMonotone=function(e){var t,n,r,i,o,a,s,u,l,c=(e||[]).map((function(e){return{model:e._model,deltaK:0,mK:0}})),f=c.length;for(t=0;t0?c[t-1]:null,(i=t0?c[t-1]:null,i=t=e.length-1?e[0]:e[t+1]:t>=e.length-1?e[e.length-1]:e[t+1]},ae.previousItem=function(e,t,n){return n?t<=0?e[e.length-1]:e[t-1]:t<=0?e[0]:e[t-1]},ae.niceNum=function(e,t){var n=Math.floor(ae.log10(e)),r=e/Math.pow(10,n);return(t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10)*Math.pow(10,n)},ae.requestAnimFrame="undefined"===typeof window?function(e){e()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},ae.getRelativePosition=function(e,t){var n,r,i=e.originalEvent||e,o=e.target||e.srcElement,a=o.getBoundingClientRect(),s=i.touches;s&&s.length>0?(n=s[0].clientX,r=s[0].clientY):(n=i.clientX,r=i.clientY);var u=parseFloat(ae.getStyle(o,"padding-left")),l=parseFloat(ae.getStyle(o,"padding-top")),c=parseFloat(ae.getStyle(o,"padding-right")),f=parseFloat(ae.getStyle(o,"padding-bottom")),d=a.right-a.left-u-c,h=a.bottom-a.top-l-f;return{x:n=Math.round((n-a.left-u)/d*o.width/t.currentDevicePixelRatio),y:r=Math.round((r-a.top-l)/h*o.height/t.currentDevicePixelRatio)}},ae.getConstraintWidth=function(e){return n(e,"max-width","clientWidth")},ae.getConstraintHeight=function(e){return n(e,"max-height","clientHeight")},ae._calculatePadding=function(e,t,n){return(t=ae.getStyle(e,t)).indexOf("%")>-1?n*parseInt(t,10)/100:parseInt(t,10)},ae._getParentNode=function(e){var t=e.parentNode;return t&&"[object ShadowRoot]"===t.toString()&&(t=t.host),t},ae.getMaximumWidth=function(e){var t=ae._getParentNode(e);if(!t)return e.clientWidth;var n=t.clientWidth,r=n-ae._calculatePadding(t,"padding-left",n)-ae._calculatePadding(t,"padding-right",n),i=ae.getConstraintWidth(e);return isNaN(i)?r:Math.min(r,i)},ae.getMaximumHeight=function(e){var t=ae._getParentNode(e);if(!t)return e.clientHeight;var n=t.clientHeight,r=n-ae._calculatePadding(t,"padding-top",n)-ae._calculatePadding(t,"padding-bottom",n),i=ae.getConstraintHeight(e);return isNaN(i)?r:Math.min(r,i)},ae.getStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},ae.retinaScale=function(e,t){var n=e.currentDevicePixelRatio=t||"undefined"!==typeof window&&window.devicePixelRatio||1;if(1!==n){var r=e.canvas,i=e.height,o=e.width;r.height=i*n,r.width=o*n,e.ctx.scale(n,n),r.style.height||r.style.width||(r.style.height=i+"px",r.style.width=o+"px")}},ae.fontString=function(e,t,n){return t+" "+e+"px "+n},ae.longestText=function(e,t,n,r){var i=(r=r||{}).data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},o=r.garbageCollect=[],r.font=t),e.font=t;var a,s,u,l,c,f=0,d=n.length;for(a=0;an.length){for(a=0;ar&&(r=o),r},ae.numberOfLabelLines=function(e){var t=1;return ae.each(e,(function(e){ae.isArray(e)&&e.length>t&&(t=e.length)})),t},ae.color=L?function(e){return e instanceof CanvasGradient&&(e=Q.global.defaultColor),L(e)}:function(e){return console.error("Color.js not found!"),e},ae.getHoverColor=function(e){return e instanceof CanvasPattern||e instanceof CanvasGradient?e:ae.color(e).saturate(.5).darken(.1).rgbString()}};function $n(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function Xn(e){this.options=e||{}}ae.extend(Xn.prototype,{formats:$n,parse:$n,format:$n,add:$n,diff:$n,startOf:$n,endOf:$n,_create:function(e){return e}}),Xn.override=function(e){ae.extend(Xn.prototype,e)};var Qn={_date:Xn},Zn={formatters:{values:function(e){return ae.isArray(e)?e:""+e},linear:function(e,t,n){var r=n.length>3?n[2]-n[1]:n[1]-n[0];Math.abs(r)>1&&e!==Math.floor(e)&&(r=e-Math.floor(e));var i=ae.log10(Math.abs(r)),o="";if(0!==e)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var a=ae.log10(Math.abs(e)),s=Math.floor(a)-Math.floor(i);s=Math.max(Math.min(s,20),0),o=e.toExponential(s)}else{var u=-1*Math.floor(i);u=Math.max(Math.min(u,20),0),o=e.toFixed(u)}else o="0";return o},logarithmic:function(e,t,n){var r=e/Math.pow(10,Math.floor(ae.log10(e)));return 0===e?"0":1===r||2===r||5===r||0===t||t===n.length-1?e.toExponential():""}}},Jn=ae.isArray,er=ae.isNullOrUndef,tr=ae.valueOrDefault,nr=ae.valueAtIndexOrDefault;function rr(e,t){for(var n=[],r=e.length/t,i=0,o=e.length;iu+l)))return a}function or(e,t){ae.each(e,(function(e){var n,r=e.gc,i=r.length/2;if(i>t){for(n=0;nl)return o;return Math.max(l,1)}function pr(e){var t,n,r=[];for(t=0,n=e.length;t=d||c<=1||!s.isHorizontal()?s.labelRotation=f:(t=(e=s._getLabelSizes()).widest.width,n=e.highest.height-e.highest.offset,r=Math.min(s.maxWidth,s.chart.width-t),t+6>(i=u.offset?s.maxWidth/c:r/(c-1))&&(i=r/(c-(u.offset?.5:1)),o=s.maxHeight-sr(u.gridLines)-l.padding-ur(u.scaleLabel),a=Math.sqrt(t*t+n*n),h=ae.toDegrees(Math.min(Math.asin(Math.min((e.highest.height+6)/i,1)),Math.asin(Math.min(o/a,1))-Math.asin(n/a))),h=Math.max(f,Math.min(d,h))),s.labelRotation=h)},afterCalculateTickRotation:function(){ae.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){ae.callback(this.options.beforeFit,[this])},fit:function(){var e=this,t=e.minSize={width:0,height:0},n=e.chart,r=e.options,i=r.ticks,o=r.scaleLabel,a=r.gridLines,s=e._isVisible(),u="bottom"===r.position,l=e.isHorizontal();if(l?t.width=e.maxWidth:s&&(t.width=sr(a)+ur(o)),l?s&&(t.height=sr(a)+ur(o)):t.height=e.maxHeight,i.display&&s){var c=cr(i),f=e._getLabelSizes(),d=f.first,h=f.last,p=f.widest,g=f.highest,v=.4*c.minor.lineHeight,m=i.padding;if(l){var y=0!==e.labelRotation,b=ae.toRadians(e.labelRotation),_=Math.cos(b),x=Math.sin(b),w=x*p.width+_*(g.height-(y?g.offset:0))+(y?0:v);t.height=Math.min(e.maxHeight,t.height+w+m);var k,S,C=e.getPixelForTick(0)-e.left,T=e.right-e.getPixelForTick(e.getTicks().length-1);y?(k=u?_*d.width+x*d.offset:x*(d.height-d.offset),S=u?x*(h.height-h.offset):_*h.width+x*h.offset):(k=d.width/2,S=h.width/2),e.paddingLeft=Math.max((k-C)*e.width/(e.width-C),0)+3,e.paddingRight=Math.max((S-T)*e.width/(e.width-T),0)+3}else{var O=i.mirror?0:p.width+m+v;t.width=Math.min(e.maxWidth,t.width+O),e.paddingTop=d.height/2,e.paddingBottom=h.height/2}}e.handleMargins(),l?(e.width=e._length=n.width-e.margins.left-e.margins.right,e.height=t.height):(e.width=t.width,e.height=e._length=n.height-e.margins.top-e.margins.bottom)},handleMargins:function(){var e=this;e.margins&&(e.margins.left=Math.max(e.paddingLeft,e.margins.left),e.margins.top=Math.max(e.paddingTop,e.margins.top),e.margins.right=Math.max(e.paddingRight,e.margins.right),e.margins.bottom=Math.max(e.paddingBottom,e.margins.bottom))},afterFit:function(){ae.callback(this.options.afterFit,[this])},isHorizontal:function(){var e=this.options.position;return"top"===e||"bottom"===e},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(e){if(er(e))return NaN;if(("number"===typeof e||e instanceof Number)&&!isFinite(e))return NaN;if(e)if(this.isHorizontal()){if(void 0!==e.x)return this.getRightValue(e.x)}else if(void 0!==e.y)return this.getRightValue(e.y);return e},_convertTicksToLabels:function(e){var t,n,r,i=this;for(i.ticks=e.map((function(e){return e.value})),i.beforeTickToLabelConversion(),t=i.convertTicksToLabels(e)||i.ticks,i.afterTickToLabelConversion(),n=0,r=e.length;nr-1?null:t.getPixelForDecimal(e*i+(n?i/2:0))},getPixelForDecimal:function(e){var t=this;return t._reversePixels&&(e=1-e),t._startPixel+e*t._length},getDecimalForPixel:function(e){var t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var e=this,t=e.min,n=e.max;return e.beginAtZero?0:t<0&&n<0?n:t>0&&n>0?t:0},_autoSkip:function(e){var t,n,r,i,o=this,a=o.options.ticks,s=o._length,u=a.maxTicksLimit||s/o._tickSize()+1,l=a.major.enabled?pr(e):[],c=l.length,f=l[0],d=l[c-1];if(c>u)return gr(e,l,c/u),fr(e);if(r=hr(l,e,s,u),c>0){for(t=0,n=c-1;t1?(d-f)/(c-1):null,vr(e,r,ae.isNullOrUndef(i)?0:f-i,f),vr(e,r,d,ae.isNullOrUndef(i)?e.length:d+i),fr(e)}return vr(e,r),fr(e)},_tickSize:function(){var e=this,t=e.options.ticks,n=ae.toRadians(e.labelRotation),r=Math.abs(Math.cos(n)),i=Math.abs(Math.sin(n)),o=e._getLabelSizes(),a=t.autoSkipPadding||0,s=o?o.widest.width+a:0,u=o?o.highest.height+a:0;return e.isHorizontal()?u*r>s*i?s/r:u/i:u*i=0&&(a=e),void 0!==o&&(e=n.indexOf(o))>=0&&(s=e),t.minIndex=a,t.maxIndex=s,t.min=n[a],t.max=n[s]},buildTicks:function(){var e=this,t=e._getLabels(),n=e.minIndex,r=e.maxIndex;e.ticks=0===n&&r===t.length-1?t:t.slice(n,r+1)},getLabelForIndex:function(e,t){var n=this,r=n.chart;return r.getDatasetMeta(t).controller._getValueScaleId()===n.id?n.getRightValue(r.data.datasets[t].data[e]):n._getLabels()[e]},_configure:function(){var e=this,t=e.options.offset,n=e.ticks;yr.prototype._configure.call(e),e.isHorizontal()||(e._reversePixels=!e._reversePixels),n&&(e._startValue=e.minIndex-(t?.5:0),e._valueRange=Math.max(n.length-(t?0:1),1))},getPixelForValue:function(e,t,n){var r,i,o,a=this;return br(t)||br(n)||(e=a.chart.data.datasets[n].data[t]),br(e)||(r=a.isHorizontal()?e.x:e.y),(void 0!==r||void 0!==e&&isNaN(t))&&(i=a._getLabels(),e=ae.valueOrDefault(r,e),t=-1!==(o=i.indexOf(e))?o:t,isNaN(t)&&(t=e)),a.getPixelForDecimal((t-a._startValue)/a._valueRange)},getPixelForTick:function(e){var t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e],e+this.minIndex)},getValueForPixel:function(e){var t=this,n=Math.round(t._startValue+t.getDecimalForPixel(e)*t._valueRange);return Math.min(Math.max(n,0),t.ticks.length-1)},getBasePixel:function(){return this.bottom}}),wr=_r;xr._defaults=wr;var kr=ae.noop,Sr=ae.isNullOrUndef;function Cr(e,t){var n,r,i,o,a=[],s=1e-14,u=e.stepSize,l=u||1,c=e.maxTicks-1,f=e.min,d=e.max,h=e.precision,p=t.min,g=t.max,v=ae.niceNum((g-p)/c/l)*l;if(vc&&(v=ae.niceNum(o*v/c/l)*l),u||Sr(h)?n=Math.pow(10,ae._decimalPlaces(v)):(n=Math.pow(10,h),v=Math.ceil(v*n)/n),r=Math.floor(p/v)*v,i=Math.ceil(g/v)*v,u&&(!Sr(f)&&ae.almostWhole(f/v,v/1e3)&&(r=f),!Sr(d)&&ae.almostWhole(d/v,v/1e3)&&(i=d)),o=(i-r)/v,o=ae.almostEquals(o,Math.round(o),v/1e3)?Math.round(o):Math.ceil(o),r=Math.round(r*n)/n,i=Math.round(i*n)/n,a.push(Sr(f)?r:f);for(var m=1;m0&&r>0&&(e.min=0)}var i=void 0!==t.min||void 0!==t.suggestedMin,o=void 0!==t.max||void 0!==t.suggestedMax;void 0!==t.min?e.min=t.min:void 0!==t.suggestedMin&&(null===e.min?e.min=t.suggestedMin:e.min=Math.min(e.min,t.suggestedMin)),void 0!==t.max?e.max=t.max:void 0!==t.suggestedMax&&(null===e.max?e.max=t.suggestedMax:e.max=Math.max(e.max,t.suggestedMax)),i!==o&&e.min>=e.max&&(i?e.max=e.min+1:e.min=e.max-1),e.min===e.max&&(e.max++,t.beginAtZero||e.min--)},getTickLimit:function(){var e,t=this,n=t.options.ticks,r=n.stepSize,i=n.maxTicksLimit;return r?e=Math.ceil(t.max/r)-Math.floor(t.min/r)+1:(e=t._computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:kr,buildTicks:function(){var e=this,t=e.options.ticks,n=e.getTickLimit(),r={maxTicks:n=Math.max(2,n),min:t.min,max:t.max,precision:t.precision,stepSize:ae.valueOrDefault(t.fixedStepSize,t.stepSize)},i=e.ticks=Cr(r,e);e.handleDirectionalChanges(),e.max=ae.max(i),e.min=ae.min(i),t.reverse?(i.reverse(),e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),yr.prototype.convertTicksToLabels.call(e)},_configure:function(){var e,t=this,n=t.getTicks(),r=t.min,i=t.max;yr.prototype._configure.call(t),t.options.offset&&n.length&&(r-=e=(i-r)/Math.max(n.length-1,1)/2,i+=e),t._startValue=r,t._endValue=i,t._valueRange=i-r}}),Or={position:"left",ticks:{callback:Zn.formatters.linear}},Er=0,Mr=1;function Dr(e,t,n){var r=[n.type,void 0===t&&void 0===n.stack?n.index:"",n.stack].join(".");return void 0===e[r]&&(e[r]={pos:[],neg:[]}),e[r]}function Pr(e,t,n,r){var i,o,a=e.options,s=Dr(t,a.stacked,n),u=s.pos,l=s.neg,c=r.length;for(i=0;it.length-1?null:this.getPixelForValue(t[e])}}),Ar=Or;Ir._defaults=Ar;var Nr=ae.valueOrDefault,Lr=ae.math.log10;function Fr(e,t){var n,r,i=[],o=Nr(e.min,Math.pow(10,Math.floor(Lr(t.min)))),a=Math.floor(Lr(t.max)),s=Math.ceil(t.max/Math.pow(10,a));0===o?(n=Math.floor(Lr(t.minNotZero)),r=Math.floor(t.minNotZero/Math.pow(10,n)),i.push(o),o=r*Math.pow(10,n)):(n=Math.floor(Lr(o)),r=Math.floor(o/Math.pow(10,n)));var u=n<0?Math.pow(10,Math.abs(n)):1;do{i.push(o),10===++r&&(r=1,u=++n>=0?1:u),o=Math.round(r*Math.pow(10,n)*u)/u}while(n=0?e:t}var Vr=yr.extend({determineDataLimits:function(){var e,t,n,r,i,o,a=this,s=a.options,u=a.chart,l=u.data.datasets,c=a.isHorizontal();function f(e){return c?e.xAxisID===a.id:e.yAxisID===a.id}a.min=Number.POSITIVE_INFINITY,a.max=Number.NEGATIVE_INFINITY,a.minNotZero=Number.POSITIVE_INFINITY;var d=s.stacked;if(void 0===d)for(e=0;e0){var t=ae.min(e),n=ae.max(e);a.min=Math.min(a.min,t),a.max=Math.max(a.max,n)}}))}else for(e=0;e0?e.minNotZero=e.min:e.max<1?e.minNotZero=Math.pow(10,Math.floor(Lr(e.max))):e.minNotZero=n)},buildTicks:function(){var e=this,t=e.options.ticks,n=!e.isHorizontal(),r={min:zr(t.min),max:zr(t.max)},i=e.ticks=Fr(r,e);e.max=ae.max(i),e.min=ae.min(i),t.reverse?(n=!n,e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max),n&&i.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),yr.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(e,t){return this._getScaleLabel(this.chart.data.datasets[t].data[e])},getPixelForTick:function(e){var t=this.tickValues;return e<0||e>t.length-1?null:this.getPixelForValue(t[e])},_getFirstTickValue:function(e){var t=Math.floor(Lr(e));return Math.floor(e/Math.pow(10,t))*Math.pow(10,t)},_configure:function(){var e=this,t=e.min,n=0;yr.prototype._configure.call(e),0===t&&(t=e._getFirstTickValue(e.minNotZero),n=Nr(e.options.ticks.fontSize,Q.global.defaultFontSize)/e._length),e._startValue=Lr(t),e._valueOffset=n,e._valueRange=(Lr(e.max)-Lr(t))/(1-n)},getPixelForValue:function(e){var t=this,n=0;return(e=+t.getRightValue(e))>t.min&&e>0&&(n=(Lr(e)-t._startValue)/t._valueRange+t._valueOffset),t.getPixelForDecimal(n)},getValueForPixel:function(e){var t=this,n=t.getDecimalForPixel(e);return 0===n&&0===t.min?0:Math.pow(10,t._startValue+(n-t._valueOffset)*t._valueRange)}}),Hr=Rr;Vr._defaults=Hr;var Br=ae.valueOrDefault,Wr=ae.valueAtIndexOrDefault,Ur=ae.options.resolve,Yr={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:Zn.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(e){return e}}};function qr(e){var t=e.ticks;return t.display&&e.display?Br(t.fontSize,Q.global.defaultFontSize)+2*t.backdropPaddingY:0}function Kr(e,t,n){return ae.isArray(n)?{w:ae.longestText(e,e.font,n),h:n.length*t}:{w:e.measureText(n).width,h:t}}function Gr(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function $r(e){var t,n,r,i=ae.options._parseFont(e.options.pointLabels),o={l:0,r:e.width,t:0,b:e.height-e.paddingTop},a={};e.ctx.font=i.string,e._pointLabelSizes=[];var s=e.chart.data.labels.length;for(t=0;to.r&&(o.r=c.end,a.r=u),f.starto.b&&(o.b=f.end,a.b=u)}e.setReductions(e.drawingArea,o,a)}function Xr(e){return 0===e||180===e?"center":e<180?"left":"right"}function Qr(e,t,n,r){var i,o,a=n.y+r/2;if(ae.isArray(t))for(i=0,o=t.length;i270||e<90)&&(n.y-=t.h)}function Jr(e){var t=e.ctx,n=e.options,r=n.pointLabels,i=qr(n),o=e.getDistanceFromCenterForValue(n.ticks.reverse?e.min:e.max),a=ae.options._parseFont(r);t.save(),t.font=a.string,t.textBaseline="middle";for(var s=e.chart.data.labels.length-1;s>=0;s--){var u=0===s?i/2:0,l=e.getPointPosition(s,o+u+5),c=Wr(r.fontColor,s,Q.global.defaultFontColor);t.fillStyle=c;var f=e.getIndexAngle(s),d=ae.toDegrees(f);t.textAlign=Xr(d),Zr(d,e._pointLabelSizes[s],l),Qr(t,e.pointLabels[s],l,a.lineHeight)}t.restore()}function ei(e,t,n,r){var i,o=e.ctx,a=t.circular,s=e.chart.data.labels.length,u=Wr(t.color,r-1),l=Wr(t.lineWidth,r-1);if((a||s)&&u&&l){if(o.save(),o.strokeStyle=u,o.lineWidth=l,o.setLineDash&&(o.setLineDash(t.borderDash||[]),o.lineDashOffset=t.borderDashOffset||0),o.beginPath(),a)o.arc(e.xCenter,e.yCenter,n,0,2*Math.PI);else{i=e.getPointPosition(0,n),o.moveTo(i.x,i.y);for(var c=1;c0&&r>0?n:0)},_drawGrid:function(){var e,t,n,r=this,i=r.ctx,o=r.options,a=o.gridLines,s=o.angleLines,u=Br(s.lineWidth,a.lineWidth),l=Br(s.color,a.color);if(o.pointLabels.display&&Jr(r),a.display&&ae.each(r.ticks,(function(e,n){0!==n&&(t=r.getDistanceFromCenterForValue(r.ticksAsNumbers[n]),ei(r,a,t,n))})),s.display&&u&&l){for(i.save(),i.lineWidth=u,i.strokeStyle=l,i.setLineDash&&(i.setLineDash(Ur([s.borderDash,a.borderDash,[]])),i.lineDashOffset=Ur([s.borderDashOffset,a.borderDashOffset,0])),e=r.chart.data.labels.length-1;e>=0;e--)t=r.getDistanceFromCenterForValue(o.ticks.reverse?r.min:r.max),n=r.getPointPosition(e,t),i.beginPath(),i.moveTo(r.xCenter,r.yCenter),i.lineTo(n.x,n.y),i.stroke();i.restore()}},_drawLabels:function(){var e=this,t=e.ctx,n=e.options.ticks;if(n.display){var r,i,o=e.getIndexAngle(0),a=ae.options._parseFont(n),s=Br(n.fontColor,Q.global.defaultFontColor);t.save(),t.font=a.string,t.translate(e.xCenter,e.yCenter),t.rotate(o),t.textAlign="center",t.textBaseline="middle",ae.each(e.ticks,(function(o,u){(0!==u||n.reverse)&&(r=e.getDistanceFromCenterForValue(e.ticksAsNumbers[u]),n.showLabelBackdrop&&(i=t.measureText(o).width,t.fillStyle=n.backdropColor,t.fillRect(-i/2-n.backdropPaddingX,-r-a.size/2-n.backdropPaddingY,i+2*n.backdropPaddingX,a.size+2*n.backdropPaddingY)),t.fillStyle=s,t.fillText(o,0,-r))})),t.restore()}},_drawTitle:ae.noop}),ri=Yr;ni._defaults=ri;var ii=ae._deprecated,oi=ae.options.resolve,ai=ae.valueOrDefault,si=Number.MIN_SAFE_INTEGER||-9007199254740991,ui=Number.MAX_SAFE_INTEGER||9007199254740991,li={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ci=Object.keys(li);function fi(e,t){return e-t}function di(e){var t,n,r,i={},o=[];for(t=0,n=e.length;tt&&s=0&&a<=s;){if(i=e[(r=a+s>>1)-1]||null,o=e[r],!i)return{lo:null,hi:o};if(o[t]n))return{lo:i,hi:o};s=r-1}}return{lo:o,hi:null}}function mi(e,t,n,r){var i=vi(e,t,n),o=i.lo?i.hi?i.lo:e[e.length-2]:e[0],a=i.lo?i.hi?i.hi:e[e.length-1]:e[1],s=a[t]-o[t],u=s?(n-o[t])/s:0,l=(a[r]-o[r])*u;return o[r]+l}function yi(e,t){var n=e._adapter,r=e.options.time,i=r.parser,o=i||r.format,a=t;return"function"===typeof i&&(a=i(a)),ae.isFinite(a)||(a="string"===typeof o?n.parse(a,o):n.parse(a)),null!==a?+a:(i||"function"!==typeof o||(a=o(t),ae.isFinite(a)||(a=n.parse(a))),a)}function bi(e,t){if(ae.isNullOrUndef(t))return null;var n=e.options.time,r=yi(e,e.getRightValue(t));return null===r||n.round&&(r=+e._adapter.startOf(r,n.round)),r}function _i(e,t,n,r){var i,o,a,s=ci.length;for(i=ci.indexOf(e);i=ci.indexOf(n);o--)if(a=ci[o],li[a].common&&e._adapter.diff(i,r,a)>=t-1)return a;return ci[n?ci.indexOf(n):0]}function wi(e){for(var t=ci.indexOf(e)+1,n=ci.length;t1e5*l)throw t+" and "+n+" are too far apart with stepSize of "+l+" "+u;for(i=f;i=0&&(t[o].major=!0);return t}function Ti(e,t,n){var r,i,o=[],a={},s=t.length;for(r=0;r1?di(p).sort(fi):p.sort(fi),d=Math.min(d,p[0]),h=Math.max(h,p[p.length-1])),d=bi(s,hi(c))||d,h=bi(s,pi(c))||h,d=d===ui?+l.startOf(Date.now(),f):d,h=h===si?+l.endOf(Date.now(),f)+1:h,s.min=Math.min(d,h),s.max=Math.max(d+1,h),s._table=[],s._timestamps={data:p,datasets:g,labels:v}},buildTicks:function(){var e,t,n,r=this,i=r.min,o=r.max,a=r.options,s=a.ticks,u=a.time,l=r._timestamps,c=[],f=r.getLabelCapacity(i),d=s.source,h=a.distribution;for(l="data"===d||"auto"===d&&"series"===h?l.data:"labels"===d?l.labels:ki(r,i,o,f),"ticks"===a.bounds&&l.length&&(i=l[0],o=l[l.length-1]),i=bi(r,hi(a))||i,o=bi(r,pi(a))||o,e=0,t=l.length;e=i&&n<=o&&c.push(n);return r.min=i,r.max=o,r._unit=u.unit||(s.autoSkip?_i(u.minUnit,r.min,r.max,f):xi(r,c.length,u.minUnit,r.min,r.max)),r._majorUnit=s.major.enabled&&"year"!==r._unit?wi(r._unit):void 0,r._table=gi(r._timestamps.data,i,o,h),r._offsets=Si(r._table,c,i,o,a),s.reverse&&c.reverse(),Ti(r,c,r._majorUnit)},getLabelForIndex:function(e,t){var n=this,r=n._adapter,i=n.chart.data,o=n.options.time,a=i.labels&&e=0&&e0?s:1}}),Mi=Oi;Ei._defaults=Mi;var Di={category:xr,linear:Ir,logarithmic:Vr,radialLinear:ni,time:Ei},Pi={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};Qn._date.override("function"===typeof e?{_id:"moment",formats:function(){return Pi},parse:function(t,n){return"string"===typeof t&&"string"===typeof n?t=e(t,n):t instanceof e||(t=e(t)),t.isValid()?t.valueOf():null},format:function(t,n){return e(t).format(n)},add:function(t,n,r){return e(t).add(n,r).valueOf()},diff:function(t,n,r){return e(t).diff(e(n),r)},startOf:function(t,n,r){return t=e(t),"isoWeek"===n?t.isoWeekday(r).valueOf():t.startOf(n).valueOf()},endOf:function(t,n){return e(t).endOf(n).valueOf()},_create:function(t){return e(t)}}:{}),Q._set("global",{plugins:{filler:{propagate:!0}}});var ji={dataset:function(e){var t=e.fill,n=e.chart,r=n.getDatasetMeta(t),i=r&&n.isDatasetVisible(t)&&r.dataset._children||[],o=i.length||0;return o?function(e,t){return t=n)&&r;switch(o){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return o;default:return!1}}function Ai(e){var t,n=e.el._model||{},r=e.el._scale||{},i=e.fill,o=null;if(isFinite(i))return null;if("start"===i?o=void 0===n.scaleBottom?r.bottom:n.scaleBottom:"end"===i?o=void 0===n.scaleTop?r.top:n.scaleTop:void 0!==n.scaleZero?o=n.scaleZero:r.getBasePixel&&(o=r.getBasePixel()),void 0!==o&&null!==o){if(void 0!==o.x&&void 0!==o.y)return o;if(ae.isFinite(o))return{x:(t=r.isHorizontal())?o:null,y:t?null:o}}return null}function Ni(e){var t,n,r,i,o,a=e.el._scale,s=a.options,u=a.chart.data.labels.length,l=e.fill,c=[];if(!u)return null;for(t=s.ticks.reverse?a.max:a.min,n=s.ticks.reverse?a.min:a.max,r=a.getPointPositionForValue(0,t),i=0;i0;--o)ae.canvas.lineTo(e,n[o],n[o-1],!0);else for(a=n[0].cx,s=n[0].cy,u=Math.sqrt(Math.pow(n[0].x-a,2)+Math.pow(n[0].y-s,2)),o=i-1;o>0;--o)e.arc(a,s,u,n[o].angle,n[o-1].angle,!0)}}function Hi(e,t,n,r,i,o){var a,s,u,l,c,f,d,h,p=t.length,g=r.spanGaps,v=[],m=[],y=0,b=0;for(e.beginPath(),a=0,s=p;a=0;--n)(t=u[n].$filler)&&t.visible&&(i=(r=t.el)._view,o=r._children||[],a=t.mapper,s=i.backgroundColor||Q.global.defaultColor,a&&s&&o.length&&(ae.canvas.clipArea(l,e.chartArea),Hi(l,o,a,i,s,r._loop),ae.canvas.unclipArea(l)))}},Wi=ae.rtl.getRtlAdapter,Ui=ae.noop,Yi=ae.valueOrDefault;function qi(e,t){return e.usePointStyle&&e.boxWidth>t?t:e.boxWidth}Q._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(e,t){var n=t.datasetIndex,r=this.chart,i=r.getDatasetMeta(n);i.hidden=null===i.hidden?!r.data.datasets[n].hidden:null,r.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(e){var t=e.data.datasets,n=e.options.legend||{},r=n.labels&&n.labels.usePointStyle;return e._getSortedDatasetMetas().map((function(n){var i=n.controller.getStyle(r?0:void 0);return{text:t[n.index].label,fillStyle:i.backgroundColor,hidden:!e.isDatasetVisible(n.index),lineCap:i.borderCapStyle,lineDash:i.borderDash,lineDashOffset:i.borderDashOffset,lineJoin:i.borderJoinStyle,lineWidth:i.borderWidth,strokeStyle:i.borderColor,pointStyle:i.pointStyle,rotation:i.rotation,datasetIndex:n.index}}),this)}}},legendCallback:function(e){var t,n,r,i=document.createElement("ul"),o=e.data.datasets;for(i.setAttribute("class",e.id+"-legend"),t=0,n=o.length;tu.width)&&(f+=a+n.padding,c[c.length-(t>0?0:1)]=0),s[t]={left:0,top:0,width:r,height:a},c[c.length-1]+=r+n.padding})),u.height+=f}else{var d=n.padding,h=e.columnWidths=[],p=e.columnHeights=[],g=n.padding,v=0,m=0;ae.each(e.legendItems,(function(e,t){var r=qi(n,a)+a/2+i.measureText(e.text).width;t>0&&m+a+2*d>u.height&&(g+=v+n.padding,h.push(v),p.push(m),v=0,m=0),v=Math.max(v,r),m+=a+d,s[t]={left:0,top:0,width:r,height:a}})),g+=v,h.push(v),p.push(m),u.width+=g}e.width=u.width,e.height=u.height}else e.width=u.width=e.height=u.height=0},afterFit:Ui,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var e=this,t=e.options,n=t.labels,r=Q.global,i=r.defaultColor,o=r.elements.line,a=e.height,s=e.columnHeights,u=e.width,l=e.lineWidths;if(t.display){var c,f=Wi(t.rtl,e.left,e.minSize.width),d=e.ctx,h=Yi(n.fontColor,r.defaultFontColor),p=ae.options._parseFont(n),g=p.size;d.textAlign=f.textAlign("left"),d.textBaseline="middle",d.lineWidth=.5,d.strokeStyle=h,d.fillStyle=h,d.font=p.string;var v=qi(n,g),m=e.legendHitBoxes,y=function(e,t,r){if(!(isNaN(v)||v<=0)){d.save();var a=Yi(r.lineWidth,o.borderWidth);if(d.fillStyle=Yi(r.fillStyle,i),d.lineCap=Yi(r.lineCap,o.borderCapStyle),d.lineDashOffset=Yi(r.lineDashOffset,o.borderDashOffset),d.lineJoin=Yi(r.lineJoin,o.borderJoinStyle),d.lineWidth=a,d.strokeStyle=Yi(r.strokeStyle,i),d.setLineDash&&d.setLineDash(Yi(r.lineDash,o.borderDash)),n&&n.usePointStyle){var s=v*Math.SQRT2/2,u=f.xPlus(e,v/2),l=t+g/2;ae.canvas.drawPoint(d,r.pointStyle,s,u,l,r.rotation)}else d.fillRect(f.leftForLtr(e,v),t,v,g),0!==a&&d.strokeRect(f.leftForLtr(e,v),t,v,g);d.restore()}},b=function(e,t,n,r){var i=g/2,o=f.xPlus(e,v+i),a=t+i;d.fillText(n.text,o,a),n.hidden&&(d.beginPath(),d.lineWidth=2,d.moveTo(o,a),d.lineTo(f.xPlus(o,r),a),d.stroke())},_=function(e,r){switch(t.align){case"start":return n.padding;case"end":return e-r;default:return(e-r+n.padding)/2}},x=e.isHorizontal();c=x?{x:e.left+_(u,l[0]),y:e.top+n.padding,line:0}:{x:e.left+n.padding,y:e.top+_(a,s[0]),line:0},ae.rtl.overrideTextDirection(e.ctx,t.textDirection);var w=g+n.padding;ae.each(e.legendItems,(function(t,r){var i=d.measureText(t.text).width,o=v+g/2+i,h=c.x,p=c.y;f.setWidth(e.minSize.width),x?r>0&&h+o+n.padding>e.left+e.minSize.width&&(p=c.y+=w,c.line++,h=c.x=e.left+_(u,l[c.line])):r>0&&p+w>e.top+e.minSize.height&&(h=c.x=h+e.columnWidths[c.line]+n.padding,c.line++,p=c.y=e.top+_(a,s[c.line]));var k=f.x(h);y(k,p,t),m[r].left=f.leftForLtr(k,m[r].width),m[r].top=p,b(k,p,t,i),x?c.x+=o+n.padding:c.y+=w})),ae.rtl.restoreTextDirection(e.ctx,t.textDirection)}},_getLegendItemAt:function(e,t){var n,r,i,o=this;if(e>=o.left&&e<=o.right&&t>=o.top&&t<=o.bottom)for(i=o.legendHitBoxes,n=0;n=(r=i[n]).left&&e<=r.left+r.width&&t>=r.top&&t<=r.top+r.height)return o.legendItems[n];return null},handleEvent:function(e){var t,n=this,r=n.options,i="mouseup"===e.type?"click":e.type;if("mousemove"===i){if(!r.onHover&&!r.onLeave)return}else{if("click"!==i)return;if(!r.onClick)return}t=n._getLegendItemAt(e.x,e.y),"click"===i?t&&r.onClick&&r.onClick.call(n,e.native,t):(r.onLeave&&t!==n._hoveredItem&&(n._hoveredItem&&r.onLeave.call(n,e.native,n._hoveredItem),n._hoveredItem=t),r.onHover&&t&&r.onHover.call(n,e.native,t))}});function Gi(e,t){var n=new Ki({ctx:e.ctx,options:t,chart:e});Ut.configure(e,n,t),Ut.addBox(e,n),e.legend=n}var $i={id:"legend",_element:Ki,beforeInit:function(e){var t=e.options.legend;t&&Gi(e,t)},beforeUpdate:function(e){var t=e.options.legend,n=e.legend;t?(ae.mergeIf(t,Q.global.legend),n?(Ut.configure(e,n,t),n.options=t):Gi(e,t)):n&&(Ut.removeBox(e,n),delete e.legend)},afterEvent:function(e,t){var n=e.legend;n&&n.handleEvent(t)}},Xi=ae.noop;Q._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Qi=pe.extend({initialize:function(e){var t=this;ae.extend(t,e),t.legendHitBoxes=[]},beforeUpdate:Xi,update:function(e,t,n){var r=this;return r.beforeUpdate(),r.maxWidth=e,r.maxHeight=t,r.margins=n,r.beforeSetDimensions(),r.setDimensions(),r.afterSetDimensions(),r.beforeBuildLabels(),r.buildLabels(),r.afterBuildLabels(),r.beforeFit(),r.fit(),r.afterFit(),r.afterUpdate(),r.minSize},afterUpdate:Xi,beforeSetDimensions:Xi,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:Xi,beforeBuildLabels:Xi,buildLabels:Xi,afterBuildLabels:Xi,beforeFit:Xi,fit:function(){var e,t=this,n=t.options,r=t.minSize={},i=t.isHorizontal();n.display?(e=(ae.isArray(n.text)?n.text.length:1)*ae.options._parseFont(n).lineHeight+2*n.padding,t.width=r.width=i?t.maxWidth:e,t.height=r.height=i?e:t.maxHeight):t.width=r.width=t.height=r.height=0},afterFit:Xi,isHorizontal:function(){var e=this.options.position;return"top"===e||"bottom"===e},draw:function(){var e=this,t=e.ctx,n=e.options;if(n.display){var r,i,o,a=ae.options._parseFont(n),s=a.lineHeight,u=s/2+n.padding,l=0,c=e.top,f=e.left,d=e.bottom,h=e.right;t.fillStyle=ae.valueOrDefault(n.fontColor,Q.global.defaultFontColor),t.font=a.string,e.isHorizontal()?(i=f+(h-f)/2,o=c+u,r=h-f):(i="left"===n.position?f+u:h-u,o=c+(d-c)/2,r=d-c,l=Math.PI*("left"===n.position?-.5:.5)),t.save(),t.translate(i,o),t.rotate(l),t.textAlign="center",t.textBaseline="middle";var p=n.text;if(ae.isArray(p))for(var g=0,v=0;vc))return!1;var d=u.get(e),h=u.get(t);if(d&&h)return d==t&&h==e;var p=-1,g=!0,v=2&n?new r:void 0;for(u.set(e,t),u.set(t,e);++p-1&&e%1==0&&e-1}},7608:function(e,t,n){var r=n(3333);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},3537:function(e,t,n){var r=n(7519),i=n(7669),o=n(9101);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},3534:function(e,t,n){var r=n(7686);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},1374:function(e,t,n){var r=n(7686);e.exports=function(e){return r(this,e).get(e)}},126:function(e,t,n){var r=n(7686);e.exports=function(e){return r(this,e).has(e)}},4916:function(e,t,n){var r=n(7686);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},2684:function(e){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},2180:function(e){e.exports=function(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}},7268:function(e,t,n){var r=n(8808);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},1526:function(e,t,n){var r=n(1764)(Object,"create");e.exports=r},1382:function(e,t,n){var r=n(4827)(Object.keys,Object);e.exports=r},4426:function(e){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},300:function(e,t,n){e=n.nmd(e);var r=n(1452),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,a=o&&o.exports===i&&r.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(t){}}();e.exports=s},2077:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},4827:function(e){e.exports=function(e,t){return function(n){return e(t(n))}}},5839:function(e,t,n){var r=n(1452),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},3519:function(e){e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},8391:function(e){e.exports=function(e){return this.__data__.has(e)}},4614:function(e){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},2657:function(e,t,n){var r=n(7669);e.exports=function(){this.__data__=new r,this.size=0}},6510:function(e){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},3777:function(e){e.exports=function(e){return this.__data__.get(e)}},8934:function(e){e.exports=function(e){return this.__data__.has(e)}},1386:function(e,t,n){var r=n(7669),i=n(9101),o=n(1638);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},2131:function(e,t,n){var r=n(7268),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(o,"$1"):n||e)})),t}));e.exports=a},9507:function(e,t,n){var r=n(6550);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}},3918:function(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(n){}try{return e+""}catch(n){}}return""}},840:function(e,t,n){var r=n(2334);e.exports=function(e){return r(e,5)}},7357:function(e){e.exports=function(e,t){return e===t||e!==e&&t!==t}},8632:function(e,t,n){var r=n(1081);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},2986:function(e,t,n){var r=n(3666),i=n(7798);e.exports=function(e,t){return null!=e&&i(e,t,r)}},1317:function(e){e.exports=function(e){return e}},2912:function(e,t,n){var r=n(7194),i=n(3911),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return i(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},4214:function(e){var t=Array.isArray;e.exports=t},867:function(e,t,n){var r=n(3070),i=n(6939);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},7253:function(e,t,n){e=n.nmd(e);var r=n(5839),i=n(8383),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,s=a&&a.exports===o?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||i;e.exports=u},9553:function(e,t,n){var r=n(5695);e.exports=function(e,t){return r(e,t)}},3070:function(e,t,n){var r=n(3621),i=n(4050);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},6939:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},1649:function(e,t,n){var r=n(8088),i=n(3138),o=n(300),a=o&&o.isMap,s=a?i(a):r;e.exports=s},4050:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},3911:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},983:function(e,t,n){var r=n(1556),i=n(3138),o=n(300),a=o&&o.isSet,s=a?i(a):r;e.exports=s},6550:function(e,t,n){var r=n(3621),i=n(3911);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},4474:function(e,t,n){var r=n(2994),i=n(3138),o=n(300),a=o&&o.isTypedArray,s=a?i(a):r;e.exports=s},5767:function(e,t,n){var r=n(4661),i=n(3750)((function(e,t,n){r(e,n,t)}));e.exports=i},6538:function(e,t,n){var r=n(8420),i=n(8357),o=n(867);e.exports=function(e){return o(e)?r(e):i(e)}},889:function(e,t,n){var r=n(8420),i=n(6064),o=n(867);e.exports=function(e){return o(e)?r(e,!0):i(e)}},8808:function(e,t,n){var r=n(1638);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},7780:function(e,t,n){var r=n(5905),i=n(6010),o=n(9734),a=n(9507);e.exports=function(e){return o(e)?r(a(e)):i(e)}},8849:function(e){e.exports=function(){return[]}},8383:function(e){e.exports=function(){return!1}},1055:function(e,t,n){var r=n(6380);e.exports=function(e){return null==e?"":r(e)}},582:function(e,t,n){(e=n.nmd(e)).exports=function(){"use strict";var t,n;function r(){return t.apply(null,arguments)}function i(e){t=e}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function a(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function u(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(s(e,t))return!1;return!0}function l(e){return void 0===e}function c(e){return"number"===typeof e||"[object Number]"===Object.prototype.toString.call(e)}function f(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function d(e,t){var n,r=[],i=e.length;for(n=0;n>>0;for(t=0;t0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var L=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,F=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},z={};function V(e,t,n,r){var i=r;"string"===typeof r&&(i=function(){return this[r]()}),e&&(z[e]=i),t&&(z[t[0]]=function(){return N(i.apply(this,arguments),t[1],t[2])}),n&&(z[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function H(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function B(e){var t,n,r=e.match(L);for(t=0,n=r.length;t=0&&F.test(e);)e=e.replace(F,r),F.lastIndex=0,n-=1;return e}var Y={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function q(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(L).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])}var K="Invalid date";function G(){return this._invalidDate}var $="%d",X=/\d{1,2}/;function Q(e){return this._ordinal.replace("%d",e)}var Z={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function J(e,t,n,r){var i=this._relativeTime[n];return M(i)?i(e,t,n,r):i.replace(/%d/i,e)}function ee(e,t){var n=this._relativeTime[e>0?"future":"past"];return M(n)?n(t):n.replace(/%s/i,t)}var te={};function ne(e,t){var n=e.toLowerCase();te[n]=te[n+"s"]=te[t]=e}function re(e){return"string"===typeof e?te[e]||te[e.toLowerCase()]:void 0}function ie(e){var t,n,r={};for(n in e)s(e,n)&&(t=re(n))&&(r[t]=e[n]);return r}var oe={};function ae(e,t){oe[e]=t}function se(e){var t,n=[];for(t in e)s(e,t)&&n.push({unit:t,priority:oe[t]});return n.sort((function(e,t){return e.priority-t.priority})),n}function ue(e){return e%4===0&&e%100!==0||e%400===0}function le(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function ce(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=le(t)),n}function fe(e,t){return function(n){return null!=n?(he(this,e,n),r.updateOffset(this,t),this):de(this,e)}}function de(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function he(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&ue(e.year())&&1===e.month()&&29===e.date()?(n=ce(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Je(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function pe(e){return M(this[e=re(e)])?this[e]():this}function ge(e,t){if("object"===typeof e){var n,r=se(e=ie(e)),i=r.length;for(n=0;n68?1900:2e3)};var vt=fe("FullYear",!0);function mt(){return ue(this.year())}function yt(e,t,n,r,i,o,a){var s;return e<100&&e>=0?(s=new Date(e+400,t,n,r,i,o,a),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,r,i,o,a),s}function bt(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function _t(e,t,n){var r=7+t-n;return-(7+bt(e,0,r).getUTCDay()-t)%7+r-1}function xt(e,t,n,r,i){var o,a,s=1+7*(t-1)+(7+n-r)%7+_t(e,r,i);return s<=0?a=gt(o=e-1)+s:s>gt(e)?(o=e+1,a=s-gt(e)):(o=e,a=s),{year:o,dayOfYear:a}}function wt(e,t,n){var r,i,o=_t(e.year(),t,n),a=Math.floor((e.dayOfYear()-o-1)/7)+1;return a<1?r=a+kt(i=e.year()-1,t,n):a>kt(e.year(),t,n)?(r=a-kt(e.year(),t,n),i=e.year()+1):(i=e.year(),r=a),{week:r,year:i}}function kt(e,t,n){var r=_t(e,t,n),i=_t(e+1,t,n);return(gt(e)-r+i)/7}function St(e){return wt(e,this._week.dow,this._week.doy).week}V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),ne("week","w"),ne("isoWeek","W"),ae("week",5),ae("isoWeek",5),Ae("w",we),Ae("ww",we,ye),Ae("W",we),Ae("WW",we,ye),Ve(["w","ww","W","WW"],(function(e,t,n,r){t[r.substr(0,1)]=ce(e)}));var Ct={dow:0,doy:6};function Tt(){return this._week.dow}function Ot(){return this._week.doy}function Et(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function Mt(e){var t=wt(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Dt(e,t){return"string"!==typeof e?e:isNaN(e)?"number"===typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}function Pt(e,t){return"string"===typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function jt(e,t){return e.slice(t,7).concat(e.slice(0,t))}V("d",0,"do","day"),V("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),V("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),V("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),ne("day","d"),ne("weekday","e"),ne("isoWeekday","E"),ae("day",11),ae("weekday",11),ae("isoWeekday",11),Ae("d",we),Ae("e",we),Ae("E",we),Ae("dd",(function(e,t){return t.weekdaysMinRegex(e)})),Ae("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),Ae("dddd",(function(e,t){return t.weekdaysRegex(e)})),Ve(["dd","ddd","dddd"],(function(e,t,n,r){var i=n._locale.weekdaysParse(e,r,n._strict);null!=i?t.d=i:v(n).invalidWeekday=e})),Ve(["d","e","E"],(function(e,t,n,r){t[r]=ce(e)}));var It="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),At="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Nt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Lt=Ie,Ft=Ie,Rt=Ie;function zt(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?jt(n,this._week.dow):e?n[e.day()]:n}function Vt(e){return!0===e?jt(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ht(e){return!0===e?jt(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Bt(e,t,n){var r,i,o,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=p([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Be.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Be.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Be.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Be.call(this._weekdaysParse,a))||-1!==(i=Be.call(this._shortWeekdaysParse,a))||-1!==(i=Be.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Be.call(this._shortWeekdaysParse,a))||-1!==(i=Be.call(this._weekdaysParse,a))||-1!==(i=Be.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Be.call(this._minWeekdaysParse,a))||-1!==(i=Be.call(this._weekdaysParse,a))||-1!==(i=Be.call(this._shortWeekdaysParse,a))?i:null}function Wt(e,t,n){var r,i,o;if(this._weekdaysParseExact)return Bt.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=p([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(o="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&"ddd"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&"dd"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Ut(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Dt(e,this.localeData()),this.add(e-t,"d")):t}function Yt(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function qt(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Pt(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Kt(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Xt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(s(this,"_weekdaysRegex")||(this._weekdaysRegex=Lt),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gt(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Xt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(s(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ft),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function $t(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Xt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(s(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Rt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Xt(){function e(e,t){return t.length-e.length}var t,n,r,i,o,a=[],s=[],u=[],l=[];for(t=0;t<7;t++)n=p([2e3,1]).day(t),r=Fe(this.weekdaysMin(n,"")),i=Fe(this.weekdaysShort(n,"")),o=Fe(this.weekdays(n,"")),a.push(r),s.push(i),u.push(o),l.push(r),l.push(i),l.push(o);a.sort(e),s.sort(e),u.sort(e),l.sort(e),this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Qt(){return this.hours()%12||12}function Zt(){return this.hours()||24}function Jt(e,t){V(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function en(e,t){return t._meridiemParse}function tn(e){return"p"===(e+"").toLowerCase().charAt(0)}V("H",["HH",2],0,"hour"),V("h",["hh",2],0,Qt),V("k",["kk",2],0,Zt),V("hmm",0,0,(function(){return""+Qt.apply(this)+N(this.minutes(),2)})),V("hmmss",0,0,(function(){return""+Qt.apply(this)+N(this.minutes(),2)+N(this.seconds(),2)})),V("Hmm",0,0,(function(){return""+this.hours()+N(this.minutes(),2)})),V("Hmmss",0,0,(function(){return""+this.hours()+N(this.minutes(),2)+N(this.seconds(),2)})),Jt("a",!0),Jt("A",!1),ne("hour","h"),ae("hour",13),Ae("a",en),Ae("A",en),Ae("H",we),Ae("h",we),Ae("k",we),Ae("HH",we,ye),Ae("hh",we,ye),Ae("kk",we,ye),Ae("hmm",ke),Ae("hmmss",Se),Ae("Hmm",ke),Ae("Hmmss",Se),ze(["H","HH"],qe),ze(["k","kk"],(function(e,t,n){var r=ce(e);t[qe]=24===r?0:r})),ze(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),ze(["h","hh"],(function(e,t,n){t[qe]=ce(e),v(n).bigHour=!0})),ze("hmm",(function(e,t,n){var r=e.length-2;t[qe]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r)),v(n).bigHour=!0})),ze("hmmss",(function(e,t,n){var r=e.length-4,i=e.length-2;t[qe]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r,2)),t[Ge]=ce(e.substr(i)),v(n).bigHour=!0})),ze("Hmm",(function(e,t,n){var r=e.length-2;t[qe]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r))})),ze("Hmmss",(function(e,t,n){var r=e.length-4,i=e.length-2;t[qe]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r,2)),t[Ge]=ce(e.substr(i))}));var nn=/[ap]\.?m?\.?/i,rn=fe("Hours",!0);function on(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}var an,sn={calendar:I,longDateFormat:Y,invalidDate:K,ordinal:$,dayOfMonthOrdinalParse:X,relativeTime:Z,months:et,monthsShort:tt,week:Ct,weekdays:It,weekdaysMin:Nt,weekdaysShort:At,meridiemParse:nn},un={},ln={};function cn(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n0;){if(r=pn(i.slice(0,t).join("-")))return r;if(n&&n.length>=t&&cn(i,n)>=t-1)break;t--}o++}return an}function hn(e){return null!=e.match("^[^/\\\\]*$")}function pn(t){var n=null;if(void 0===un[t]&&e&&e.exports&&hn(t))try{n=an._abbr,Object(function(){var e=new Error("Cannot find module 'undefined'");throw e.code="MODULE_NOT_FOUND",e}()),gn(n)}catch(r){un[t]=null}return un[t]}function gn(e,t){var n;return e&&((n=l(t)?yn(e):vn(e,t))?an=n:"undefined"!==typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),an._abbr}function vn(e,t){if(null!==t){var n,r=sn;if(t.abbr=e,null!=un[e])E("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=un[e]._config;else if(null!=t.parentLocale)if(null!=un[t.parentLocale])r=un[t.parentLocale]._config;else{if(null==(n=pn(t.parentLocale)))return ln[t.parentLocale]||(ln[t.parentLocale]=[]),ln[t.parentLocale].push({name:e,config:t}),null;r=n._config}return un[e]=new j(P(r,t)),ln[e]&&ln[e].forEach((function(e){vn(e.name,e.config)})),gn(e),un[e]}return delete un[e],null}function mn(e,t){if(null!=t){var n,r,i=sn;null!=un[e]&&null!=un[e].parentLocale?un[e].set(P(un[e]._config,t)):(null!=(r=pn(e))&&(i=r._config),t=P(i,t),null==r&&(t.abbr=e),(n=new j(t)).parentLocale=un[e],un[e]=n),gn(e)}else null!=un[e]&&(null!=un[e].parentLocale?(un[e]=un[e].parentLocale,e===gn()&&gn(e)):null!=un[e]&&delete un[e]);return un[e]}function yn(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return an;if(!o(e)){if(t=pn(e))return t;e=[e]}return dn(e)}function bn(){return T(un)}function _n(e){var t,n=e._a;return n&&-2===v(e).overflow&&(t=n[Ue]<0||n[Ue]>11?Ue:n[Ye]<1||n[Ye]>Je(n[We],n[Ue])?Ye:n[qe]<0||n[qe]>24||24===n[qe]&&(0!==n[Ke]||0!==n[Ge]||0!==n[$e])?qe:n[Ke]<0||n[Ke]>59?Ke:n[Ge]<0||n[Ge]>59?Ge:n[$e]<0||n[$e]>999?$e:-1,v(e)._overflowDayOfYear&&(tYe)&&(t=Ye),v(e)._overflowWeeks&&-1===t&&(t=Xe),v(e)._overflowWeekday&&-1===t&&(t=Qe),v(e).overflow=t),e}var xn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,kn=/Z|[+-]\d\d(?::?\d\d)?/,Sn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Cn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Tn=/^\/?Date\((-?\d+)/i,On=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,En={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Mn(e){var t,n,r,i,o,a,s=e._i,u=xn.exec(s)||wn.exec(s),l=Sn.length,c=Cn.length;if(u){for(v(e).iso=!0,t=0,n=l;tgt(o)||0===e._dayOfYear)&&(v(e)._overflowDayOfYear=!0),n=bt(o,0,e._dayOfYear),e._a[Ue]=n.getUTCMonth(),e._a[Ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=r[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[qe]&&0===e._a[Ke]&&0===e._a[Ge]&&0===e._a[$e]&&(e._nextDay=!0,e._a[qe]=0),e._d=(e._useUTC?bt:yt).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[qe]=24),e._w&&"undefined"!==typeof e._w.d&&e._w.d!==i&&(v(e).weekdayMismatch=!0)}}function Vn(e){var t,n,r,i,o,a,s,u,l;null!=(t=e._w).GG||null!=t.W||null!=t.E?(o=1,a=4,n=Fn(t.GG,e._a[We],wt($n(),1,4).year),r=Fn(t.W,1),((i=Fn(t.E,1))<1||i>7)&&(u=!0)):(o=e._locale._week.dow,a=e._locale._week.doy,l=wt($n(),o,a),n=Fn(t.gg,e._a[We],l.year),r=Fn(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+o,(t.e<0||t.e>6)&&(u=!0)):i=o),r<1||r>kt(n,o,a)?v(e)._overflowWeeks=!0:null!=u?v(e)._overflowWeekday=!0:(s=xt(n,r,i,o,a),e._a[We]=s.year,e._dayOfYear=s.dayOfYear)}function Hn(e){if(e._f!==r.ISO_8601)if(e._f!==r.RFC_2822){e._a=[],v(e).empty=!0;var t,n,i,o,a,s,u,l=""+e._i,c=l.length,f=0;for(u=(i=U(e._f,e._locale).match(L)||[]).length,t=0;t0&&v(e).unusedInput.push(a),l=l.slice(l.indexOf(n)+n.length),f+=n.length),z[o]?(n?v(e).empty=!1:v(e).unusedTokens.push(o),He(o,n,e)):e._strict&&!n&&v(e).unusedTokens.push(o);v(e).charsLeftOver=c-f,l.length>0&&v(e).unusedInput.push(l),e._a[qe]<=12&&!0===v(e).bigHour&&e._a[qe]>0&&(v(e).bigHour=void 0),v(e).parsedDateParts=e._a.slice(0),v(e).meridiem=e._meridiem,e._a[qe]=Bn(e._locale,e._a[qe],e._meridiem),null!==(s=v(e).era)&&(e._a[We]=e._locale.erasConvertYear(s,e._a[We])),zn(e),_n(e)}else Nn(e);else Mn(e)}function Bn(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((r=e.isPM(n))&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function Wn(e){var t,n,r,i,o,a,s=!1,u=e._f.length;if(0===u)return v(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ithis?this:e:y()}));function Zn(e,t){var n,r;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return $n();for(n=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function wr(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e,t={};return x(t,this),(t=qn(t))._a?(e=t._isUTC?p(t._a):$n(t._a),this._isDSTShifted=this.isValid()&&lr(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function kr(){return!!this.isValid()&&!this._isUTC}function Sr(){return!!this.isValid()&&this._isUTC}function Cr(){return!!this.isValid()&&this._isUTC&&0===this._offset}r.updateOffset=function(){};var Tr=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Or=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Er(e,t){var n,r,i,o=e,a=null;return sr(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:c(e)||!isNaN(+e)?(o={},t?o[t]=+e:o.milliseconds=+e):(a=Tr.exec(e))?(n="-"===a[1]?-1:1,o={y:0,d:ce(a[Ye])*n,h:ce(a[qe])*n,m:ce(a[Ke])*n,s:ce(a[Ge])*n,ms:ce(ur(1e3*a[$e]))*n}):(a=Or.exec(e))?(n="-"===a[1]?-1:1,o={y:Mr(a[2],n),M:Mr(a[3],n),w:Mr(a[4],n),d:Mr(a[5],n),h:Mr(a[6],n),m:Mr(a[7],n),s:Mr(a[8],n)}):null==o?o={}:"object"===typeof o&&("from"in o||"to"in o)&&(i=Pr($n(o.from),$n(o.to)),(o={}).ms=i.milliseconds,o.M=i.months),r=new ar(o),sr(e)&&s(e,"_locale")&&(r._locale=e._locale),sr(e)&&s(e,"_isValid")&&(r._isValid=e._isValid),r}function Mr(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Dr(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Pr(e,t){var n;return e.isValid()&&t.isValid()?(t=hr(t,e),e.isBefore(t)?n=Dr(e,t):((n=Dr(t,e)).milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function jr(e,t){return function(n,r){var i;return null===r||isNaN(+r)||(E(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=r,r=i),Ir(this,Er(n,r),e),this}}function Ir(e,t,n,i){var o=t._milliseconds,a=ur(t._days),s=ur(t._months);e.isValid()&&(i=null==i||i,s&<(e,de(e,"Month")+s*n),a&&he(e,"Date",de(e,"Date")+a*n),o&&e._d.setTime(e._d.valueOf()+o*n),i&&r.updateOffset(e,a||s))}Er.fn=ar.prototype,Er.invalid=or;var Ar=jr(1,"add"),Nr=jr(-1,"subtract");function Lr(e){return"string"===typeof e||e instanceof String}function Fr(e){return k(e)||f(e)||Lr(e)||c(e)||zr(e)||Rr(e)||null===e||void 0===e}function Rr(e){var t,n,r=a(e)&&!u(e),i=!1,o=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],l=o.length;for(t=0;tn.valueOf():n.valueOf()9999?W(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):M(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",W(n,"Z")):W(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function ei(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,r,i="moment",o="";return this.isLocal()||(i=0===this.utcOffset()?"moment.utc":"moment.parseZone",o="Z"),e="["+i+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n="-MM-DD[T]HH:mm:ss.SSS",r=o+'[")]',this.format(e+t+n+r)}function ti(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=W(this,e);return this.localeData().postformat(t)}function ni(e,t){return this.isValid()&&(k(e)&&e.isValid()||$n(e).isValid())?Er({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function ri(e){return this.from($n(),e)}function ii(e,t){return this.isValid()&&(k(e)&&e.isValid()||$n(e).isValid())?Er({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function oi(e){return this.to($n(),e)}function ai(e){var t;return void 0===e?this._locale._abbr:(null!=(t=yn(e))&&(this._locale=t),this)}r.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",r.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var si=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(e){return void 0===e?this.localeData():this.locale(e)}));function ui(){return this._locale}var li=1e3,ci=60*li,fi=60*ci,di=3506328*fi;function hi(e,t){return(e%t+t)%t}function pi(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-di:new Date(e,t,n).valueOf()}function gi(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-di:Date.UTC(e,t,n)}function vi(e){var t,n;if(void 0===(e=re(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?gi:pi,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=hi(t+(this._isUTC?0:this.utcOffset()*ci),fi);break;case"minute":t=this._d.valueOf(),t-=hi(t,ci);break;case"second":t=this._d.valueOf(),t-=hi(t,li)}return this._d.setTime(t),r.updateOffset(this,!0),this}function mi(e){var t,n;if(void 0===(e=re(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?gi:pi,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=fi-hi(t+(this._isUTC?0:this.utcOffset()*ci),fi)-1;break;case"minute":t=this._d.valueOf(),t+=ci-hi(t,ci)-1;break;case"second":t=this._d.valueOf(),t+=li-hi(t,li)-1}return this._d.setTime(t),r.updateOffset(this,!0),this}function yi(){return this._d.valueOf()-6e4*(this._offset||0)}function bi(){return Math.floor(this.valueOf()/1e3)}function _i(){return new Date(this.valueOf())}function xi(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function wi(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function ki(){return this.isValid()?this.toISOString():null}function Si(){return m(this)}function Ci(){return h({},v(this))}function Ti(){return v(this).overflow}function Oi(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ei(e,t){var n,i,o,a=this._eras||yn("en")._eras;for(n=0,i=a.length;n=0)return u[r]}function Di(e,t){var n=e.since<=e.until?1:-1;return void 0===t?r(e.since).year():r(e.since).year()+(t-e.offset)*n}function Pi(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;e(o=kt(e,r,i))&&(t=o),Qi.call(this,e,t,n,r,i))}function Qi(e,t,n,r,i){var o=xt(e,t,n,r,i),a=bt(o.year,0,o.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function Zi(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}V("N",0,0,"eraAbbr"),V("NN",0,0,"eraAbbr"),V("NNN",0,0,"eraAbbr"),V("NNNN",0,0,"eraName"),V("NNNNN",0,0,"eraNarrow"),V("y",["y",1],"yo","eraYear"),V("y",["yy",2],0,"eraYear"),V("y",["yyy",3],0,"eraYear"),V("y",["yyyy",4],0,"eraYear"),Ae("N",Ri),Ae("NN",Ri),Ae("NNN",Ri),Ae("NNNN",zi),Ae("NNNNN",Vi),ze(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,r){var i=n._locale.erasParse(e,r,n._strict);i?v(n).era=i:v(n).invalidEra=e})),Ae("y",Ee),Ae("yy",Ee),Ae("yyy",Ee),Ae("yyyy",Ee),Ae("yo",Hi),ze(["y","yy","yyy","yyyy"],We),ze(["yo"],(function(e,t,n,r){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[We]=n._locale.eraYearOrdinalParse(e,i):t[We]=parseInt(e,10)})),V(0,["gg",2],0,(function(){return this.weekYear()%100})),V(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),Wi("gggg","weekYear"),Wi("ggggg","weekYear"),Wi("GGGG","isoWeekYear"),Wi("GGGGG","isoWeekYear"),ne("weekYear","gg"),ne("isoWeekYear","GG"),ae("weekYear",1),ae("isoWeekYear",1),Ae("G",Me),Ae("g",Me),Ae("GG",we,ye),Ae("gg",we,ye),Ae("GGGG",Te,_e),Ae("gggg",Te,_e),Ae("GGGGG",Oe,xe),Ae("ggggg",Oe,xe),Ve(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,r){t[r.substr(0,2)]=ce(e)})),Ve(["gg","GG"],(function(e,t,n,i){t[i]=r.parseTwoDigitYear(e)})),V("Q",0,"Qo","quarter"),ne("quarter","Q"),ae("quarter",7),Ae("Q",me),ze("Q",(function(e,t){t[Ue]=3*(ce(e)-1)})),V("D",["DD",2],"Do","date"),ne("date","D"),ae("date",9),Ae("D",we),Ae("DD",we,ye),Ae("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),ze(["D","DD"],Ye),ze("Do",(function(e,t){t[Ye]=ce(e.match(we)[0])}));var Ji=fe("Date",!0);function eo(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}V("DDD",["DDDD",3],"DDDo","dayOfYear"),ne("dayOfYear","DDD"),ae("dayOfYear",4),Ae("DDD",Ce),Ae("DDDD",be),ze(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=ce(e)})),V("m",["mm",2],0,"minute"),ne("minute","m"),ae("minute",14),Ae("m",we),Ae("mm",we,ye),ze(["m","mm"],Ke);var to=fe("Minutes",!1);V("s",["ss",2],0,"second"),ne("second","s"),ae("second",15),Ae("s",we),Ae("ss",we,ye),ze(["s","ss"],Ge);var no,ro,io=fe("Seconds",!1);for(V("S",0,0,(function(){return~~(this.millisecond()/100)})),V(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),V(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),V(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),V(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),V(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),V(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),ne("millisecond","ms"),ae("millisecond",16),Ae("S",Ce,me),Ae("SS",Ce,ye),Ae("SSS",Ce,be),no="SSSS";no.length<=9;no+="S")Ae(no,Ee);function oo(e,t){t[$e]=ce(1e3*("0."+e))}for(no="S";no.length<=9;no+="S")ze(no,oo);function ao(){return this._isUTC?"UTC":""}function so(){return this._isUTC?"Coordinated Universal Time":""}ro=fe("Milliseconds",!1),V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var uo=w.prototype;function lo(e){return $n(1e3*e)}function co(){return $n.apply(null,arguments).parseZone()}function fo(e){return e}uo.add=Ar,uo.calendar=Br,uo.clone=Wr,uo.diff=Xr,uo.endOf=mi,uo.format=ti,uo.from=ni,uo.fromNow=ri,uo.to=ii,uo.toNow=oi,uo.get=pe,uo.invalidAt=Ti,uo.isAfter=Ur,uo.isBefore=Yr,uo.isBetween=qr,uo.isSame=Kr,uo.isSameOrAfter=Gr,uo.isSameOrBefore=$r,uo.isValid=Si,uo.lang=si,uo.locale=ai,uo.localeData=ui,uo.max=Qn,uo.min=Xn,uo.parsingFlags=Ci,uo.set=ge,uo.startOf=vi,uo.subtract=Nr,uo.toArray=xi,uo.toObject=wi,uo.toDate=_i,uo.toISOString=Jr,uo.inspect=ei,"undefined"!==typeof Symbol&&null!=Symbol.for&&(uo[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),uo.toJSON=ki,uo.toString=Zr,uo.unix=bi,uo.valueOf=yi,uo.creationData=Oi,uo.eraName=Pi,uo.eraNarrow=ji,uo.eraAbbr=Ii,uo.eraYear=Ai,uo.year=vt,uo.isLeapYear=mt,uo.weekYear=Ui,uo.isoWeekYear=Yi,uo.quarter=uo.quarters=Zi,uo.month=ct,uo.daysInMonth=ft,uo.week=uo.weeks=Et,uo.isoWeek=uo.isoWeeks=Mt,uo.weeksInYear=Gi,uo.weeksInWeekYear=$i,uo.isoWeeksInYear=qi,uo.isoWeeksInISOWeekYear=Ki,uo.date=Ji,uo.day=uo.days=Ut,uo.weekday=Yt,uo.isoWeekday=qt,uo.dayOfYear=eo,uo.hour=uo.hours=rn,uo.minute=uo.minutes=to,uo.second=uo.seconds=io,uo.millisecond=uo.milliseconds=ro,uo.utcOffset=gr,uo.utc=mr,uo.local=yr,uo.parseZone=br,uo.hasAlignedHourOffset=_r,uo.isDST=xr,uo.isLocal=kr,uo.isUtcOffset=Sr,uo.isUtc=Cr,uo.isUTC=Cr,uo.zoneAbbr=ao,uo.zoneName=so,uo.dates=C("dates accessor is deprecated. Use date instead.",Ji),uo.months=C("months accessor is deprecated. Use month instead",ct),uo.years=C("years accessor is deprecated. Use year instead",vt),uo.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",vr),uo.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",wr);var ho=j.prototype;function po(e,t,n,r){var i=yn(),o=p().set(r,t);return i[n](o,e)}function go(e,t,n){if(c(e)&&(t=e,e=void 0),e=e||"",null!=t)return po(e,t,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=po(e,r,n,"month");return i}function vo(e,t,n,r){"boolean"===typeof e?(c(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,c(t)&&(n=t,t=void 0),t=t||"");var i,o=yn(),a=e?o._week.dow:0,s=[];if(null!=n)return po(t,(n+a)%7,r,"day");for(i=0;i<7;i++)s[i]=po(t,(i+a)%7,r,"day");return s}function mo(e,t){return go(e,t,"months")}function yo(e,t){return go(e,t,"monthsShort")}function bo(e,t,n){return vo(e,t,n,"weekdays")}function _o(e,t,n){return vo(e,t,n,"weekdaysShort")}function xo(e,t,n){return vo(e,t,n,"weekdaysMin")}ho.calendar=A,ho.longDateFormat=q,ho.invalidDate=G,ho.ordinal=Q,ho.preparse=fo,ho.postformat=fo,ho.relativeTime=J,ho.pastFuture=ee,ho.set=D,ho.eras=Ei,ho.erasParse=Mi,ho.erasConvertYear=Di,ho.erasAbbrRegex=Li,ho.erasNameRegex=Ni,ho.erasNarrowRegex=Fi,ho.months=ot,ho.monthsShort=at,ho.monthsParse=ut,ho.monthsRegex=ht,ho.monthsShortRegex=dt,ho.week=St,ho.firstDayOfYear=Ot,ho.firstDayOfWeek=Tt,ho.weekdays=zt,ho.weekdaysMin=Ht,ho.weekdaysShort=Vt,ho.weekdaysParse=Wt,ho.weekdaysRegex=Kt,ho.weekdaysShortRegex=Gt,ho.weekdaysMinRegex=$t,ho.isPM=tn,ho.meridiem=on,gn("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===ce(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),r.lang=C("moment.lang is deprecated. Use moment.locale instead.",gn),r.langData=C("moment.langData is deprecated. Use moment.localeData instead.",yn);var wo=Math.abs;function ko(){var e=this._data;return this._milliseconds=wo(this._milliseconds),this._days=wo(this._days),this._months=wo(this._months),e.milliseconds=wo(e.milliseconds),e.seconds=wo(e.seconds),e.minutes=wo(e.minutes),e.hours=wo(e.hours),e.months=wo(e.months),e.years=wo(e.years),this}function So(e,t,n,r){var i=Er(t,n);return e._milliseconds+=r*i._milliseconds,e._days+=r*i._days,e._months+=r*i._months,e._bubble()}function Co(e,t){return So(this,e,t,1)}function To(e,t){return So(this,e,t,-1)}function Oo(e){return e<0?Math.floor(e):Math.ceil(e)}function Eo(){var e,t,n,r,i,o=this._milliseconds,a=this._days,s=this._months,u=this._data;return o>=0&&a>=0&&s>=0||o<=0&&a<=0&&s<=0||(o+=864e5*Oo(Do(s)+a),a=0,s=0),u.milliseconds=o%1e3,e=le(o/1e3),u.seconds=e%60,t=le(e/60),u.minutes=t%60,n=le(t/60),u.hours=n%24,a+=le(n/24),s+=i=le(Mo(a)),a-=Oo(Do(i)),r=le(s/12),s%=12,u.days=a,u.months=s,u.years=r,this}function Mo(e){return 4800*e/146097}function Do(e){return 146097*e/4800}function Po(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=re(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+Mo(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Do(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}}function jo(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*ce(this._months/12):NaN}function Io(e){return function(){return this.as(e)}}var Ao=Io("ms"),No=Io("s"),Lo=Io("m"),Fo=Io("h"),Ro=Io("d"),zo=Io("w"),Vo=Io("M"),Ho=Io("Q"),Bo=Io("y");function Wo(){return Er(this)}function Uo(e){return e=re(e),this.isValid()?this[e+"s"]():NaN}function Yo(e){return function(){return this.isValid()?this._data[e]:NaN}}var qo=Yo("milliseconds"),Ko=Yo("seconds"),Go=Yo("minutes"),$o=Yo("hours"),Xo=Yo("days"),Qo=Yo("months"),Zo=Yo("years");function Jo(){return le(this.days()/7)}var ea=Math.round,ta={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function na(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function ra(e,t,n,r){var i=Er(e).abs(),o=ea(i.as("s")),a=ea(i.as("m")),s=ea(i.as("h")),u=ea(i.as("d")),l=ea(i.as("M")),c=ea(i.as("w")),f=ea(i.as("y")),d=o<=n.ss&&["s",o]||o0,d[4]=r,na.apply(null,d)}function ia(e){return void 0===e?ea:"function"===typeof e&&(ea=e,!0)}function oa(e,t){return void 0!==ta[e]&&(void 0===t?ta[e]:(ta[e]=t,"s"===e&&(ta.ss=t-1),!0))}function aa(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,r,i=!1,o=ta;return"object"===typeof e&&(t=e,e=!1),"boolean"===typeof e&&(i=e),"object"===typeof t&&(o=Object.assign({},ta,t),null!=t.s&&null==t.ss&&(o.ss=t.s-1)),r=ra(this,!i,o,n=this.localeData()),i&&(r=n.pastFuture(+this,r)),n.postformat(r)}var sa=Math.abs;function ua(e){return(e>0)-(e<0)||+e}function la(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r,i,o,a,s,u=sa(this._milliseconds)/1e3,l=sa(this._days),c=sa(this._months),f=this.asSeconds();return f?(e=le(u/60),t=le(e/60),u%=60,e%=60,n=le(c/12),c%=12,r=u?u.toFixed(3).replace(/\.?0+$/,""):"",i=f<0?"-":"",o=ua(this._months)!==ua(f)?"-":"",a=ua(this._days)!==ua(f)?"-":"",s=ua(this._milliseconds)!==ua(f)?"-":"",i+"P"+(n?o+n+"Y":"")+(c?o+c+"M":"")+(l?a+l+"D":"")+(t||e||u?"T":"")+(t?s+t+"H":"")+(e?s+e+"M":"")+(u?s+r+"S":"")):"P0D"}var ca=ar.prototype;return ca.isValid=ir,ca.abs=ko,ca.add=Co,ca.subtract=To,ca.as=Po,ca.asMilliseconds=Ao,ca.asSeconds=No,ca.asMinutes=Lo,ca.asHours=Fo,ca.asDays=Ro,ca.asWeeks=zo,ca.asMonths=Vo,ca.asQuarters=Ho,ca.asYears=Bo,ca.valueOf=jo,ca._bubble=Eo,ca.clone=Wo,ca.get=Uo,ca.milliseconds=qo,ca.seconds=Ko,ca.minutes=Go,ca.hours=$o,ca.days=Xo,ca.weeks=Jo,ca.months=Qo,ca.years=Zo,ca.humanize=aa,ca.toISOString=la,ca.toString=la,ca.toJSON=la,ca.locale=ai,ca.localeData=ui,ca.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",la),ca.lang=si,V("X",0,0,"unix"),V("x",0,0,"valueOf"),Ae("x",Me),Ae("X",je),ze("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),ze("x",(function(e,t,n){n._d=new Date(ce(e))})),r.version="2.29.3",i($n),r.fn=uo,r.min=Jn,r.max=er,r.now=tr,r.utc=p,r.unix=lo,r.months=mo,r.isDate=f,r.locale=gn,r.invalid=y,r.duration=Er,r.isMoment=k,r.weekdays=bo,r.parseZone=co,r.localeData=yn,r.isDuration=sr,r.monthsShort=yo,r.weekdaysMin=xo,r.defineLocale=vn,r.updateLocale=mn,r.locales=bn,r.weekdaysShort=_o,r.normalizeUnits=re,r.relativeTimeRounding=ia,r.relativeTimeThreshold=oa,r.calendarFormat=Hr,r.prototype=uo,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()},5443:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(i){return!1}}()?Object.assign:function(e,o){for(var a,s,u=i(e),l=1;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t1;if(t&&i&&!r){var o=!1;e.forEach((function(e){e.label||(o=!0)})),o&&console.error('[react-chartjs-2] Warning: Each dataset needs a unique key. By default, the "label" property on each dataset is used. Alternatively, you may provide a "datasetKeyProvider" as a prop that returns a unique key.')}}},{key:"getCurrentDatasets",value:function(){return this.chartInstance&&this.chartInstance.config.data&&this.chartInstance.config.data.datasets||[]}},{key:"saveCurrentDatasets",value:function(){var e=this;this.datasets=this.datasets||{},this.getCurrentDatasets().forEach((function(t){e.datasets[e.props.datasetKeyProvider(t)]=t}))}},{key:"updateChart",value:function(){var e=this,t=this.props.options,n=this.memoizeDataProps(this.props);if(this.chartInstance){t&&(this.chartInstance.options=o.default.helpers.configMerge(this.chartInstance.options,t));var r=this.getCurrentDatasets(),i=n.datasets||[];this.checkDatasets(r);var a=(0,s.default)(r,this.props.datasetKeyProvider);this.chartInstance.config.data.datasets=i.map((function(t){var n=a[e.props.datasetKeyProvider(t)];if(n&&n.type===t.type&&t.data){n.data.splice(t.data.length),t.data.forEach((function(e,r){n.data[r]=t.data[r]}));t.data;var r=f(t,["data"]);return h(h({},n),r)}return t}));n.datasets;var u=f(n,["datasets"]);this.chartInstance.config.data=h(h({},this.chartInstance.config.data),u),this.chartInstance.update()}}},{key:"renderChart",value:function(){var e=this.props,t=e.options,r=e.legend,i=e.type,s=e.plugins,u=this.element,l=this.memoizeDataProps();"undefined"===typeof r||(0,a.default)(n.defaultProps.legend,r)||(t.legend=r),this.chartInstance=new o.default(u,{type:i,data:l,options:t,plugins:s})}},{key:"destroyChart",value:function(){if(this.chartInstance){this.saveCurrentDatasets();var e=Object.values(this.datasets);this.chartInstance.config.data.datasets=e,this.chartInstance.destroy()}}},{key:"render",value:function(){var e=this.props,t=e.height,n=e.width,i=e.id;return r.default.createElement("canvas",{ref:this.ref,height:t,width:n,id:i,onClick:this.handleOnClick})}}]),n}(r.default.Component);k(C,"getLabelAsKey",(function(e){return e.label})),k(C,"propTypes",{data:i.default.oneOfType([i.default.object,i.default.func]).isRequired,getDatasetAtEvent:i.default.func,getElementAtEvent:i.default.func,getElementsAtEvent:i.default.func,height:i.default.number,legend:i.default.object,onElementsClick:i.default.func,options:i.default.object,plugins:i.default.arrayOf(i.default.object),redraw:i.default.bool,type:function(e,t,n){if(!o.default.controllers[e[t]])return new Error("Invalid chart type `"+e[t]+"` supplied to `"+n+"`.")},width:i.default.number,datasetKeyProvider:i.default.func}),k(C,"defaultProps",{legend:{display:!0,position:"bottom"},type:"doughnut",height:150,width:300,redraw:!1,options:{},datasetKeyProvider:C.getLabelAsKey});var T=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"doughnut"}))}}]),n}(r.default.Component);var O=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"pie"}))}}]),n}(r.default.Component);var E=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"line"}))}}]),n}(r.default.Component);var M=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bar"}))}}]),n}(r.default.Component);var D=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"horizontalBar"}))}}]),n}(r.default.Component);var P=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"radar"}))}}]),n}(r.default.Component);var j=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"polarArea"}))}}]),n}(r.default.Component);var I=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bubble"}))}}]),n}(r.default.Component);var A=function(e){m(n,e);var t=b(n);function n(){return p(this,n),t.apply(this,arguments)}return v(n,[{key:"render",value:function(){var e=this;return r.default.createElement(C,l({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"scatter"}))}}]),n}(r.default.Component);t.bp=A,o.default.defaults},9772:function(e,t,n){"use strict";var r=n(9867),i=n(5443),o=n(2882);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n